# onClientPlayerWeaponFire (Cliente)

> Se dispara en este cliente después de que un jugador haga un disparo, sea el jugador local u otro que este cliente ve.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Evento Lua
- **Lado**: Cliente
- **Categoría**: Peds
- **URL**: https://wiki.mymp.gg/es/onClientPlayerWeaponFire

## Sintaxis

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

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

### Si vienes de MTA

Solo existe para jugadores: MYMP no tiene `onClientPedWeaponFire`.

## Ver también

- [getPedWeapon (Cliente)](https://wiki.mymp.gg/es/getPedWeapon-client.md): Obtiene el arma que sostiene un ped o jugador, tal como la conoce este cliente.
- [giveWeapon (Servidor)](https://wiki.mymp.gg/es/giveWeapon.md): Da un arma con munición a un ped o jugador.
- [onClientObjectDamage (Cliente)](https://wiki.mymp.gg/es/onClientObjectDamage.md): Se dispara en este cliente antes de que un objeto reciba daño. Cancelar el evento impide el daño.
- [setPedControlState (Cliente)](https://wiki.mymp.gg/es/setPedControlState.md): Pulsa o suelta un control de un ped como si fuera una tecla, por ejemplo para que camine, salte o dispare.
