# onClientObjectDamage (Cliente)

> Disparado neste cliente antes de um objeto levar dano. Cancelar o evento impede o dano.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Evento Lua
- **Lado**: Cliente
- **Categoria**: Objetos
- **Cancelável**: `cancelEvent`
- **URL**: https://wiki.mymp.gg/pt/onClientObjectDamage

## Sintaxe

```lua
addEventHandler("onClientObjectDamage", root, function(float loss, element|nil attacker) ... end)
```

## Parâmetros do handler

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `loss` | `float` | A vida que o objeto vai perder, já multiplicada pelo `colDamageMult` do modelo. Pode ser maior que a vida que ele tem. |
| `attacker` | `element\|nil` | O jogador, ped, veículo ou objeto que causou o dano, ou `nil` se não houver um (como em `breakObject`). |

## Source

O objeto que vai levar o dano.

Só objetos criados por scripts têm este evento: objetos do próprio mapa não são elementos. Qualquer dano conta, seja tiro, batida, explosão ou `breakObject`.

Cada cliente calcula o dano por conta própria, então cancelar vale só neste cliente. Dentro do handler, `breakObject` num objeto que `breakObject` já está quebrando devolve `false`, e destruir o objeto com `destroyElement` é seguro.

## Exemplo

```lua
addEventHandler("onClientObjectDamage", root, function(loss, attacker)
    if attacker == localPlayer then
        cancelEvent()
    end
end)
```

## Veja também

- [breakObject (Compartilhado)](https://wiki.mymp.gg/pt/breakObject.md): Quebra um objeto quebrável na hora.
- [getElementHealth (Compartilhado)](https://wiki.mymp.gg/pt/getElementHealth.md): Lê a vida de um jogador, ped, veículo ou objeto.
- [onClientPlayerWeaponFire (Cliente)](https://wiki.mymp.gg/pt/onClientPlayerWeaponFire.md): Disparado neste cliente depois que um jogador dá um tiro, seja o jogador local ou outro que este cliente vê.
- [createObject (Cliente)](https://wiki.mymp.gg/pt/createObject-client.md): Cria um objeto que existe só neste cliente.
