Resource:DGS

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

This is a resource designed to allow you create dx gui on the screen instead of the original gui.

Full Name : Thisdp's DX Graphical User Interface System

Author : thisdp

State : OpenSource (WIP)

Features

How it works?

  • DGS is just like the original gui system that is based on element system. I use a simple way that can make everyone easier to understand.
  • DGS elements are rendered in "onClientRender". There is two or more tables store DGS elements. When "onClientRender" is called, "for" loop will loop and calculate every DGS element.


What's different?

  • This resource is based on dx* functions. It allows us to edit our gui and make it customlization.


Update System

  • It have an update system that can keep your DGS least.
  • Execute "updatedgs" to check the least version and update your DGS.


Debug

  • You can enter debug mode by executing the command "debugdgs"


DGS Type

  • Button (dgs-dxbutton): A button.
  • Command (dgs-dxcmd): A command just like one of windows.
  • Cyclehitshape (dgs-dxcyclehitshape): A check area that is cycle.
  • Edit (dgs-dxedit): A edit.
  • Gridlist (dgs-dxgridlist): A grid list.
  • Image (dgs-dximage): A static image.
  • Label (dgs-dxlabel): A text label.
  • ScrollBar (dgs-dxscrollbar): A scroll bar.
  • ScrollPane (dgs-dxscrollpane): A scroll pane.
  • Window (dgs-dxwindow): A window.


Notice

  • The resource name should be 'dgs'.
  • This is a resource and if you want to use the functions it exported, you should add something in front of the function like 'exports.dgs:dgsDxCreateLabel(0,0,0.5,0.1,"text",true)'
  • Here is a feasible way to shorten export functions:
DGS = exports.dgs --shorten the export function prefix
label = DGS:dgsDxCreateLabel(0,0,0.5,0.1,"text",false) --create a label

Template:Dgs/DGS FUNCTIONS

Client Events

  • onClientDgsDxMouseLeave
  • onClientDgsDxMouseEnterh
  • onClientDgsDxMouseClick
  • onClientDgsDxWindowClose
  • onClientDgsDxGUIPositionChange
  • onClientDgsDxGUISizeChange
  • onClientDgsDxGUITextChange
  • onClientDgsDxScrollBarScrollPositionChange
  • onClientDgsDxGuiDestroy
  • onClientDgsDxGuiCreate
  • onClientDgsDxGridListSelect
  • onClientDgsDxGuiCreate
  • onClientDgsDxGuiPreCreate
  • onClientDgsDxPreRender
  • onClientDgsDxRender
  • onClientDgsDxFocus
  • onClientDgsDxBlur
  • onClientDgsDxGUICursorMove

Last

Welcome everyone else to made suggestions, tested the script, helped me to finish the wiki, etc