跳至主要内容

MoveObject

Description

Move an object to a new position with a set speed. Players/vehicles will 'surf' the object as it moves.

NameDescription
objectidThe ID of the object to move.
Float:targetXThe X coordinate to move the object to.
Float:targetYThe Y coordinate to move the object to.
Float:targetZThe Z coordinate to move the object to.
Float:speedThe speed at which to move the object (units per second).
Float:rotationXThe FINAL X rotation (optional).
Float:rotationYThe FINAL Y rotation (optional).
Float:rotationZThe FINAL Z rotation (optional).

Returns

The time it will take for the object to move in milliseconds.

Examples

new gAirportGate; // Somewhere at the top of your 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;
}

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.