GetRoofPosition: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{Client function}}
{{Client function}}
{{Added feature/item|3.0159|1.5.9|1.5.8|20675|This function gets the Z level of the lowest roof above a point. It is required that the point is near enough to the local player so that it's within the area where collision data is loaded.}}
{{Added feature/item|3.0160|1.5.9|1.5.8|20675|This function gets the Z level of the lowest roof above a point. It is required that the point is near enough to the local player so that it's within the area where collision data is loaded.}}


==Syntax==
==Syntax==
Line 9: Line 9:


===Required Arguments===
===Required Arguments===
*'''x''': A [[float]]ing point number representing the X world coordinate of the point.
*'''x''': A [[float]] representing the X world coordinate of the point.
*'''y''': A [[float]]ing point number representing the Y world coordinate of the point.
*'''y''': A [[float]] representing the Y world coordinate of the point.
*'''z''': A [[float]]ing point number representing the Z world coordinate of the point.
*'''z''': A [[float]] representing the Z world coordinate of the point.


===Returns===
===Returns===
Line 17: Line 17:


==Example==
==Example==
This example starts to shake the player's camera if there is no roof over him.
This example starts to shake the player's camera if there is no roof over him:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
setTimer (
setTimer (
function ()
    function ()
local playerX, playerY, playerZ = getElementPosition (localPlayer)
        local playerX, playerY, playerZ = getElementPosition (localPlayer)
local roofZ = getRoofPosition (playerX, playerY, playerZ)
        local roofZ = getRoofPosition (playerX, playerY, playerZ)
setCameraShakeLevel ((roofZ) and 0 or 255 )
        setCameraShakeLevel ((roofZ) and 0 or 255 )
end, 100, 0
    end, 100, 0
)
)
</syntaxhighlight>
</syntaxhighlight>

Revision as of 12:09, 23 September 2021

20675

Syntax

float getRoofPosition ( float x, float y, float z )

Required Arguments

  • x: A float representing the X world coordinate of the point.
  • y: A float representing the Y world coordinate of the point.
  • z: A float representing the Z world coordinate of the point.

Returns

Returns a float with the lowest roof-level Z coord if parameters are valid, false if the point you tried to test is outside the loaded world map.

Example

This example starts to shake the player's camera if there is no roof over him:

setTimer (
    function ()
        local playerX, playerY, playerZ = getElementPosition (localPlayer)
        local roofZ = getRoofPosition (playerX, playerY, playerZ)
        setCameraShakeLevel ((roofZ) and 0 or 255 )
    end, 100, 0
)

Requirements

Minimum server version n/a
Minimum client version 1.5.8-9.20675

Note: Using this feature requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version client="1.5.8-9.20675" />

See Also