onClientPlayerWeaponFire
ClienteEvento
Se dispara en este cliente después de que un jugador haga un disparo, sea el jugador local u otro que este cliente ve.
addEventHandler("onClientPlayerWeaponFire", root, function(int weapon, int ammo, int ammoInClip, float hitX, hitY, hitZ, element|nil hitElement, float startX, startY, startZ) … end)
Parámetros del handler
| Nombre | Tipo | Descripción |
|---|---|---|
| weapon | int | El tipo del arma, como 22 para PISTOL. |
| ammo | int | La munición total que quedó después del disparo. |
| ammoInClip | int | La munición que quedó en el cargador después del disparo. |
| hitX, hitY, hitZ | float | Donde impactó el disparo o, si no impactó en nada, el final del alcance del arma. En una escopeta, el primer perdigón. |
| hitElement | element|nil | El elemento impactado, o nil si el disparo no impactó en ningún elemento (el mundo del juego no es un elemento). |
| startX, startY, startZ | float | De dónde salió el disparo. |
Source
El jugador que disparó.
Vale solo para armas de impacto directo: las armas cuerpo a cuerpo, los proyectiles (como las granadas), el lanzallamas, el aerosol y la cámara no disparan este evento. No se puede cancelar, porque el disparo ya ocurrió.
El evento llega después de la simulación del fotograma, así que el handler puede cambiar con seguridad el ped que disparó, incluso con killPedTask. El disparo de otro jugador se repite en este cliente, así que hitX, hitY, hitZ y hitElement dicen qué impactó en el mundo que ve este cliente, y puede diferir de lo que vio el tirador.
Ejemplo
addEventHandler("onClientPlayerWeaponFire", localPlayer, function(weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement)
if hitElement and getElementType(hitElement) == "object" then
print(weapon, ammoInClip, getElementHealth(hitElement))
end
end)Si vienes de MTASolo existe para jugadores: MYMP no tiene
onClientPedWeaponFire.