# attachElements (Compartilhado)

> Pendura um elemento em outro. A partir daí ele segue o alvo até ser solto.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Função Lua
- **Lado**: Compartilhado
- **Categoria**: Anexos
- **URL**: https://wiki.mymp.gg/pt/attachElements

## Sintaxe

```lua
bool attachElements(element element, element target [, float x, y, z = 0, 0, 0, float rx, ry, rz = 0, 0, 0, string|int socket = nil])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `element` | `element` | O elemento que vai ser anexado. |
| `target` | `element` | O elemento em que ele fica pendurado. |
| `x, y, z` | `float` | Deslocamento em relação ao alvo. *(padrão: `0, 0, 0`)* |
| `rx, ry, rz` | `float` | Rotação em relação ao alvo. *(padrão: `0, 0, 0`)* |
| `socket` | `string\|int` | Onde prender no alvo: o osso de um ped (o id do MTA ou o nome no rig) ou o componente ou frame de um veículo ou objeto. Um número só vale para peds, jogadores e objetos. Sem socket, o elemento segue a raiz do alvo. *(padrão: `nil`)* |

## Retorno

`true` se anexou. `false` quando um dos dois não pode ser anexado, quando formaria um ciclo, quando estão em dimensões diferentes, quando o alvo não tem o socket pedido ou quando `onElementAttach` foi cancelado.

Podem ser anexados jogadores, peds, veículos, objetos, sons, efeitos e luzes do cliente. Anexar a outro alvo solta o elemento do alvo atual. Quando o alvo é destruído, o elemento é solto onde está.

## Exemplo

```lua
local vehicle = createVehicle("infernus", 1544.0, -1675.0, 13.6)
local ped = createPed("male01", 1544.0, -1675.0, 15.0)
attachElements(ped, vehicle, 0, 0, 1.2)
```

### Vindo do MTA

Funciona como no MTA, com o socket como argumento a mais.

## Veja também

- [detachElements (Compartilhado)](https://wiki.mymp.gg/pt/detachElements.md): Solta um elemento do elemento em que está anexado. Ele fica onde está.
- [setElementAttachedOffsets (Compartilhado)](https://wiki.mymp.gg/pt/setElementAttachedOffsets.md): Muda o deslocamento, a rotação e, se pedido, o socket de um elemento anexado.
- [getAttachedElements (Compartilhado)](https://wiki.mymp.gg/pt/getAttachedElements.md): Lista os elementos anexados diretamente a um elemento.
- [onElementAttach (Servidor)](https://wiki.mymp.gg/pt/onElementAttach.md): Disparado quando o servidor chama attachElements, antes de o elemento ser anexado. Cancelar o evento impede o anexo e faz attachElements devolver false.
