DgsCreateMenu: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}
{{Client function}}
[[Image:DGS_Menu_1.png|frame|Example DGS Menu.]]
This function is for creating a DGS menu.


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


==Syntax==  
==Syntax==  
Line 9: Line 9:
element dgsCreateMenu( float x, float y, float width, float height, bool relative [, element parent = nil ] )
element dgsCreateMenu( float x, float y, float width, float height, bool relative [, element parent = nil ] )
</syntaxhighlight>  
</syntaxhighlight>  
[[Image:DGS_Menu_1.png|200px|frame|Example DGS Menu.]]


===Required Arguments===  
===Required Arguments===  
Line 27: Line 29:
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 timeItem = DGS:dgsMenuAddItem(menu,"Time","time")
local timeItem = DGS:dgsMenuAddItem(menu,"Time","time")
DGS:dgsMenuAddItem(menu,"Day","t.Day",timeItem)
DGS:dgsMenuAddItem(menu,"Day","t.Day",timeItem)
DGS:dgsMenuAddItem(menu,"Night","t.Night",timeItem)
DGS:dgsMenuAddItem(menu,"Night","t.Night",timeItem)
DGS:dgsMenuAddSeparator(menu)
DGS:dgsMenuAddSeparator(menu)
local weatherItem = DGS:dgsMenuAddItem(menu,"Weather","weather")
local weatherItem = DGS:dgsMenuAddItem(menu,"Weather","weather")
DGS:dgsMenuAddItem(menu,"Clear Day","w.ClearDay",weatherItem)
DGS:dgsMenuAddItem(menu,"Clear Day","w.ClearDay",weatherItem)
DGS:dgsMenuAddItem(menu,"Storming","w.Storming",weatherItem)
DGS:dgsMenuAddItem(menu,"Storming","w.Storming",weatherItem)


local button = DGS:dgsCreateButton(400,400,100,50,"Right Click Here",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)
local command = DGS:dgsMenuGetItemCommand(source,uniqueID)
local command = DGS:dgsMenuGetItemCommand(source,uniqueID)
if command == "t.Day" then
if command == "t.Day" then
setTime(12,0)
setTime(12,0)
elseif command == "t.Night" then
elseif command == "t.Night" then
setTime(0,0)
setTime(0,0)
elseif command == "w.ClearDay" then
elseif command == "w.ClearDay" then
setWeather(0)
setWeather(0)
elseif command == "w.Storming" then
elseif command == "w.Storming" then
setWeather(8)
setWeather(8)
else
else
return
return
end
end
DGS:dgsMenuHide(source)
DGS:dgsMenuHide(source)
end,false)
end,false)
end


</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 07:55, 12 August 2023

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 ] )
Example DGS Menu.

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)

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