From Multi Theft Auto: Wiki
Jump to navigation Jump to search

This function sets the position of a DGS element.


bool dgsSetPosition ( element theElement, float x, float y, bool relative [, bool isCenterPosition = false ] )

DGS OOP Syntax Help! I don't understand this!

Note: The variable is a conjunction: position.x (set X position), position.y (set Y position) and position.relative (set Relative property)
Method: DGSElement:setPosition(...)
Variable: .position
Counterpart: dgsGetPosition

Required Arguments

  • theElement: The DGS element to change position for
  • x: Position over the X axis
  • y: Position over the Y axis
  • relative: This is whether sizes and positioning are relative. If this is true, then all x,y,width,height floats must be between 0 and 1, representing sizes relative to the parent.

Optional Arguments

  • isCenterPosition: A bool of whether the input x/y is the center position of a dgs element.


Returns true if the position has been successfully set, false otherwise.


This example creates a label. When an element is clicked, the label displays in the position of the element telling you what kind of element you have clicked. It hides after 5 seconds.

DGS = exports.dgs
--create an empty label
local myLabel = DGS:dgsCreateLabel  ( 0, 0, 1, 1, "", true )

function addLabelOnClick ( button, state, absoluteX, absoluteY, worldX, worldY, worldZ, clickedElement )
	--if an element was clicked on screen
	if ( clickedElement ) then
		--retreive the element type
		local elementType = DGS:dgsGetType ( clickedElement )
		--change the label text to that element type
		DGS:dgsSetText ( myLabel, elementType )
		--and place it in the position of where the element is
		DGS:dgsSetPosition ( myLabel, absoluteX, absoluteY, false )
		--hide the text by passing an empty string 5 seconds later
		setTimer ( DGS:dgsSetText, 5000, 1, myLabel, "" )
addEventHandler ( "onDgsMouseClick", getRootElement(), addLabelOnClick )

See Also

General Functions

General Events