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
| Nome | Tipo | Descrição |
|---|---|---|
| weapon | int | O tipo da arma, como 22 para PISTOL. |
| ammo | int | A munição total que restou depois do tiro. |
| ammoInClip | int | A munição que restou no pente depois do tiro. |
| hitX, hitY, hitZ | float | Onde o tiro acertou ou, se não acertou nada, o fim do alcance da arma. De uma espingarda, o primeiro chumbo. |
| hitElement | element|nil | O elemento atingido, ou nil se o tiro não acertou nenhum elemento (o mundo do jogo não é um elemento). |
| startX, startY, startZ | float | De 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.