G2D
Jump to navigation
Jump to search
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, because of compatibility)
- 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]
These command can only be used in MTA Server console.
| Options | Arguments | Comment |
|---|---|---|
| add | Resource Name | Retain selections and select other resources (-m :Pattern Match) |
| clear | Clear selections | |
| help | G2D Help | |
| remove | Resource Name | Remove specific selected resources from list (-m :Pattern Match) |
| list | List all selected resources | |
| start | Start to convert (execute) | |
| stop | Stop converting process | |
| type | Change the type of G2D, can be hooker or convertor (by default) |
Example For Convertor
Basic:
g2d add resA g2d start
Advanced Pattern Mode:
g2d add .A match g2d start
Output files are stored in dgs/G2DOutput/
Example For Hooker
This is used to add dgsG2DLoadHooker into script in batch.
OInly first clientsided script with guiCreate functions will be modified.
g2d type hooker g2d add . match g2d start
Backup files are stored in dgs/G2DBackup/
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 )