DgsCreateMenu: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Created page with "__NOTOC__ {{Client function}} frame|Example DGS Menu. This function is for creating a DGS menu. DGS menu is '''invisible''' by default. To show menu, use dgsMenuShow. ==Syntax== <syntaxhighlight lang="lua"> element dgsCreateMenu( float x, float y, float width, float height, bool relative [, element parent = nil ] ) </syntaxhighlight> ===Required Arguments=== *'''x:''' A float of the 2D x position of the DGS menu on a player's screen. This i...")
 
No edit summary
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}
{{Client function}}
[[Image:Dx_5.PNG|frame|Example DGS Menu.]]
[[Image:DGS_Menu_1.png|frame|Example DGS Menu.]]


This function is for creating a DGS menu. DGS menu is '''invisible''' by default. To show menu, use [[dgsMenuShow]].
This function is for creating a DGS menu. DGS menu is '''invisible''' by default. To show menu, use [[dgsMenuShow]].
Line 27: Line 27:
DGS = exports.dgs
DGS = exports.dgs


local menu = DGS:dgsCreateMenu(200,200,200,600,false)
local menu = DGS:dgsCreateMenu(200,200,200,600,false)
local item = DGS:dgsMenuAddItem(menu,"test1","test1")
local timeItem = DGS:dgsMenuAddItem(menu,"Time","time")
local item2 = DGS:dgsMenuAddItem(menu,"test2","test2",item)
DGS:dgsMenuAddItem(menu,"Day","t.Day",timeItem)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"Night","t.Night",timeItem)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddSeparator(menu)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
local weatherItem = DGS:dgsMenuAddItem(menu,"Weather","weather")
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"Clear Day","w.ClearDay",weatherItem)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"Storming","w.Storming",weatherItem)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddSeparator(menu)
local item = DGS:dgsMenuAddItem(menu,"test3","test3")
local item2 = DGS:dgsMenuAddItem(menu,"test2","test2",item)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)
DGS:dgsMenuAddItem(menu,"test2","test2",item2)


local button = DGS:dgsCreateButton(200,200,300,300,"what",false)
local button = DGS:dgsCreateButton(400,400,100,50,"Right Click Here",false)
addEventHandler("onDgsMouseClickUp",button,function(button)
addEventHandler("onDgsMouseClickUp",button,function(button)
if button == "right" then
if button == "right" then
DGS:dgsMenuShow(menu)
DGS:dgsMenuShow(menu)
end
end
end)
end)
addEventHandler("onDgsMenuSelect",menu,function(subMenu,uniqueID)
addEventHandler("onDgsMenuSelect",menu,function(subMenu,uniqueID)
iprint("select",subMenu,uniqueID)
local command = DGS:dgsMenuGetItemCommand(source,uniqueID)
end)
if command == "t.Day" then
addEventHandler("onDgsMenuHover",menu,function(subMenu,uniqueID)
setTime(12,0)
iprint("hover",subMenu,uniqueID)
elseif command == "t.Night" then
end)
setTime(0,0)
elseif command == "w.ClearDay" then
setWeather(0)
elseif command == "w.Storming" then
setWeather(8)
else
return
end
DGS:dgsMenuHide(source)
end,false)
end


</syntaxhighlight>
</syntaxhighlight>

Revision as of 07:53, 12 August 2023

Example DGS Menu.

This function is for creating a DGS menu. DGS menu is invisible by default. To show menu, use dgsMenuShow.

Syntax

element dgsCreateMenu( float x, float y, float width, float height, bool relative [, element parent = nil ] )

Required Arguments

  • x: A float of the 2D x position of the DGS menu on a player's screen. This is affected by the relative argument.
  • y: A float of the 2D y position of the DGS menu on a player's screen. This is affected by the relative argument.
  • width: A float of the width of the DGS menu. This is affected by the relative argument.
  • height: A float of the height of the DGS menu. This is affected by the relative argument.
  • 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 measures relative to the parent.

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • parent: This is the parent that the DGS menu is attached to. If the relative argument is true, sizes and positioning will be made relative to this parent. If the relative argument is false, positioning will be the number of offset pixels from the parent's origin. If no parent is passed, the parent will become the screen - causing positioning and sizing according to screen positioning.

Returns

Returns a dgs-dxmenu element of the created menu if it was successfully created, false otherwise.

Example

DGS = exports.dgs

	local menu = DGS:dgsCreateMenu(200,200,200,600,false)
	local timeItem = DGS:dgsMenuAddItem(menu,"Time","time")
		DGS:dgsMenuAddItem(menu,"Day","t.Day",timeItem)
		DGS:dgsMenuAddItem(menu,"Night","t.Night",timeItem)
	DGS:dgsMenuAddSeparator(menu)
	local weatherItem = DGS:dgsMenuAddItem(menu,"Weather","weather")
		DGS:dgsMenuAddItem(menu,"Clear Day","w.ClearDay",weatherItem)
		DGS:dgsMenuAddItem(menu,"Storming","w.Storming",weatherItem)

	local button = DGS:dgsCreateButton(400,400,100,50,"Right Click Here",false)
	addEventHandler("onDgsMouseClickUp",button,function(button)
		if button == "right" then
			DGS:dgsMenuShow(menu)
		end
	end)
	addEventHandler("onDgsMenuSelect",menu,function(subMenu,uniqueID)
		local command = DGS:dgsMenuGetItemCommand(source,uniqueID)
		if command == "t.Day" then
			setTime(12,0)
		elseif command == "t.Night" then
			setTime(0,0)
		elseif command == "w.ClearDay" then
			setWeather(0)
		elseif command == "w.Storming" then
			setWeather(8)
		else
			return
		end
		DGS:dgsMenuHide(source)
	end,false)
end

See Also

Custom Cursor Functions

Multi Language Supports

Animation

3D Element

3D Interface

3D Line

3D Image

3D Text

Browser

Button

Check Box

Combo Box

Custom Renderer

Edit

Detect Area

Drag'N Drop

Grid List

Image

Memo

Menu

Label

Layout

Line

Progress Bar

Radio Button

Scale Pane

Scroll Bar

Scroll Pane

Selector

Style

Switch Button

Tab Panel

Window

Basic Shape Plugins

Circle

Quadrilateral

Rounded Rectangle

Other Plugins

Blur Box

Canvas

Chart

Color Picker

Effect 3D

Gradient

Mask

Media Browser

Nine Slice

Object Preview Supports

Paste Handler

QRCode

Remote Image

Screen Source

SVG

Tooltips