M MY Multiplayer: Wiki
Lado
Tipo

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

NombreTipoDescripción
weaponintEl tipo del arma, como 22 para PISTOL.
ammointLa munición total que quedó después del disparo.
ammoInClipintLa munición que quedó en el cargador después del disparo.
hitX, hitY, hitZfloatDonde impactó el disparo o, si no impactó en nada, el final del alcance del arma. En una escopeta, el primer perdigón.
hitElementelement|nilEl elemento impactado, o nil si el disparo no impactó en ningún elemento (el mundo del juego no es un elemento).
startX, startY, startZfloatDe 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.

Ver también