G2D: Difference between revisions

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


===<span style="color:#FF0000;">Client-Sided</span> G2D Hooker (G2D Hooker)===
===<span style="color:#FF0000;">Client-Sided</span> G2D Hooker (G2D Hooker)===
See detail [[dgsG2DLoadHooker]]


'''Example'''
'''Example'''

Revision as of 14:36, 28 September 2019

Description

1. G2D aims to convert GUI to DGS without a lot of complex steps. 2. There are 2 versions of G2D:

  • 1) Server-sided G2D script converter (G2DSC)
    • G2DSC is used to convert GUI functions/events to DGS ones by editing scripts. (Useful for converting scripts created by GUI Editor, but it will cause a lot of errors/bugs if you make it convert complicated scripts)
  • 2) Client-sided G2D hooker (G2D Hooker)
    • G2D Hooker is used to convert complex scripts by injecting hooker before executing the script instead of editing files. (The hooker is valid in one resource)

Usage

Server-Sided G2D script converter (G2DSC)

Command: g2d [-Option] [Arguments]

Options Arguments Comment
-add Resource Name Retain selections and select other resources (-m :Pattern Match)
-c Clear selections
-h G2D Help
-rm Resource Name Remove specific selected resources from list (-m :Pattern Match)
-l List all selected resources
-e Start to convert
-q Stop converting process

Example
These command is used in MTA Server console.

Basic:

g2d -add resA
g2d -e

Advanced:

g2d -add .A -m
g2d -e

Output files are stored in dgs/G2DOutput/

Client-Sided G2D Hooker (G2D Hooker)

See detail dgsG2DLoadHooker

Example

loadstring(exports.dgs:dgsImportFunction())() --Import functions before
loadstring(exports.dgs:dgsG2DLoadHooker())()  --Load G2D Hooker
local buttonElement = guiCreateButton(200,200,300,300,"Test",false)  --Though you are using gui functions and events, but they have already hooked by DGS
addEventHandler ( "onClientGUIClick", buttonElement, function()
	outputChatBox("clicked")
end, false )