StopObject: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 25: | Line 25: | ||
==Example== | ==Example== | ||
<!-- Explain what the example is in a single sentance --> | <!-- Explain what the example is in a single sentance --> | ||
This | This will allow you to toggle the random movement of a staircase object model and stop it immediately with the stopObject command. | ||
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --> | <!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
--This | addCommandHandler ( "toggleobjectmove", "objectMoveControl" ) | ||
function objectMoveControl ( player, commandName, state ) | |||
-- | --This command handler activate on text "toggleobjectmove" in | ||
--the console. It also asks that the player define the varible | |||
--'state' after the commandname | |||
if state == "on" then | |||
outputChatBox ( "Moving object randomly" ) | |||
mytimer = setTimer ( "randomObjectMovement", 2250, 0 ) | |||
--if player type "on" for state, then we turn on the timer that | |||
--triggers the function randomObjectMovement. It triggers the | |||
--function every 2 1/4 seconds for an infinite amount of times, | |||
--since times is defined as 0. | |||
elseif state == "off" then | |||
outputChatBox ( "Stopping object movement" ) | |||
killTimer ( mytimer ) | |||
stopObject ( myobject ) | |||
--If player typed "off" for state, then stop the object movement | |||
--immediately and kill the random object movement timer, which | |||
--triggers the randomObjectMovement function | |||
else | |||
outputChatBox ( "must define object state as 'on' or 'off'" ) | |||
--If player said something besides "on" or "off" for state, do nothing | |||
end | |||
end | |||
function randomObjectMovement () | |||
curx, cury, curz = getElementPosition ( myobject ) | |||
--Get the xyz position of myobject | |||
xmath = randInt(1,2) | |||
if xmath == 1 then | |||
newx = curx + randInt(1,3) | |||
else | |||
newx = curx - randInt(1,3) | |||
end | |||
ymath = randInt(1,2) | |||
if ymath == 1 then | |||
newy = cury + randInt(1,3) | |||
else | |||
newy = cury - randInt(1,3) | |||
end | |||
zmath = randInt(1,2) | |||
if zmath == 1 then | |||
newz = curz + randInt(1,3) | |||
else | |||
newz = curz - randInt(1,3) | |||
end | |||
--Decide randomly whether to add or subtract from the coordinates, | |||
--and randomly add or subtract 1, 2, or 3 | |||
moveObject ( myobject, 2000, newx, newy, newz ) | |||
--Tell the object to move to our new coordinates in 2 seconds time | |||
end | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==See Also== | ==See Also== | ||
<!-- Change FunctionArea to the area that this function is in on the main function list page, e.g. Server, Player, Vehicle etc --> | <!-- Change FunctionArea to the area that this function is in on the main function list page, e.g. Server, Player, Vehicle etc --> | ||
{{ | {{Object_functions}} | ||
[[Category:Incomplete]] -- leave this unless you complete the function | [[Category:Incomplete]] -- leave this unless you complete the function | ||
Revision as of 01:50, 12 April 2007
This fake function is for use with blah & blah and does blahblahblabhalbhl
Syntax
bool stopObject ( element theelement )
Required Arguments
- argumentName: description
Optional Arguments
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- argumentName2: description
- argumentName3: description
Returns
Returns true if blah, false otherwise.
Example
This will allow you to toggle the random movement of a staircase object model and stop it immediately with the stopObject command.
addCommandHandler ( "toggleobjectmove", "objectMoveControl" )
function objectMoveControl ( player, commandName, state )
--This command handler activate on text "toggleobjectmove" in
--the console. It also asks that the player define the varible
--'state' after the commandname
if state == "on" then
outputChatBox ( "Moving object randomly" )
mytimer = setTimer ( "randomObjectMovement", 2250, 0 )
--if player type "on" for state, then we turn on the timer that
--triggers the function randomObjectMovement. It triggers the
--function every 2 1/4 seconds for an infinite amount of times,
--since times is defined as 0.
elseif state == "off" then
outputChatBox ( "Stopping object movement" )
killTimer ( mytimer )
stopObject ( myobject )
--If player typed "off" for state, then stop the object movement
--immediately and kill the random object movement timer, which
--triggers the randomObjectMovement function
else
outputChatBox ( "must define object state as 'on' or 'off'" )
--If player said something besides "on" or "off" for state, do nothing
end
end
function randomObjectMovement ()
curx, cury, curz = getElementPosition ( myobject )
--Get the xyz position of myobject
xmath = randInt(1,2)
if xmath == 1 then
newx = curx + randInt(1,3)
else
newx = curx - randInt(1,3)
end
ymath = randInt(1,2)
if ymath == 1 then
newy = cury + randInt(1,3)
else
newy = cury - randInt(1,3)
end
zmath = randInt(1,2)
if zmath == 1 then
newz = curz + randInt(1,3)
else
newz = curz - randInt(1,3)
end
--Decide randomly whether to add or subtract from the coordinates,
--and randomly add or subtract 1, 2, or 3
moveObject ( myobject, 2000, newx, newy, newz )
--Tell the object to move to our new coordinates in 2 seconds time
end
See Also
-- leave this unless you complete the function