aka Blue Posted July 21, 2016 Share 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 Link to comment
aka Blue Posted July 22, 2016 Author Share 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 ) Link to comment
Tomas Posted July 22, 2016 Share 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 ) Link to comment
aka Blue Posted July 22, 2016 Author Share 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. Link to comment
Tomas Posted July 22, 2016 Share 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) Link to comment
aka Blue Posted July 22, 2016 Author Share Posted July 22, 2016 Me he liado un poco. Entonces, lo que hago es el onClientPlayerWeaponFire y luego, ¿ onClientPlayerWeaponSwitch? Link to comment
EstrategiaGTA Posted July 22, 2016 Share 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... Link to comment
aka Blue Posted July 22, 2016 Author Share 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. Link to comment
EstrategiaGTA Posted July 22, 2016 Share 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. Link to comment
Recommended Posts