GetElementVelocity: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Fixed OOP)
 
(One intermediate revision by one other user not shown)
Line 19: Line 19:
This example retrieves, calculates, and displays the speed of a random player.
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.
-- get a random player and get its velocity
speedx, speedy, speedz = getElementVelocity ( getRandomPlayer() )
speedx, speedy, speedz = getElementVelocity ( getRandomPlayer() )


-- use pythagorean theorem to get actual velocity
-- use pythagorean theorem to get actual velocity
-- raising something to the exponent of 0.5 is the same thing as taking a square root.
-- 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)  
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
-- multiply by 50 to obtain the speed in metres per second

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