# moveObject (Compartilhado)

> Move um objeto suavemente até uma posição, girando-o no caminho.

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

## Sintaxe

```lua
bool moveObject(element object, int time, float x, y, z [, float rx, ry, rz = 0, 0, 0, string easingType = "Linear", float easingPeriod = 0.3, float easingAmplitude = 1, float easingOvershoot = 1.70158])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `object` | `element` | O objeto. Pode ser também um elemento pai: todos os objetos abaixo dele se movem. |
| `time` | `int` | A duração em milissegundos. Com 0 ou menos, o objeto vai direto ao destino. |
| `x, y, z` | `float` | A posição de destino. Também aceita um `vec3`. |
| `rx, ry, rz` | `float` | Quanto girar durante o movimento, em graus, somado à rotação atual. Também aceita um `vec3`. *(padrão: `0, 0, 0`)* |
| `easingType` | `string` | A curva de easing, como `"Linear"`, `"InOutQuad"`, `"OutBounce"` ou `"SineCurve"`. *(padrão: `"Linear"`)* |
| `easingPeriod` | `float` | O período das curvas elásticas. *(padrão: `0.3`)* |
| `easingAmplitude` | `float` | A amplitude das curvas elásticas e de quique. *(padrão: `1`)* |
| `easingOvershoot` | `float` | Quanto as curvas `Back` passam do alvo. *(padrão: `1.70158`)* |

## Retorno

`true` se o elemento passado é um objeto.

No servidor, o movimento vai para todos os clientes. Um novo `moveObject` substitui o movimento em andamento.

## Exemplo

```lua
local gate = createObject("electricgate", 2500.0, -1680.0, 13.0)

addCommandHandler("opengate", function()
    moveObject(gate, 3000, 2500.0, -1680.0, 7.0, 0, 0, 0, "InOutQuad")
end)
```

## Veja também

- [stopObject (Compartilhado)](https://wiki.mymp.gg/pt/stopObject.md): Para o movimento de um objeto onde ele estiver.
- [onClientObjectMoveStart (Cliente)](https://wiki.mymp.gg/pt/onClientObjectMoveStart.md): Disparado neste cliente quando um objeto começa um movimento de moveObject, criado por este cliente ou vindo do servidor.
- [onClientObjectMoveStop (Cliente)](https://wiki.mymp.gg/pt/onClientObjectMoveStop.md): Disparado neste cliente quando o movimento de um objeto termina: ele chegou, stopObject o parou ou um novo moveObject tomou o lugar.
- [getEasingValue (Compartilhado)](https://wiki.mymp.gg/pt/getEasingValue.md): Calcula o valor de uma curva de easing num ponto do progresso.
