# setElementComponentPosition (Cliente)

> Move um componente de um veículo ou objeto. A mudança vale só neste cliente.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Função Lua
- **Lado**: Cliente
- **Categoria**: Componentes e ossos
- **URL**: https://wiki.mymp.gg/pt/setElementComponentPosition

## Sintaxe

```lua
bool setElementComponentPosition(vehicle|object element, string component, float x, y, z [, string base = "root"])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `element` | `vehicle\|object` | O veículo ou objeto. |
| `component` | `string` | Nome do componente, como `getElementComponents` lista. |
| `x, y, z` | `float` | Nova posição, em três números ou um `vec3`. |
| `base` | `string` | Em relação a quê: `"world"` (o mundo), `"root"` (o próprio elemento) ou `"parent"` (o frame pai do componente). Maiúsculas não importam. *(padrão: `"root"`)* |

## Retorno

`true` se moveu, `false` se o componente não existe.

A posição fica guardada enquanto o elemento existe, e volta quando ele entra de novo no alcance de streaming. O que estiver anexado ao componente o acompanha.

## Exemplo

```lua
local vehicle = getPedOccupiedVehicle(localPlayer)
if vehicle then
    local x, y, z = getElementComponentPosition(vehicle, "bonnet_dummy")
    setElementComponentPosition(vehicle, "bonnet_dummy", x, y, z + 0.3)
end
```

### Vindo do MTA

Equivale ao `setVehicleComponentPosition` do MTA, mas também funciona com objetos.

## Veja também

- [getElementComponentPosition (Cliente)](https://wiki.mymp.gg/pt/getElementComponentPosition.md): Devolve a posição de um componente de um veículo ou objeto.
- [resetElementComponentPosition (Cliente)](https://wiki.mymp.gg/pt/resetElementComponentPosition.md): Devolve um componente de um veículo ou objeto à posição original do modelo, desfazendo setElementComponentPosition.
- [setElementComponentRotation (Cliente)](https://wiki.mymp.gg/pt/setElementComponentRotation.md): Gira um componente de um veículo ou objeto. A mudança vale só neste cliente.
