GetElementVelocity: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
 
(13 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{Server client function}}
__NOTOC__
__NOTOC__
==Description==
This function returns three floats containing the velocity (movement speeds) along the X, Y, and Z axis respectively. This means that velocity values can be positive and negative for each axis.  
This function returns three floats containing the velocity (movement speeds) along the X, Y, and Z axis respectively. This function can fail if the element is a player in a car. Use the vehicle element in this case. If this function does fail, the first argument will be set to 'false'


==Syntax==
==Syntax==
<syntaxhighlight lang="lua">float float float getElementVelocity ( element theElement )</syntaxhighlight>
<syntaxhighlight lang="lua">float float float getElementVelocity ( element theElement )</syntaxhighlight>
{{OOP||[[element]]:getVelocity|velocity|setElementVelocity|}}


===Required Arguments===
===Required Arguments===
*'''theElement''': The [[element]] you wish to retrieve the velocity of.
*'''theElement''': The [[element]] you wish to retrieve the velocity of.
===Returns===
If succesful, returns three ''float''s that represent the element's current velocity along the ''x'', ''y'', and ''z'' axis respectively. This function can fail if the element is a player in a car. Use the vehicle element in this case. It will also fail if the element specified does not have a velocity, or does not exist. In case of failure, the first return value will be ''false''.
The returned values are expressed in GTA units per 1/50th of a second[http://forum.mtasa.com/viewtopic.php?f=91&t=31225]. A GTA Unit is equal to one metre[http://gta.wikia.com/Unit#GTA3.2C_GTAVC_.26_GTASA].


==Example==
==Example==
<syntaxhighlight lang="lua">speedx, speedy, speedz = getElementVelocity ( findPlayer ( "someguy" ) )
<section name="Server" class="server" show="true">
actualspeed = (speedx^2 + speedy^2 + speedz^2)^(0.5)  
This example retrieves, calculates, and displays the speed of a random player.
--Raising something to the exponent of 0.5 is the same thing as taking a square root.
<syntaxhighlight lang="lua">
outputChatBox ( "Someguy's current Velocity: ", actualspeed, " arbitrary units." )</syntaxhighlight>
-- get a random player and get its velocity
speedx, speedy, speedz = getElementVelocity ( getRandomPlayer() )
 
-- use pythagorean theorem to get actual velocity
-- raising something to the exponent of 0.5 is the same thing as taking a square root.
actualspeed = (speedx^2 + speedy^2 + speedz^2)^(0.5) -- can be: math.sqrt(speedx^2 + speedy^2 + speedz^2)
 
-- multiply by 50 to obtain the speed in metres per second
mps = actualspeed * 50
 
-- other useful conversions
-- kilometres per hour
kmh = actualspeed * 180
-- miles per hour
mph = actualspeed * 111.847
 
-- report the results.
outputChatBox ( "Someguy's current velocity: " .. mps .. " metres per second." )
</syntaxhighlight>
</section>


==See Also==
==See Also==
{{Player functions}}
{{element functions}}

Latest revision as of 17:49, 25 May 2018

This function returns three floats containing the velocity (movement speeds) along the X, Y, and Z axis respectively. This means that velocity values can be positive and negative for each axis.

Syntax

float float float getElementVelocity ( element theElement )

OOP Syntax Help! I don't understand this!

Method: element:getVelocity(...)
Variable: .velocity
Counterpart: setElementVelocity


Required Arguments

  • theElement: The element you wish to retrieve the velocity of.

Returns

If succesful, returns three floats that represent the element's current velocity along the x, y, and z axis respectively. This function can fail if the element is a player in a car. Use the vehicle element in this case. It will also fail if the element specified does not have a velocity, or does not exist. In case of failure, the first return value will be false.

The returned values are expressed in GTA units per 1/50th of a second[1]. A GTA Unit is equal to one metre[2].

Example

Click to collapse [-]
Server

This example retrieves, calculates, and displays the speed of a random player.

-- get a random player and get its velocity
speedx, speedy, speedz = getElementVelocity ( getRandomPlayer() )

-- use pythagorean theorem to get actual velocity
-- raising something to the exponent of 0.5 is the same thing as taking a square root.
actualspeed = (speedx^2 + speedy^2 + speedz^2)^(0.5) -- can be: math.sqrt(speedx^2 + speedy^2 + speedz^2)

-- multiply by 50 to obtain the speed in metres per second
mps = actualspeed * 50

-- other useful conversions
-- kilometres per hour
kmh = actualspeed * 180
-- miles per hour
mph = actualspeed * 111.847

-- report the results.
outputChatBox ( "Someguy's current velocity: " .. mps .. " metres per second." )

See Also