Skip to content

getScreenFromWorldPosition

Shared

Manual Review Required

Please finish this page using the corresponding Old Wiki article. Go to Contribution guidelines for more information.


This function gets the screen position of a point in the world. This is useful for attaching 2D gui elements to parts of the world (e.g. players) or detecting if a point is on the screen (though it does not check if it is actually visible, you should use processLineOfSight for that).

Syntax

float, ​float, ​float getScreenFromWorldPosition ( ​float x, ​float y, ​float z, [ ​float edgeTolerance = 0.0, ​bool relative = true ] )
Required arguments
  • x: A float value indicating the x position in the world.
  • y: A float value indicating the y position in the world.
  • z: A float value indicating the z position in the world.
Optional arguments

Note: when using optional arguments, you might need to supply all arguments before the one you wish to use.

  • edgeTolerance (default: 0.0): A float value indicating the distance the position can be off screen before the function returns false. Note: it's clamped down on both axies to the size of screen at the given axis*10
  • relative (default: true): A boolean value that indicates if edgeTolerance is in pixels [false], or relative to the screen size [true].

Returns

Returns two x , y floats indicating the screen position and float distance between screen and given position if successful, false otherwise.

  • float: x
  • float: y
  • float: z

Code Examples

shared

This example add a '3d' text at coordinates 0, 0, 0 (center of map).

addEventHandler ( "onClientRender", root,
function ( )
if ( getDistanceBetweenPoints3D ( 0, 0, 3, getElementPosition ( localPlayer ) ) ) < 50 then
local coords = { getScreenFromWorldPosition ( 0, 0, 3 ) }
if coords[1] and coords[2] then
dxDrawText ( "Hello !", coords[1], coords[2], coords[1], coords[2], tocolor(255,255,255), 1, "default-bold" )
end
end
end )

See Also

World Functions