MoveObject: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(changed rotation args)
Line 7: Line 7:
==Syntax==
==Syntax==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
bool moveObject ( object theObject, int time, float targetx, float targety, float targetz, [ float targetrx, float targetry, float targetrz ] )
bool moveObject ( object theObject, int time, float targetx, float targety, float targetz, [ float moverx, float movery, float moverz ] )
</syntaxhighlight>
</syntaxhighlight>


Line 18: Line 18:


===Optional Arguments===
===Optional Arguments===
* '''targetrx:''' The X value of the target rotation
* '''moverx:''' The X value of the rotation '''relative''' to its current rotation, which will be added on.
* '''targetry:''' The Y value of the target rotation
* '''movery:''' The Y value of the '''relative''' to its current rotation, which will be added on.
* '''targetrz:''' The Z value of the target rotation
* '''moverz:''' The Z value of the '''relative''' to its current rotation, which will be added on.
 
Relative rotation arguments allow for an object to spin multiple times within a single move.


===Returns===
===Returns===

Revision as of 01:42, 17 August 2007

This function will smoothly move an object from its current position/rotation to the given target position/rotation in the given time. If the function fails for some reason, it will return false.

The rotation arguments seem to be added to the current rotation, instead of using it as target rotation.

Syntax

bool moveObject ( object theObject, int time, float targetx, float targety, float targetz, [ float moverx, float movery, float moverz ] )

Required Arguments

  • theObject: The object that will be moved.
  • time: The time in milliseconds the object will arrive at the destination.
  • targetx: The X value of the target position
  • targety: The Y value of the target position
  • targetz: The Z value of the target position

Optional Arguments

  • moverx: The X value of the rotation relative to its current rotation, which will be added on.
  • movery: The Y value of the relative to its current rotation, which will be added on.
  • moverz: The Z value of the relative to its current rotation, which will be added on.

Relative rotation arguments allow for an object to spin multiple times within a single move.

Returns

Returns true if the function moved the object succesfully, and returns false otherwise.

Example

This example created a model (of a bed) near a player called someguy, if they exist in the game. It will then move the model towards the player over 3 seconds.

-- Find a player called 'someguy'
someGuy = getPlayerFromNick ( "someguy" )
-- If a player called someguy was found then
if ( someGuy ) then
	-- Get the player's position
	x, y, z = getElementPosition ( someGuy )
	-- Create a bed (1700) object near to the player
	bed = createObject ( 1700, x + 5, y, z )
	-- Move the bed towards the player over 3 seconds (3000 milliseconds)
	moveObject ( bed, 3000, x, y, z )
	-- Tell the player in the chat box
	outputChatBox ( "Moving a bed towards you!", someGuy )
else
	-- Tell everyone that a player called 'someguy' could not be found
	outputChatBox ( "Player someguy doesn't exist" )
end

See Also