# onClientPlayerWeaponFire (Cliente)

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

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Evento Lua
- **Lado**: Cliente
- **Categoria**: Peds
- **URL**: https://wiki.mymp.gg/pt/onClientPlayerWeaponFire

## Sintaxe

```lua
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

```lua
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 MTA

Só existe para jogadores: `onClientPedWeaponFire` não existe no MYMP.

## Veja também

- [getPedWeapon (Cliente)](https://wiki.mymp.gg/pt/getPedWeapon-client.md): Lê a arma que um ped ou jogador está segurando, como este cliente a conhece.
- [giveWeapon (Servidor)](https://wiki.mymp.gg/pt/giveWeapon.md): Dá uma arma com munição a um ped ou jogador.
- [onClientObjectDamage (Cliente)](https://wiki.mymp.gg/pt/onClientObjectDamage.md): Disparado neste cliente antes de um objeto levar dano. Cancelar o evento impede o dano.
- [setPedControlState (Cliente)](https://wiki.mymp.gg/pt/setPedControlState.md): Pressiona ou solta um controle de um ped como se fosse uma tecla, por exemplo para fazê-lo andar, pular ou atirar.
