aka Blue Posted July 21, 2016 Posted July 21, 2016 Como bien dice el título, estoy buscando un evento o algo parecido para que cuando el arma tenga 1 de munición no pueda disparar, ya que quiero hacer un pequeño script de cargadores. Gracias de antemano
aka Blue Posted July 22, 2016 Author Posted July 22, 2016 He intentado con esto pero nada local armas_restringidas = { [0] = true, [1] = true, [2] = true, [3] = true, [4] = true, [5] = true, [6] = true, [7] = true, [8] = true, [9] = true, [16] = true, [17] = true, [18] = true, [44] = true, [45] = true, [41] = true, } function onClientPlayerWeaponFireFunc(weapon, ammo, ammoInClip, _, _, _, _ ) if not armas_restringidas[ weapon ] then outputChatBox ( "HAS DISPARAO" ) if ammo == 1 then cancelEvent( ) end end end addEventHandler ( "onClientPlayerWeaponFire", getLocalPlayer(), onClientPlayerWeaponFireFunc )
Tomas Posted July 22, 2016 Posted July 22, 2016 He intentado con esto pero nada local armas_restringidas = { [0] = true, [1] = true, [2] = true, [3] = true, [4] = true, [5] = true, [6] = true, [7] = true, [8] = true, [9] = true, [16] = true, [17] = true, [18] = true, [44] = true, [45] = true, [41] = true, } function onClientPlayerWeaponFireFunc(weapon, ammo, ammoInClip, _, _, _, _ ) if not armas_restringidas[ weapon ] then outputChatBox ( "HAS DISPARAO" ) if ammo == 1 then cancelEvent( ) end end end addEventHandler ( "onClientPlayerWeaponFire", getLocalPlayer(), onClientPlayerWeaponFireFunc ) local armas_restringidas = { [0] = true, [1] = true, [2] = true, [3] = true, [4] = true, [5] = true, [6] = true, [7] = true, [8] = true, [9] = true, [16] = true, [17] = true, [18] = true, [44] = true, [45] = true, [41] = true, } function onClientPlayerWeaponFireFunc(weapon, ammo, ammoInClip, _, _, _, _ ) if not armas_restringidas[ weapon ] then outputChatBox ( "HAS DISPARAO" ) if ammo == 2 then toggleControl("fire", false) end end end addEventHandler ( "onClientPlayerWeaponFire", getLocalPlayer(), onClientPlayerWeaponFireFunc )
aka Blue Posted July 22, 2016 Author Posted July 22, 2016 Gracias @Tomas, pero tengo un problema ahí. Cuando me quedo sin munición por ejemplo, si tengo más en la recámara no me deja disparar tampoco.
Tomas Posted July 22, 2016 Posted July 22, 2016 Gracias @Tomas, pero tengo un problema ahí. Cuando me quedo sin munición por ejemplo, si tengo más en la recámara no me deja disparar tampoco. Qué es la recámara? Si te refieres a que luego no puedes disparar; onClientPlayerWeaponSwitch: si su ammo es mayor a 1 toggleControl("fire", true)
aka Blue Posted July 22, 2016 Author Posted July 22, 2016 Me he liado un poco. Entonces, lo que hago es el onClientPlayerWeaponFire y luego, ¿ onClientPlayerWeaponSwitch?
EstrategiaGTA Posted July 22, 2016 Posted July 22, 2016 addEventHandler("onClientPlayerWeaponSwitch", root, function(antiguoSlot,nuevoSlot) local nueva_arma = getPedWeapon(getLocalPlayer(), nuevoSlot) if getPedTotalAmmo (getLocalPlayer(), nueva_arma) ~= 1 then toggleControl ("fire", true) else --aquí ya pon tú si quieres que cambie el arma, si no lo quieres (cancela el evento). Acuérdate de ponerle el control "fire" en false si al final te decantas porque sí pueda cambiar a ese arma. end end ) Disculpa si pueda ir algo mal, es que estoy en el móvil...
aka Blue Posted July 22, 2016 Author Posted July 22, 2016 Lo que quiero hacer exactamente es que el arma a quedar a 1 bala, pues te deje tenerla pero no disparar en ningún momento, así hacer algún tipo de comando para comprar balas y tal. Estoy intentando hacer un "minijuego" y me vendría bien ésto.
EstrategiaGTA Posted July 22, 2016 Posted July 22, 2016 addEventHandler("onClientPlayerWeaponSwitch", root, function(antiguoSlot,nuevoSlot) local nueva_arma = getPedWeapon(getLocalPlayer(), nuevoSlot) if getPedTotalAmmo (getLocalPlayer(), nueva_arma) ~= 1 then toggleControl ("fire", true) else toggleControl ("fire", false) end end ) El código debería funcionar... Pruébalo.
Recommended Posts