Coding info: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 63: Line 63:
* debug3 - debug function 3
* debug3 - debug function 3
* debug4 - debug function 4
* debug4 - debug function 4
== Entity types ==
CCLIENTCAMERA - Camera
CCLIENTPLAYER - Player
CCLIENTVEHICLE - Vehicle
CCLIENTRADARMARKER - Blip
CCLIENTOBJECT - Object
CCLIENTPICKUP - Pickup
CCLIENTRADARAREA - RadarArea
CCLIENTMARKER - Marker
CCLIENTTEAM - Team
CCLIENTPED - Ped
CCLIENTPROJECTILE - Projectile
CCLIENTGUI:
CGUI_BUTTON - GuiButton
CGUI_CHECKBOX - GuiCheckBox
CGUI_EDIT - GuiEdit
CGUI_GRIDLIST - GuiGridList
CGUI_LABEL - GuiLabel
CGUI_MEMO - GuiMemo
CGUI_PROGRESSBAR - GuiProgressBar
CGUI_RADIOBUTTON - GuiRadioButton
CGUI_STATICIMAGE - GuiStaticImage
CGUI_TAB - GuiTab
CGUI_TABPANEL - GuiTabPanel
CGUI_WINDOW - GuiWindow
CGUI_SCROLLPANE - GuiScrollPane
CGUI_SCROLLBAR - GuiScrollBar
CGUI_COMBOBOX - GuiComboBox
CCLIENTCOLSHAPE - ColShape
SCRIPTFILE - File
CCLIENTDFF - EngineDFF
CCLIENTCOL - EngineCOL
CCLIENTTXD - EngineTXD
CCLIENTSOUND - Sound
CCLIENTWATER - Water
CCLIENTDXFONT - DxFont
CCLIENTGUIFONT - GuiFont
CCLIENTTEXTURE - DxTexture
CCLIENTSHADER - DxShader
CCLIENTWEAPON - Weapon
CCLIENTEFFECT - Effect
CCLIENTSCREENSOURCE - DxScreenSource
CCLIENTRENDERTARGET - DxRenderTarget

Revision as of 17:20, 17 November 2014

Introduction

This page has information which would be useful for anyone who is doing coding for MTA SA. Coding guidelines also has a lot of useful info.

Projects explained

  • Client - Core: Typically UI elements like main menu etc and isn't ever unloaded.
  • Client - Deathmatch: Where MTA makes all it's functions and events do stuff.
  • Client - Game SA: Low level stuff which is mainly function calls to the game so each element will have a game_sa class like Vehicle, Ped, Object etc.
  • Client - GUI: It's just wrappers to CEGUI, you need not touch.
  • Client - Launch: Is the MTA executable which loads loader, you need not touch.
  • Client - Loader: You need not touch the loader either.
  • Client - Multiplayer SA: Hooks, code modification and that sort of low level things that lets us work.
  • Server - Core: Cazomino05: "I genuinely don't really know why we have server core."
  • Server - Dbconmy: Stuff to do with the db* functions, you need not touch.
  • Server - Deathmatch: All the server logic and storage classes for elements as well as Lua stuff.
  • Server - Launcher: Just an executable to load all the DLLs we need.
  • Shared - XML Module: XML module is just tinyxml and some high level wrapper functions for stuff we need.
  • Dependencies: Has a load of 3rd party code, modules like sqlite, curl, lua, ehs, etc.
  • CEGUI: Crazy Eddie's GUI system is a graphical user interface C++ library.

Simplification of data types

MTA has some type definitions you can use (Can be found in Shared/sdk/SharedUtil.h)

  • ulong = unsigned long
  • uint = unsigned int
  • ushort = unsigned short
  • uchar = unsigned char
  • uint64 = unsigned long long
  • uint32 = unsigned int
  • uint16 = unsigned short
  • uint8 = unsigned char
  • int64 = signed long long
  • int32 = signed int
  • int16 = signed short
  • int8 = signed char
  • BYTE = unsigned char
  • WORD = unsigned short
  • DWORD = unsigned long
  • FLOAT = float

Debug Commands

MTA has some commands which you can use if you're running debug mode

  • showsync - show sync data
  • foo - debug command for devs
  • showwepdata - shows the given player weapon data (nick)
  • showtasks - shows the local player tasks (nick)
  • showplayer - shows extended player information (nick)
  • setmimic - enables player mimics (amount)
  • setmimiclag - enables player mimic lag (amount)
  • paintballs - enables paintball mode
  • breakpoint - inserts breakpoint
  • giveweapon - gives the player a weapon (id)
  • showrpcs - shows the remote prodecure calls
  • showinterpolation - shows information about the interpolation
  • watch - enables wpm watch mode
  • modules - enables wpm module
  • debug - debug function 1
  • debug2 - debug function 2
  • debug3 - debug function 3
  • debug4 - debug function 4

Entity types

CCLIENTCAMERA - Camera CCLIENTPLAYER - Player CCLIENTVEHICLE - Vehicle CCLIENTRADARMARKER - Blip CCLIENTOBJECT - Object CCLIENTPICKUP - Pickup CCLIENTRADARAREA - RadarArea CCLIENTMARKER - Marker CCLIENTTEAM - Team CCLIENTPED - Ped CCLIENTPROJECTILE - Projectile CCLIENTGUI: CGUI_BUTTON - GuiButton CGUI_CHECKBOX - GuiCheckBox CGUI_EDIT - GuiEdit CGUI_GRIDLIST - GuiGridList CGUI_LABEL - GuiLabel CGUI_MEMO - GuiMemo CGUI_PROGRESSBAR - GuiProgressBar CGUI_RADIOBUTTON - GuiRadioButton CGUI_STATICIMAGE - GuiStaticImage CGUI_TAB - GuiTab CGUI_TABPANEL - GuiTabPanel CGUI_WINDOW - GuiWindow CGUI_SCROLLPANE - GuiScrollPane CGUI_SCROLLBAR - GuiScrollBar CGUI_COMBOBOX - GuiComboBox CCLIENTCOLSHAPE - ColShape SCRIPTFILE - File CCLIENTDFF - EngineDFF CCLIENTCOL - EngineCOL CCLIENTTXD - EngineTXD CCLIENTSOUND - Sound CCLIENTWATER - Water CCLIENTDXFONT - DxFont CCLIENTGUIFONT - GuiFont CCLIENTTEXTURE - DxTexture CCLIENTSHADER - DxShader CCLIENTWEAPON - Weapon CCLIENTEFFECT - Effect CCLIENTSCREENSOURCE - DxScreenSource CCLIENTRENDERTARGET - DxRenderTarget