(objectid, Float:X, Float:Y, Float:Z, Float:Speed, Float:RotX = -1000.0, Float:RotY = -1000.0, Float:RotZ = -1000.0)
objectid
The ID of the object to move.
Float:X
The X coordinate to move the object to.
Float:Y
The Y coordinate to move the object to.
Float:Z
The Z coordinate to move the object to.
Float:Speed
The speed at which to move the object (units per second).
Float:RotX
The FINAL X rotation (optional).
Float:RotY
The FINAL Y rotation (optional).
Float:RotZ
The FINAL Z rotation (optional).
Important Notes:
- This function can be used to make objects rotate smoothly. In order to achieve this however, the object must also be moved. The specified rotation is the rotation the object will have after the movement. Hence the object will not rotate when no movement is applied. For a script example take a look at the ferriswheel.pwn filterscript made by Kye included in the server package (SA-MP 0.3d and above).
- To fully understand the above note, you can (but not limited to) increase the z position by (+0.001) and then (-0.001) after moving it again, as not changing the X,Y or Z will not rotate the object.
new obj; // Somewhere at the top of your script
public OnGameModeInit()
{
obj = 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[50];
new movetime = MoveObject(obj, 0, 0, 10, 2.00);
format(string, sizeof(string), "Object will finish moving in %d milliseconds", movetime);
SendClientMessage(playerid, 0xFF000000, string);
return 1;
}
return 0;
}
The following callbacks might be useful, as they're related to this function in one way or another.