MoveObject: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 5: | Line 5: | ||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
bool moveObject ( object theObject, int time, float targetx, float targety, float targetz, [ float moverx, float movery, float moverz | bool moveObject ( object theObject, int time, float targetx, float targety, float targetz, [ float moverx, float movery, float moverz, string strEasingType, float fEasingPeriod, float fEasingAmplitude, float fEasingOvershoot ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 19: | Line 19: | ||
* '''movery:''' The rotation along the Y axis '''relative''' to its current rotation, which is its starting angle. | * '''movery:''' The rotation along the Y axis '''relative''' to its current rotation, which is its starting angle. | ||
* '''moverz:''' The rotation along the Z axis '''relative''' to its current rotation, which is its starting angle. | * '''moverz:''' The rotation along the Z axis '''relative''' to its current rotation, which is its starting angle. | ||
{{New feature|33.0110|1.1| | |||
*'''strEasingType:''' the [[Easing|easing function]] to use for the interpolation | |||
*'''fEasingPeriod:''' the period of the [[Easing|easing function]] (only some easing functions use this parameter) | |||
*'''fEasingAmplitude:''' the amplitude of the [[Easing|easing function]] (only some easing functions use this parameter) | |||
*'''fEasingOvershoot:''' the overshoot of the [[Easing|easing function]] (only some easing functions use this parameter) | |||
}} | |||
===Returns=== | ===Returns=== |
Revision as of 10:21, 17 December 2010
This function will smoothly move an object from its current position to a specified rotation and position.
Syntax
bool moveObject ( object theObject, int time, float targetx, float targety, float targetz, [ float moverx, float movery, float moverz, string strEasingType, float fEasingPeriod, float fEasingAmplitude, float fEasingOvershoot )
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 rotation along the X axis relative to its current rotation, which is its starting angle.
- movery: The rotation along the Y axis relative to its current rotation, which is its starting angle.
- moverz: The rotation along the Z axis relative to its current rotation, which is its starting angle.
Returns
Returns true if the function moved the object succesfully, and returns false otherwise.
Example
Click to collapse [-]
ServerExample 1: This example moves every object in the game up 100 units in ten seconds.
allObjects = getElementsByType ( "object" ) for key, theObject in ipairs ( allObjects ) do local origX, origY, origZ = getElementPosition ( theObject ) --get the origanal position local newZ = origZ + 100 -- make a new z position moveObject ( theObject, 10000, origX, origY, newZ ) --move the object to this position in 10 seconds. end
Click to collapse [-]
ServerExample 2: 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