Pular para o conteúdo principal

MoveObject

Descrição

Mova um objeto para uma nova posição com uma velocidade definida. Jogadores/veículos irão ‘surfar’ no objeto enquanto ele se move.

NomeDescrição
objectidO ID do objeto a ser movido.
Float:targetXA coordenada X para a qual mover o objeto.
Float:targetYA coordenada Y para a qual mover o objeto.
Float:targetZA coordenada Z para a qual mover o objeto.
Float:speedA velocidade na qual mover o objeto (unidades por segundo).
Float:rotationXA rotação FINAL X (opcional).
Float:rotationYA rotação FINAL Y (opcional).
Float:rotationZA rotação FINAL Z (opcional).

Retornos

O tempo que o objeto levará para se mover em milissegundos.

Exemplos

new gAirportGate; // Em algum lugar no topo do seu script

public OnGameModeInit()
{
gAirportGate = CreateObject(980, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/moveobject", true) == 0)
{
new
string[64],
moveTime = MoveObject(gAirportGate, 0.0, 0.0, 10.0, 2.00);

format(string, sizeof(string), "Object will finish moving in %d milliseconds", moveTime);
SendClientMessage(playerid, 0xFF0000FF, string);
return 1;
}
return 0;
}

Notas

aviso
  • Esta função pode ser usada para fazer objetos girarem suavemente. Para conseguir isso, entretanto, o objeto também deve ser movido. A rotação especificada é a rotação que o objeto terá após o movimento. Conseqüentemente, o objeto não girará quando nenhum movimento for aplicado. Para obter um exemplo de script, dê uma olhada no filterscript ferriswheel.pwn feito por Kye incluído no pacote do servidor (SA-MP 0.3d e superior).
  • Para entender completamente a nota acima, você pode (mas não se limitando a) aumentar a posição z em (+0,001) e depois (-0,001) após movê-la novamente, pois não alterar X, Y ou Z não girará o objeto.

Funções Relacionadas