GetElementVelocity: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Replaced deprecated function getPlayerFromNick with getPlayerFromName)
Line 16: Line 16:
==Example==
==Example==
<section name="Server" class="server" show="true">
<section name="Server" class="server" show="true">
This example retrieves, calculates, and displays the speed of a player named ''someguy''.
This example retrieves, calculates, and displays the speed of a random player.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
-- find a player named "someguy" and get his velocity.
-- find a player named "someguy" and get his velocity.
speedx, speedy, speedz = getElementVelocity ( getPlayerFromName ( "someguy" ) )
speedx, speedy, speedz = getElementVelocity ( getRandomPlayer() )


-- use pythagorean theorem to get actual velocity
-- use pythagorean theorem to get actual velocity

Revision as of 20:06, 11 December 2012

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 )

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.

-- find a player named "someguy" and get his 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) 

-- 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