M MY Multiplayer: Wiki
Lado
Tipo

onClientPlayerWeaponFire

ClienteEvento

Disparado neste cliente depois que um jogador dá um tiro, seja o jogador local ou outro que este cliente vê.

addEventHandler("onClientPlayerWeaponFire", root, function(int weapon, int ammo, int ammoInClip, float hitX, hitY, hitZ, element|nil hitElement, float startX, startY, startZ) … end)

Parâmetros do handler

NomeTipoDescrição
weaponintO tipo da arma, como 22 para PISTOL.
ammointA munição total que restou depois do tiro.
ammoInClipintA munição que restou no pente depois do tiro.
hitX, hitY, hitZfloatOnde o tiro acertou ou, se não acertou nada, o fim do alcance da arma. De uma espingarda, o primeiro chumbo.
hitElementelement|nilO elemento atingido, ou nil se o tiro não acertou nenhum elemento (o mundo do jogo não é um elemento).
startX, startY, startZfloatDe onde o tiro saiu.

Source

O jogador que atirou.

Vale só para armas de tiro direto: armas brancas, projéteis (como granadas), lança-chamas, spray e câmera não disparam este evento. Ele não pode ser cancelado, porque o tiro já aconteceu.

O evento chega depois da simulação do quadro, então o handler pode mexer no ped que atirou com segurança, inclusive com killPedTask. O tiro de outro jogador é refeito neste cliente, então hitX, hitY, hitZ e hitElement dizem o que ele acertou no mundo que este cliente vê, e podem diferir do que o atirador viu.

Exemplo

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)
Vindo do MTASó existe para jogadores: onClientPedWeaponFire não existe no MYMP.

Veja também