Advertisement
Guest User

Untitled

a guest
Jan 29th, 2016
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 26.89 KB | None | 0 0
  1. #define MAX_PLAYER_NAME (24)
  2. #define MAX_CLIENT_MESSAGE (144)
  3. #define MAX_PLAYERS (1000)
  4. #define MAX_VEHICLES (2000)
  5. #define MAX_ACTORS (1000)
  6. #define INVALID_PLAYER_ID (0xFFFF)
  7. #define INVALID_VEHICLE_ID (0xFFFF)
  8. #define INVALID_ACTOR_ID (0xFFFF)
  9. #define NO_TEAM (255)
  10. #define MAX_OBJECTS (1000)
  11. #define INVALID_OBJECT_ID (0xFFFF)
  12. #define MAX_GANG_ZONES (1024)
  13. #define MAX_TEXT_DRAWS (2048)
  14. #define MAX_PLAYER_TEXT_DRAWS (256)
  15. #define MAX_MENUS (128)
  16. #define MAX_3DTEXT_GLOBAL (1024)
  17. #define MAX_3DTEXT_PLAYER (1024)
  18. #define MAX_PICKUPS (4096)
  19. #define INVALID_MENU (0xFF)
  20. #define INVALID_TEXT_DRAW (0xFFFF)
  21. #define INVALID_GANG_ZONE (-1)
  22. #define INVALID_3DTEXT_ID (0xFFFF)
  23. #define SERVER_VARTYPE_NONE (0)
  24. #define SERVER_VARTYPE_INT (1)
  25. #define SERVER_VARTYPE_STRING (2)
  26. #define SERVER_VARTYPE_FLOAT (3)
  27. #define TEXT_DRAW_FONT_SPRITE_DRAW (4)
  28. #define TEXT_DRAW_FONT_MODEL_PREVIEW (5)
  29. #define DIALOG_STYLE_MSGBOX (0)
  30. #define DIALOG_STYLE_INPUT (1)
  31. #define DIALOG_STYLE_LIST (2)
  32. #define DIALOG_STYLE_PASS__int16 (3)
  33. #define DIALOG_STYLE_TABLIST (4)
  34. #define DIALOG_STYLE_TABLIST_HEADERS (5)
  35. #define PLAYER_STATE_NONE (0)
  36. #define PLAYER_STATE_ONFOOT (1)
  37. #define PLAYER_STATE_DRIVER (2)
  38. #define PLAYER_STATE_PASSENGER (3)
  39. #define PLAYER_STATE_EXIT_VEHICLE (4)
  40. #define PLAYER_STATE_ENTER_VEHICLE_DRIVER (5)
  41. #define PLAYER_STATE_ENTER_VEHICLE_PASSENGER (6)
  42. #define PLAYER_STATE_WASTED (7)
  43. #define PLAYER_STATE_SPAWNED (8)
  44. #define PLAYER_STATE_SPECTATING (9)
  45. #define PLAYER_MARKERS_MODE_OFF (0)
  46. #define PLAYER_MARKERS_MODE_GLOBAL (1)
  47. #define PLAYER_MARKERS_MODE_STREAMED (2)
  48. #define WEAPON_BRASSKNUCKLE (1)
  49. #define WEAPON_GOLFCLUB (2)
  50. #define WEAPON_NITESTICK (3)
  51. #define WEAPON_KNIFE (4)
  52. #define WEAPON_BAT (5)
  53. #define WEAPON_SHOVEL (6)
  54. #define WEAPON_POOLSTICK (7)
  55. #define WEAPON_KATANA (8)
  56. #define WEAPON_CHAINSAW (9)
  57. #define WEAPON_DILDO (10)
  58. #define WEAPON_DILDO2 (11)
  59. #define WEAPON_VIBRATOR (12)
  60. #define WEAPON_VIBRATOR2 (13)
  61. #define WEAPON_FLOWER (14)
  62. #define WEAPON_CANE (15)
  63. #define WEAPON_GRENADE (16)
  64. #define WEAPON_TEARGAS (17)
  65. #define WEAPON_MOLTOV (18)
  66. #define WEAPON_COLT45 (22)
  67. #define WEAPON_SILENCED (23)
  68. #define WEAPON_DEAGLE (24)
  69. #define WEAPON_SHOTGUN (25)
  70. #define WEAPON_SAWEDOFF (26)
  71. #define WEAPON_SHOTGSPA (27)
  72. #define WEAPON_UZI (28)
  73. #define WEAPON_MP5 (29)
  74. #define WEAPON_AK47 (30)
  75. #define WEAPON_M4 (31)
  76. #define WEAPON_TEC9 (32)
  77. #define WEAPON_RIFLE (33)
  78. #define WEAPON_SNIPER (34)
  79. #define WEAPON_ROCKETLAUNCHER (35)
  80. #define WEAPON_HEATSEEKER (36)
  81. #define WEAPON_FLAMETHROWER (37)
  82. #define WEAPON_MINIGUN (38)
  83. #define WEAPON_SATCHEL (39)
  84. #define WEAPON_BOMB (40)
  85. #define WEAPON_SPRAYCAN (41)
  86. #define WEAPON_FIREEXTINGUISHER (42)
  87. #define WEAPON_CAMERA (43)
  88. #define WEAPON_NIGHTVISION (44)
  89. #define WEAPON_INFRARED (45)
  90. #define WEAPON_PARACHUTE (46)
  91. #define WEAPON_VEHICLE (49)
  92. #define WEAPON_DROWN (53)
  93. #define WEAPON_COLLISION (54)
  94. #define KEY_ACTION (1)
  95. #define KEY_CROUCH (2)
  96. #define KEY_FIRE (4)
  97. #define KEY_SPRINT (8)
  98. #define KEY_SECONDARY_ATTACK (16)
  99. #define KEY_JUMP (32)
  100. #define KEY_LOOK_RIGHT (64)
  101. #define KEY_HANDBRAKE (128)
  102. #define KEY_LOOK_LEFT (256)
  103. #define KEY_SUBMISSION (512)
  104. #define KEY_LOOK_BEHIND (512)
  105. #define KEY_WALK (1024)
  106. #define KEY_ANALOG_UP (2048)
  107. #define KEY_ANALOG_DOWN (4096)
  108. #define KEY_ANALOG_LEFT (8192)
  109. #define KEY_ANALOG_RIGHT (16384)
  110. #define KEY_YES (65536)
  111. #define KEY_NO (131072)
  112. #define KEY_CTRL_BACK (262144)
  113. #define KEY_UP (-128)
  114. #define KEY_DOWN (128)
  115. #define KEY_LEFT (-128)
  116. #define KEY_RIGHT (128)
  117. #define BODY_PART_TORSO (3)
  118. #define BODY_PART_GROIN (4)
  119. #define BODY_PART_LEFT_ARM (5)
  120. #define BODY_PART_RIGHT_ARM (6)
  121. #define BODY_PART_LEFT_LEG (7)
  122. #define BODY_PART_RIGHT_LEG (8)
  123. #define BODY_PART_HEAD (9)
  124. #define CLICK_SOURCE_SCOREBOARD (0)
  125. #define EDIT_RESPONSE_CANCEL (0)
  126. #define EDIT_RESPONSE_FINAL (1)
  127. #define EDIT_RESPONSE_UPDATE (2)
  128. #define SELECT_OBJECT_GLOBAL_OBJECT (1)
  129. #define SELECT_OBJECT_PLAYER_OBJECT (2)
  130. #define BULLET_HIT_TYPE_NONE (0)
  131. #define BULLET_HIT_TYPE_PLAYER (1)
  132. #define BULLET_HIT_TYPE_VEHICLE (2)
  133. #define BULLET_HIT_TYPE_OBJECT (3)
  134. #define BULLET_HIT_TYPE_PLAYER_OBJECT (4)
  135.  
  136. // Defines
  137. #define MAX_ATTACHED_OBJECTS        10
  138. #define MAX_FILTER_SCRIPTS          16
  139. #define AFK_ACCURACY                1500
  140.  
  141. #define MAX_PVARS                   800
  142. #define MAX_PVAR_NAME               40
  143.  
  144. #define MAX_MENU_TEXT_SIZE          32
  145. #define MAX_ITEMS                   12
  146. #define MAX_COLUMNS                 2
  147.  
  148. enum CON_VARTYPE { CON_VARTYPE_FLOAT, CON_VARTYPE_INT, CON_VARTYPE_BOOL, CON_VARTYPE_STRING };
  149.  
  150. #define CON_VARFLAG_DEBUG       1
  151. #define CON_VARFLAG_READONLY    2
  152. #define CON_VARFLAG_RULE        4   // Gets sent with a RULES query responce
  153.  
  154. struct __declspec(align(1))  CVector
  155. {
  156.     float fX;
  157.     float fY;
  158.     float fZ;
  159. };
  160.  
  161. typedef struct _MATRIX4X4
  162. {
  163.     CVector right;
  164.     DWORD  flags;
  165.     CVector up;
  166.     float  pad_u;
  167.     CVector at;
  168.     float  pad_a;
  169.     CVector pos;
  170.     float  pad_p;
  171. } MATRIX4X4, *PMATRIX4X4;
  172.  
  173. struct __declspec(align(1))  ConsoleVariable_s
  174. {
  175.     CON_VARTYPE     VarType;
  176.     DWORD           VarFlags;
  177.     void*           VarPtr;
  178.     void*   VarChangeFunc;
  179. };
  180.  
  181. struct __declspec(align(1))  C3DText  // size 0x21
  182. {
  183.     __unaligned __declspec(align(1)) char*          szText;                                     // + 0x00
  184.     __unaligned __declspec(align(1)) DWORD          dwColor;                         // + 0x04
  185.     __unaligned __declspec(align(1)) CVector            vecPos;
  186.     __unaligned __declspec(align(1)) float          fDrawDistance;                     // + 0x14
  187.     __unaligned __declspec(align(1)) bool           bLineOfSight;            // + 0x18
  188.     __unaligned __declspec(align(1)) int                iWorld;                  // + 0x19
  189.     __unaligned __declspec(align(1)) WORD           attachedToPlayerID;    // + 0x1D
  190.     __unaligned __declspec(align(1)) WORD           attachedToVehicleID;   // + 0x1F
  191. };
  192.  
  193. /* -------------------------------------------------------- */
  194. // CPlayer
  195. /* -------------------------------------------------------- */
  196.  
  197. // Big thanks to OrMisicL
  198. struct __declspec(align(1))  CAimSyncData
  199. {
  200.     __unaligned __declspec(align(1)) BYTE           byteCameraMode;         // 0
  201.     __unaligned __declspec(align(1)) CVector            vecFront;               // 1 - 13
  202.     __unaligned __declspec(align(1)) CVector            vecPosition;            // 13 - 25
  203.     __unaligned __declspec(align(1)) float          fZAim;                  // 25 - 29
  204.     __unaligned __declspec(align(1)) BYTE           byteWeaponState;    // 29
  205.     __unaligned __declspec(align(1)) BYTE           unk;                    // 30 - 31
  206.     __unaligned __declspec(align(1)) WORD           wCameraObject;          // 31 - 33
  207.     __unaligned __declspec(align(1)) WORD           wCameraVehicle;         // 33 - 35
  208.     __unaligned __declspec(align(1)) WORD           wCameraPlayer;          // 35 - 37
  209.     __unaligned __declspec(align(1)) WORD           wCameraActor;           // 37 - 39
  210.     // Size = 39
  211. };
  212.  
  213. struct __declspec(align(1))  CVehicleSyncData
  214. {
  215.     __unaligned __declspec(align(1)) WORD           wVehicleId;             // 0x001F - 0x0021
  216.     __unaligned __declspec(align(1)) WORD           wUDAnalog;              // 0x0021 - 0x0023
  217.     __unaligned __declspec(align(1)) WORD           wLRAnalog;              // 0x0023 - 0x0025
  218.     __unaligned __declspec(align(1)) WORD           wKeys;                  // 0x0025 - 0x0027
  219.     __unaligned __declspec(align(1)) float          fQuaternionAngle;       // 0x0027 - 0x002B
  220.     __unaligned __declspec(align(1)) CVector            vecQuaternion;          // 0x002B - 0x0037
  221.     __unaligned __declspec(align(1)) CVector            vecPosition;            // 0x0037 - 0x0043
  222.     __unaligned __declspec(align(1)) CVector            vecVelocity;            // 0x0043 - 0x004F
  223.     __unaligned __declspec(align(1)) float          fHealth;                // 0x004F - 0x0053
  224.     __unaligned __declspec(align(1)) BYTE           bytePlayerHealth;       // 0x0053 - 0x0054
  225.     __unaligned __declspec(align(1)) BYTE           bytePlayerArmour;       // 0x0054 - 0x0055
  226.     __unaligned __declspec(align(1)) BYTE           bytePlayerWeapon;       // 0x0055 - 0x0056
  227.     __unaligned __declspec(align(1)) BYTE           byteSirenState;         // 0x0056 - 0x0057
  228.     __unaligned __declspec(align(1)) BYTE           byteGearState;          // 0x0057 - 0x0058
  229.     __unaligned __declspec(align(1)) WORD           wTrailerID;             // 0x0058 - 0x005A
  230.     __unaligned __declspec(align(1)) float           fTrainSpeed;
  231.     // Size = 63
  232. };
  233.  
  234. struct __declspec(align(1))  CPassengerSyncData
  235. {
  236.     __unaligned __declspec(align(1)) WORD           wVehicleId;             // 0x005E - 0x0060
  237.     __unaligned __declspec(align(1)) BYTE           byteSeatFlags;
  238.     __unaligned __declspec(align(1)) BYTE           bytePlayerWeapon;       // 0x0061 - 0x0062
  239.     __unaligned __declspec(align(1)) BYTE           bytePlayerHealth;       // 0x0062 - 0x0063
  240.     __unaligned __declspec(align(1)) BYTE           bytePlayerArmour;       // 0x0063 - 0x0064
  241.     __unaligned __declspec(align(1)) WORD           wUDAnalog;              // 0x0064 - 0x0066
  242.     __unaligned __declspec(align(1)) WORD           wLRAnalog;              // 0x0066 - 0x0068
  243.     __unaligned __declspec(align(1)) WORD           wKeys;                  // 0x0068 - 0x006A
  244.     __unaligned __declspec(align(1)) CVector            vecPosition;            // 0x006A - 0x0076
  245.     // Size = 24
  246. };
  247.  
  248. struct __declspec(align(1))  CSyncData
  249. {
  250.     WORD            wUDAnalog;              // 0x0076 - 0x0078
  251.     WORD            wLRAnalog;              // 0x0078 - 0x007A
  252.     WORD            wKeys;                  // 0x007A - 0x007C
  253.     CVector         vecPosition;            // 0x007C - 0x0088
  254.     float           fQuaternion[4];         // 0x0088 - 0x008C
  255.     BYTE            byteHealth;             // 0x0098 - 0x0099
  256.     BYTE            byteArmour;             // 0x0099 - 0x009A
  257.     BYTE            byteWeapon;             // 0x009A - 0x009B
  258.     BYTE            byteSpecialAction;      // 0x009B - 0x009C
  259.     CVector         vecVelocity;            // 0x009C - 0x00A8
  260.     CVector         vecSurfing;             // 0x00A8 - 0x00B4
  261.     WORD            wSurfingInfo;           // 0x00B4 - 0x00B6
  262.     DWORD       dwAnimationData;        // 0x00B6 - 0x00BA
  263.     // Size = 68
  264. };
  265.  
  266. struct __declspec(align(1))  CUnoccupiedSyncData // size 0x43
  267. {
  268.     WORD            wVehicleID;             // + 0x0000
  269.     BYTE            bytePassengerSlot;          // + 0x0002
  270.     CVector         vecRool;                // + 0x0003
  271.     CVector         vecDirection;           // + 0x000F
  272.     CVector         vecPosition;            // + 0x001B
  273.     CVector         vecVelocity;            // + 0x0027
  274.     CVector         vecTurnVelocity;        // + 0x0033
  275.     float           fHealth;                    // + 0x003F
  276. };
  277.  
  278. struct __declspec(align(1))  CSpectatingSyncData        // size 0x12
  279. {
  280.     WORD            wLeftRightKeysOnSpectating;             // + 0x0000
  281.     WORD            wUpDownKeysOnSpectating;                // + 0x0002
  282.     WORD            wKeysOnSpectating;                      // + 0x0004
  283.     CVector         vecPosition;                            // + 0x0006
  284. };
  285.  
  286. struct __declspec(align(1))  CTrailerSyncData // size 0x36 = 54
  287. {
  288.     WORD            wTrailerID;             // + 0x0000
  289.     CVector         vecRoll;                // + 0x0002
  290.     CVector         vecDirection;           // + 0x000E
  291.     CVector         vecPosition;            // + 0x001A
  292.     CVector         vecVelocity;            // + 0x0026
  293.     DWORD           pad;
  294. };
  295.  
  296. typedef struct __declspec(align(1))  CTextdraw
  297. {
  298.     BYTE byteFlags;         // 25
  299.     float           fLetterWidth;           // 1
  300.     float           fLetterHeight;      // 5
  301.     DWORD           dwLetterColor;      // 9
  302.     float           fLineWidth;         // 13
  303.     float           fLineHeight;            // 17
  304.     DWORD           dwBoxColor;         // 21
  305.     BYTE            byteShadow; // 26
  306.     BYTE            byteOutline; // 27
  307.     DWORD           dwBackgroundColor; // 31
  308.     BYTE            byteStyle; // 32
  309.     BYTE            byteSelectable; // 32
  310.     float           fX; // 33
  311.     float           fY; // 37
  312.     WORD            dwModelIndex; // 41 - 43
  313.     CVector         vecRot;  // 43 - 55
  314.     float           fZoom; // 55 - 59
  315.     WORD            color1; // 59 - 61
  316.     WORD            color2; // 61 - 63
  317. } _CTextdraw;
  318.  
  319. struct __declspec(align(1))  CPlayerTextDraw
  320. {
  321.     BOOL            bSlotState[MAX_PLAYER_TEXT_DRAWS];
  322.     CTextdraw       *TextDraw[MAX_PLAYER_TEXT_DRAWS];
  323.     char            *szFontText[MAX_PLAYER_TEXT_DRAWS];
  324.     bool            bHasText[MAX_PLAYER_TEXT_DRAWS];
  325. };
  326.  
  327. struct __declspec(align(1))  CPlayerText3DLabels // size 0x9802
  328. {
  329.     C3DText         TextLabels[ MAX_3DTEXT_PLAYER ];    // + 0x0000
  330.     BOOL            isCreated[ MAX_3DTEXT_PLAYER ]; // + 0x8400
  331.     BYTE            unknown9800[MAX_3DTEXT_PLAYER];             // + 0x9400
  332.     WORD            wOwnerID;
  333. };
  334.  
  335. struct __declspec(align(1))  CAttachedObject // sizeof = 52 - 0x34
  336. {
  337.     int             iModelID;
  338.     int             iBoneiD;
  339.     CVector         vecPos;
  340.     CVector         vecRot;
  341.     CVector         vecScale;
  342.     DWORD           dwMaterialColor1;
  343.     DWORD           dwMaterialColor2;
  344. };
  345.  
  346. struct __declspec(align(1))  CPlayerSpawnInfo // size  46
  347. {
  348.     BYTE            byteTeam;               // 0 - 1
  349.     int             iSkin;                  // 1 - 5
  350.     BYTE            unk;                    // 5 - 6
  351.     CVector         vecPos;             // 6 - 18
  352.     float           fRotation;          // 18 - 22
  353.     int             iSpawnWeapons[3];       // 22 - 34
  354.     int             iSpawnWeaponsAmmo[3];   // 34 - 46
  355. };
  356.  
  357. struct __declspec(align(1))  CBulletSyncData // sizeof = 40
  358. {
  359.     BYTE            byteHitType;
  360.     WORD            wHitID;
  361.     CVector         vecHitOrigin;
  362.     CVector         vecHitTarget;
  363.     CVector         vecCenterOfHit;
  364.     BYTE            byteWeaponID;
  365. };
  366.  
  367. struct __declspec(align(1))  CPVar
  368. {
  369.     char            szVarName[MAX_PVAR_NAME + 1];
  370.     BOOL            bIsReadOnly;
  371.     int             iVarType;
  372.     int             iValue;
  373.     float           fValue;
  374.     char*           szValue;
  375. };
  376.  
  377. struct __declspec(align(1))  CPlayerVar
  378. {
  379.     CPVar           Vars[MAX_PVARS];
  380.     BOOL            bIsPVarActive[MAX_PVARS];
  381.     int             iUpperIndex;
  382. };
  383.  
  384. struct __declspec(align(1))  CPlayer
  385. {
  386.     CAimSyncData            aimSyncData;            // 0 - 39
  387.     CVehicleSyncData        vehicleSyncData;        // 39 -
  388.     CPassengerSyncData      passengerSyncData;      //
  389.     CSyncData               syncData;               // 126 - 194
  390.     CUnoccupiedSyncData     unoccupiedSyncData;     // 194 - 261
  391.     CSpectatingSyncData     spectatingSyncData;     // 261 - 279
  392.     CTrailerSyncData        trailerSyncData;        // 279 - 333
  393.     DWORD                   dwPlayerSyncUnused;     // 333 - 337
  394.     DWORD                   dwVehicleSyncUnused;    // 337 - 341
  395.     BYTE                    byteStreamedIn[MAX_PLAYERS];                // 341 - 1341
  396.     BYTE                    byteVehicleStreamedIn[MAX_VEHICLES];        // 1341 - 3341
  397.     BYTE                    byteSomethingUnused[1000];                  // 3341 - 4341
  398.     BYTE                    byte3DTextLabelStreamedIn[1024];            // 4341  - 5365
  399.     BYTE                    bPickupStreamedIn[MAX_PICKUPS];             // 5365 - 9461
  400.     BYTE                    byteActorStreamedIn[MAX_PLAYERS];           // 9461 - 10461
  401.     DWORD                   dwStreamedInPlayers;                        // 10461 - 10465
  402.     DWORD                   dwStreamedInVehicles;                       // 10465 - 10469
  403.     DWORD                   dwStreamedInSomethingUnused;                // 10469 - 10473
  404.     DWORD                   dwStreamedIn3DTextLabels;                   // 10479 - 10477
  405.     DWORD                   dwStreamedInPickups;                        // 10477 - 10481
  406.     DWORD                   dwStreamedInActors;                         // 10481 - 10485
  407.     DWORD                   bHasSetVehiclePos;  // 10485 - 10489
  408.     DWORD                   dwSetVehiclePosTick;// 10489 - 10493
  409.     CVector                 vecVehicleNewPos;   // 10493 - 10505
  410.     BOOL                    bCameraTarget;      // 10505
  411.     DWORD                   bHasSpawnInfo;      // 10509
  412.     BOOL                    bUpdateKeys;        // 10513
  413.     CVector                 vecPosition;        // 10517
  414.     float                   fHealth;            // 10529 - 10533
  415.     float                   fArmour;            // 10533 - 10537
  416.     float                   fQuaternion[4];     // 10537 - 10553
  417.     float                   fAngle;             // 10553 - 10557
  418.     CVector                 vecVelocity;        // 10557 - 10569
  419.     WORD                    wUDAnalog;          // 10569
  420.     WORD                    wLRAnalog;          // 10571
  421.     DWORD                   dwKeys;             // 10573 - 10577
  422.     DWORD                   dwOldKeys;          // 10577 - 10581
  423.     BOOL                    bEditObject;        // 10581 - 10585
  424.     BOOL                    bEditAttachedObject;// 10585 - 10589
  425.     WORD                    wDialogID;          // 10589 - 10591
  426.     CPlayerTextDraw*        pTextdraw;          // 10591 - 10595
  427.     CPlayerText3DLabels*    p3DText;            // 10595 - 10599
  428.     WORD                    wPlayerId;          // 10599 - 10601
  429.     int                     iUpdateState;       // 10601 - 10605
  430.     //DWORD                 dwLastSyncTick;     // 10605 - 10609
  431.     CAttachedObject         attachedObject[MAX_ATTACHED_OBJECTS]; // 10605 - 11125
  432.     BOOL                    attachedObjectSlot[MAX_ATTACHED_OBJECTS]; // 11125 - 11165
  433.     BOOL                    bHasAimSync;        // 11165 - 11169
  434.     BOOL                    bHasTrailerSync;    // 11169 - 11173
  435.     BOOL                    bHasUnoccupiedSync; // 11173 - 11177
  436.     BYTE                    byteState;          // 11177 - 11178
  437.     CVector                 vecCPPos;           // 11178 - 11190
  438.     float                   fCPSize;            // 11190 - 11194
  439.     BOOL                    bIsInCP;            // 11194 - 11198
  440.     CVector                 vecRaceCPPos;       // 11198 - 11210
  441.     CVector                 vecRaceCPNextPos;   // 11210 - 11222
  442.     BYTE                    byteRaceCPType;     // 11222 - 11223 // TODO -> replace
  443.     float                   fRaceCPSize;        // 11223 - 11227
  444.     BOOL                    bIsInRaceCP;        // 11227 - 11231
  445.     BOOL                    bIsInModShop;       // 11231 - 11235
  446.     WORD                    wSkillLevel[11];    // 11235 - 11257
  447.     int                     iLastMarkerUpdate;  // 11257 - 11261
  448.     CPlayerSpawnInfo        spawn;              // 11261 - 11307
  449.     BOOL                    bReadyToSpawn;      // 11307 - 11311
  450.     BYTE                    byteWantedLevel;    // 11311 - 11312
  451.     BYTE                    byteFightingStyle;  // 11312 - 11313
  452.     BYTE                    byteSeatId;         // 11313 - 11314
  453.     WORD                    wVehicleId;         // 11314 - 11316
  454.     DWORD                   dwNickNameColor;    // 11316 - 11320
  455.     BOOL                    bShowCheckpoint;    // 11320 - 11324
  456.     BOOL                    bShowRaceCheckpoint;// 11324 - 11328
  457.     int                     iInteriorId;        // 11328 - 11332
  458.     WORD                    wWeaponAmmo[12];    // 11332 - 11356
  459.     BYTE padgeci[28];                               // 11356 - 11384
  460.     BYTE                    byteWeaponId[12];   // 11384 - 11396
  461.     BYTE                    byteWeaponID_unknown;// 11396 - 11397
  462.     BYTE                    byteCurrentWeapon;  // 11397 - 11398
  463.     WORD                    wTargetId;          // 11398 - 11400
  464.     WORD                    wTargetActorId;     // 11400 - 11402
  465.     DWORD                   dwLastShotTick;     // 11402 - 11406
  466.     BYTE                    dwLastShotWeapon;   // 11406 - 11407
  467.     CBulletSyncData         bulletSyncData;     // 11407 - 11447   
  468.     BYTE                    m_byteTime;         // 11447 - 11448
  469.     float                   m_fGameTime;        // 11448 - 11452
  470.     BYTE                    byteSpectateType;   // 11452 - 11453
  471.     DWORD                   wSpectateID;        // 11453 - 11457
  472.     DWORD                   dwLastStreaming;    // 11457 - 11461
  473.     DWORD                   dwNPCRecordingType; // 11461 - 11465
  474.     FILE                    *pRecordingFile;    // 11465 - 11469
  475.     DWORD                   dwFirstNPCWritingTime; // 11469 - 11473
  476.     BYTE egcifasz[9];                           // 11473 - 11482
  477.     CPlayerVar*             pPlayerVars;        // 11482 - 11486
  478.     // Size = 9963
  479. };
  480.  
  481. struct __declspec(align(1))  CPlayerPool // sizeof = 99520
  482. {
  483.     DWORD           dwVirtualWorld[MAX_PLAYERS];            // 0 - 4000
  484.     DWORD           dwPlayersCount;                         // 4000 - 4004
  485.     DWORD           dwlastMarkerUpdate;                     // 4004 - 4008
  486.     float           fUpdatePlayerGameTimers;                // 4008 - 4012
  487.     DWORD           dwScore[MAX_PLAYERS];                   // 4012 - 8012
  488.     DWORD           dwMoney[MAX_PLAYERS];                   // 8012 - 12012
  489.     DWORD           dwDrunkLevel[MAX_PLAYERS];              // 12012 - 16012
  490.     DWORD           dwLastScoreUpdate[MAX_PLAYERS];         // 16012 - 20012
  491.     char            szSerial[MAX_PLAYERS][101];             // 20012 - 121012              
  492.     char            szVersion[MAX_PLAYERS][29];             // 121012 - 150012
  493.     BOOL            bIsPlayerConnectedEx[MAX_PLAYERS];      // 150012 - 154012
  494.     CPlayer         *pPlayer[MAX_PLAYERS];                  // 154012 - 158012
  495.     char            szName[MAX_PLAYERS][25];                // 158012 - 183012
  496.     BOOL            bIsAnAdmin[MAX_PLAYERS];                // 183012 - 187012
  497.     BOOL            bIsNPC[MAX_PLAYERS];                    // 187012 - 191012
  498.     BYTE asdasd[8000];                                      // 191012 - 199012
  499.     DWORD           dwConnectedPlayers;                     // 199012 - 199016
  500.     DWORD           dwPlayerPoolSize;                       // 199016 - 199020
  501. };
  502.  
  503. /* -------------------------------------------------------- */
  504. // CVehicle
  505. /* -------------------------------------------------------- */
  506.  
  507. struct __declspec(align(1))  CVehicleSpawn // size 36
  508. {
  509.     int             iModelID;
  510.     CVector         vecPos;  
  511.     float           fRot;
  512.     int             iColor1;  
  513.     int             iColor2;  
  514.     int             iRespawnTime;
  515.     int             iInterior;
  516. };
  517.  
  518. struct __declspec(align(1))  CVehicleModInfo // sizeof = 26
  519. {
  520.     BYTE            byteModSlots[14];                // + 0x0000
  521.     BYTE            bytePaintJob;                    // + 0x000E
  522.     int             iColor1;                             // + 0x000F
  523.     int             iColor2;                             // + 0x0010
  524. };
  525.  
  526. struct __declspec(align(1))  CVehicleParams // sizeof = 16
  527. {
  528.     BYTE engine;
  529.     BYTE lights;
  530.     BYTE alarm;
  531.     BYTE doors;
  532.     BYTE bonnet;
  533.     BYTE boot;
  534.     BYTE objective; // 6
  535.     BYTE siren; // 7
  536.     BYTE door_driver; // 8
  537.     BYTE door_passenger;
  538.     BYTE door_backleft;
  539.     BYTE door_backright; // 11
  540.     BYTE windows_driver; // 12
  541.     BYTE windows_passenger;
  542.     BYTE windows_backleft;
  543.     BYTE windows_backright; // 15 - 16
  544. };
  545.  
  546. struct __declspec(align(1))  CVehicle
  547. {
  548.     CVector         vecPosition;        // 0 - 12
  549.     MATRIX4X4       vehMatrix;          // 12 - 76
  550.     CVector         vecVelocity;        // 76 - 88
  551.     CVector         vecTurnSpeed;       // 88 - 100
  552.     WORD            wVehicleID;         // 100 - 102
  553.     WORD            wTrailerID;         // 102 - 104
  554.     WORD            wCabID;             // 104 - 106
  555.     WORD            wLastDriverID;      // 106 - 108
  556.     WORD            vehPassengers[7];   // 108 - 122
  557.     DWORD           vehActive;          // 122 - 126
  558.     DWORD           vehWasted;          // 126 - 130   
  559.     CVehicleSpawn   customSpawn;        // 130 - 166
  560.     float           fHealth;            // 166 - 170
  561.     DWORD           vehDoorStatus;      // 170 - 174
  562.     DWORD           vehPanelStatus;     // 174 - 178
  563.     BYTE            vehLightStatus;     // 178 - 179
  564.     BYTE            vehTireStatus;      // 179 - 180
  565.     bool            bDead;              // 180 - 181
  566.     WORD            wKillerID;          // 181 - 183
  567.     CVehicleModInfo vehModInfo;         // 183 - 206
  568.     char            szNumberplate[32 + 1]; // 206 - 239
  569.     CVehicleParams  vehParamEx;         // 239 - 255
  570.     BYTE            bDeathNotification; // 255 - 256
  571.     BYTE            bOccupied;          // 256 - 257
  572.     DWORD           vehOccupiedTick;    // 257 - 261
  573.     DWORD           vehRespawnTick;     // 261 -265
  574. };
  575.  
  576. struct __declspec(align(1))  CVehiclePool
  577. {
  578.     BYTE            byteVehicleModelsUsed[212];         // 0 - 212
  579.     int             iVirtualWorld[MAX_VEHICLES];        // 212 - 8212
  580.     BOOL            bVehicleSlotState[MAX_VEHICLES];    // 8212 - 16212
  581.     CVehicle        *pVehicle[MAX_VEHICLES];            // 16212 - 24212
  582.     DWORD           dwVehiclePoolSize;                  // 24212
  583. };
  584.  
  585. /* -------------------------------------------------------- */
  586. // CPickup
  587. /* -------------------------------------------------------- */
  588.  
  589. struct tPickup // size 0x14
  590. {
  591.     int             iModel;
  592.     int             iType;
  593.     CVector         vecPos;
  594. };
  595.  
  596. struct __declspec(align(1))  CPickupPool
  597. {
  598.     tPickup         Pickup[MAX_PICKUPS];            // + 0x0000
  599.     BOOL            bActive[MAX_PICKUPS];           // + 0xA000
  600.     int             iWorld[MAX_PICKUPS];        // + 0xC000
  601.     int             iPickupCount;
  602. };
  603.  
  604. /* -------------------------------------------------------- */
  605. // CObject
  606. /* -------------------------------------------------------- */
  607.  
  608. struct __declspec(align(1))  CObjectMaterial // sizeof = 212
  609. {
  610.     BYTE            byteUsed;               // 197 - 198
  611.     BYTE            byteSlot;               // 198 - 199
  612.     WORD            wModelID;               // 199 - 201
  613.     DWORD           dwMaterialColor;        // 201 - 205
  614.     char            szMaterialTXD[64 + 1];  // 205 - 270
  615.     char            szMaterialTexture[64 + 1]; // 270 - 335
  616.     BYTE            byteMaterialSize;       // 335 - 336
  617.     char            szFont[64 + 1];         // 336 - 401
  618.     BYTE            byteFontSize;           // 401 - 402
  619.     BYTE            byteBold;               // 402 - 403
  620.     DWORD           dwFontColor;            // 403 - 407
  621.     DWORD           dwBackgroundColor;      // 407 - 411
  622.     BYTE            byteAlignment;          // 411 - 412
  623. };
  624.  
  625. struct __declspec(align(1))  CObject // sizeof = 3700
  626. {
  627.     WORD            wObjectID;          // 0 - 2
  628.     int             iModel;             // 2 - 6
  629.     BOOL            bActive;            // 6 - 10
  630.     MATRIX4X4       matWorld;           // 10 - 74 - pos - Object position
  631.     CVector         vecRot;             // 74 - 86 - Object rotation
  632.     MATRIX4X4       matTarget;          // 86 - 150 -
  633.     BYTE            bIsMoving;          // 150 - 151
  634.     BYTE            bNoCameraCol;       // 151 - 152
  635.     float           fMoveSpeed;         // 152 - 156
  636.     DWORD           unk_4;              // 156 -160
  637.     float           fDrawDistance;      // 160 - 164
  638.     WORD            wAttachedVehicleID; // 164 - 166
  639.     WORD            wAttachedObjectID;  // 166 - 168
  640.     CVector         vecAttachedOffset;  // 168 - 180
  641.     CVector         vecAttachedRotation;// 180 - 192
  642.     BYTE            byteSyncRot;        // 192 - 193
  643.     DWORD           dwMaterialCount;    // 193 - 197
  644.     CObjectMaterial Material[16];       // 197 - 3637
  645.     char            *szMaterialText[16];// 3637 - 3653
  646. };
  647.  
  648. struct __declspec(align(1))  CObjectPool
  649. {
  650.     BOOL            bPlayerObjectSlotState[MAX_PLAYERS][MAX_OBJECTS];   // 0
  651.     BOOL            bPlayersObject[MAX_OBJECTS];                            // 4.000.000
  652.     CObject         *pPlayerObjects[MAX_PLAYERS][MAX_OBJECTS];      // 4.004.000
  653.     BOOL            bObjectSlotState[MAX_OBJECTS];                      // 8.004.000
  654.     CObject         *pObjects[MAX_OBJECTS];                         // 8.008.000
  655. };
  656.  
  657. /* -------------------------------------------------------- */
  658. // CMenu
  659. /* -------------------------------------------------------- */
  660.  
  661. struct MenuInteraction
  662. {
  663.     BOOL            Menu;
  664.     BOOL            Row[MAX_ITEMS];
  665.     char            unknown[12];
  666. };
  667.    
  668. struct __declspec(align(1))  CMenu  // size 0xB84
  669. {
  670.     BYTE            menuID;                                                     // + 0x0000
  671.     char            szTitle[ MAX_MENU_TEXT_SIZE ];                              // + 0x0001
  672.     char            szItems[ MAX_ITEMS ][ MAX_COLUMNS ][ MAX_MENU_TEXT_SIZE ];  // + 0x0021
  673.     char            szHeaders[MAX_COLUMNS][MAX_MENU_TEXT_SIZE];                 // + 0x0321
  674.     BOOL            bIsInitiedForPlayer[MAX_PLAYERS];                           // + 0x0361
  675.     MenuInteraction interaction;                                                // + 0x0B31
  676.     float           fPosX;                                                      // + 0x0B71
  677.     float           fPosY;                                                      // + 0x0B75
  678.     float           fColumn1Width;                                              // + 0x0B79
  679.     float           fColumn2Width;                                              // + 0x0B7D
  680.     BYTE            byteColumnsNumber;                                          // + 0x0B81
  681.     BYTE            byteItemsCount[ MAX_COLUMNS ];                              // + 0x0B82
  682. };
  683.  
  684. struct __declspec(align(1))  CMenuPool
  685. {
  686.     CMenu*          pMenu[ MAX_MENUS ];         //  + 0x0000
  687.     BOOL            bIsCreated[ MAX_MENUS ];        //  + 0x0200
  688.     BOOL            bPlayerMenu[MAX_PLAYERS];   //  + 0x0400
  689. };
  690.  
  691. /* -------------------------------------------------------- */
  692. // CTextDraw
  693. /* -------------------------------------------------------- */
  694. struct __declspec(align(1))  CTextDrawPool
  695. {
  696.     BOOL            bSlotState[MAX_TEXT_DRAWS];
  697.     CTextdraw*      TextDraw[MAX_TEXT_DRAWS];
  698.     char*           szFontText[MAX_TEXT_DRAWS];
  699.     bool            bHasText[MAX_TEXT_DRAWS][MAX_PLAYERS];
  700. };
  701.  
  702. /* -------------------------------------------------------- */
  703. // C3DText
  704. /* -------------------------------------------------------- */
  705.  
  706. class C3DTextPool
  707. {
  708. public:
  709.     BOOL            bIsCreated[MAX_3DTEXT_GLOBAL]; // 0 - 4096 <- OK
  710.     C3DText         TextLabels[MAX_3DTEXT_GLOBAL];
  711. };
  712.  
  713. /* -------------------------------------------------------- */
  714. // CGangZone
  715. /* -------------------------------------------------------- */
  716.  
  717. struct __declspec(align(1))  CSAMPGangZonePool
  718. {
  719.     float           fGangZone[MAX_GANG_ZONES][4];
  720.     BOOL            bSlotState[MAX_GANG_ZONES];
  721. };
  722.  
  723. /* -------------------------------------------------------- */
  724. // CActor
  725. /* -------------------------------------------------------- */
  726.  
  727. struct __declspec(align(1))  CActor
  728. {
  729.     BYTE pad0;              // 0
  730.     int iSkinID;            // 1 - 5
  731.     CVector vecSpawnPos;    // 5 - 17
  732.     float fSpawnAngle;      // 17 - 21
  733.     DWORD pad4;             // 21 - 25
  734.     DWORD pad5;             // 25 - 29
  735.     BYTE pad6;              // 29 - 30
  736.     char animation[140];    // 30 - 170
  737.     WORD pad7;              // 170 - 171
  738.     float fHealth;          // 172 - 176
  739.     DWORD pad;              // 176 - 180
  740.     float fAngle;           // 180 - 184
  741.     CVector vecPos;         // 184 - 196
  742.     DWORD pad8[3];          // 196 - 208
  743.     BYTE byteInvulnerable;  // 208 - 209
  744.     WORD wActorID;          // 209 - 211
  745. };
  746.  
  747. struct __declspec(align(1))  CActorPool
  748. {
  749.     int iActorVirtualWorld[MAX_ACTORS];
  750.     BOOL bValidActor[MAX_ACTORS];
  751.     CActor* pActor[MAX_ACTORS];
  752.     DWORD dwActorPoolSize;
  753. };
  754.  
  755.  
  756. struct __declspec(align(1))  CNetGame
  757. {
  758.         void                *pGameModePool;         // 0
  759.         void            *pFilterScriptPool;     // 4
  760.         CPlayerPool             *pPlayerPool;           // 8
  761.         CVehiclePool            *pVehiclePool;          // 12
  762.         CPickupPool             *pPickupPool;           // 16
  763.         CObjectPool             *pObjectPool;           // 20
  764.         CMenuPool               *pMenuPool;             // 24
  765.         CTextDrawPool           *pTextDrawPool;         // 28
  766.         C3DTextPool             *p3DTextPool;           // 32
  767.         void            *pGangZonePool;         // 36
  768.         CActorPool              *pActorPool;            // 40
  769.         int                     iCurrentGameModeIndex;  // 44
  770.         int                     iCurrentGameModeRepeat; // 48
  771.         BOOL                    bFirstGameModeLoaded;   // 52
  772.         BOOL                    unkasdasd;              // 56
  773.         void            *pScriptTimers;         // 60
  774.         void                *pRak;                  // 64
  775.         DWORD                   dwSomethingTick;
  776.         DWORD                   dwUnk;
  777.         DWORD                   dwUnk1;
  778.         BOOL                    bLanMode;               //
  779.         BOOL                    bShowPlayerMarkers;     // 84
  780.         BYTE                    byteShowNameTags;       //
  781.         BYTE                    bTirePopping;           //
  782.         BYTE                    byteAllowWeapons;       //
  783.         BYTE                    byteStuntBonus;         // 91 - 92
  784.         BYTE                    byteDefaultCameraCollision; // 92 - 93
  785.         BYTE                    byteWeather;            // 93 - 94
  786.         int                     iGameState;             // 94 - 98
  787.         float                   fGravity;               // 98 - 102
  788.         int                     iDeathDropMoney;        // 102 - 106
  789.         BYTE                    unklofasz;              // 106 - 107
  790.         BYTE                    byteMode;               // 107 - 108
  791.         BYTE                    bLimitGlobalChatRadius; // 108 - 109
  792.         BYTE                    bUseCJWalk;             // 109 - 110
  793.         float                   fGlobalChatRadius;      // 110 - 114
  794.         float                   fNameTagDrawDistance;   // 114 - 118
  795.         BYTE                    byteDisableEnterExits;  // 118 - 119
  796.         BYTE                    byteNameTagLOS;         // 119 - 120
  797.         BYTE                    bManulVehicleEngineAndLights; // 120 - 121
  798.         BYTE                    bLimitPlayerMarkers;    // 121 - 122
  799.         float                   fPlayerMarkesLimit;     // 122 - 126
  800.         BOOL                    bVehicleFriendlyFire;   // 126 - 130
  801.         int                     iSpawnsAvailable;       // 130 - 134
  802.         CPlayerSpawnInfo        AvailableSpawns[300];   // 129 - 13929
  803. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement