# onClientElementAttach (Cliente)

> Disparado quando um script do cliente chama `attachElements`, antes de o elemento ser anexado. Cancelar o evento impede o anexo e faz `attachElements` devolver `false`.

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

## Sintaxe

```lua
addEventHandler("onClientElementAttach", root, function(element attachedTo, float x, y, z, float rx, ry, rz) ... end)
```

## Parâmetros do handler

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `attachedTo` | `element` | O elemento em que ele vai ficar pendurado. |
| `x, y, z` | `float` | Deslocamento pedido em relação ao alvo. |
| `rx, ry, rz` | `float` | Rotação pedida em relação ao alvo. |

## Source

O elemento que vai ser anexado.

Os anexos feitos pelo servidor não disparam este evento no cliente.

## Exemplo

```lua
addEventHandler("onClientElementAttach", root, function(attachedTo)
    if getElementType(source) == "light" and getElementType(attachedTo) == "ped" then
        cancelEvent()
    end
end)
```

## Veja também

- [attachElements (Compartilhado)](https://wiki.mymp.gg/pt/attachElements.md): Pendura um elemento em outro. A partir daí ele segue o alvo até ser solto.
- [onClientElementDetach (Cliente)](https://wiki.mymp.gg/pt/onClientElementDetach.md): Disparado antes de um elemento ser solto por um script do cliente, por detachElements ou por attachElements levando-o para outro alvo. Cancelar o evento mantém o elemento anexado.
- [getElementAttachedOffsets (Compartilhado)](https://wiki.mymp.gg/pt/getElementAttachedOffsets.md): Lê o deslocamento, a rotação e o socket com que um elemento está anexado.
