Advertisement
Guest User

RPC

a guest
Dec 20th, 2014
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 42.28 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Threading;
  7.  
  8. namespace PreGameEditor
  9. {
  10. class RPC
  11. {
  12. #region RPC
  13. public static void Enable()
  14. {
  15. if (PS3.Extension.ReadString(0x00277213) == "H")
  16. {
  17. //This will check if the RPC is set already, to prevent freeze's.
  18. }
  19. else
  20. {
  21. byte[] WritePPC = new byte[] {0x3F,0x80,0x10,0x05,0x81,0x9C,0x00,0x48,0x2C,0x0C,0x00,0x00,0x41,0x82,0x00,0x78,
  22. 0x80,0x7C,0x00,0x00,0x80,0x9C,0x00,0x04,0x80,0xBC,0x00,0x08,0x80,0xDC,0x00,0x0C,
  23. 0x80,0xFC,0x00,0x10,0x81,0x1C,0x00,0x14,0x81,0x3C,0x00,0x18,0x81,0x5C,0x00,0x1C,
  24. 0x81,0x7C,0x00,0x20,0xC0,0x3C,0x00,0x24,0xC0,0x5C,0x00,0x28,0xC0,0x7C,0x00,0x2C,
  25. 0xC0,0x9C,0x00,0x30,0xC0,0xBC,0x00,0x34,0xC0,0xDC,0x00,0x38,0xC0,0xFC,0x00,0x3C,
  26. 0xC1,0x1C,0x00,0x40,0xC1,0x3C,0x00,0x44,0x7D,0x89,0x03,0xA6,0x4E,0x80,0x04,0x21,
  27. 0x38,0x80,0x00,0x00,0x90,0x9C,0x00,0x48,0x90,0x7C,0x00,0x4C,0xD0,0x3C,0x00,0x50,
  28. 0x48,0x00,0x00,0x14};
  29. PS3.SetMemory(func_address, new byte[] { 0x41 });
  30. PS3.SetMemory(func_address + 4, WritePPC);
  31. PS3.SetMemory(func_address, new byte[] { 0x40 });
  32. Thread.Sleep(10);
  33. RPC.DestroyAll();
  34. }
  35. }
  36.  
  37. public static void EnableRPC()
  38. {
  39. PS3.SetMemory(0x523b10, new byte[0x87f]);
  40. byte[] bytes = new byte[4];
  41. bytes[0] = 0x60;
  42. PS3.SetMemory(0x18be6c, bytes);
  43. bytes = new byte[4];
  44. bytes[0] = 0x60;
  45. PS3.SetMemory(0x3bc9cc, bytes);
  46. bytes = new byte[4];
  47. bytes[0] = 0x48;
  48. bytes[3] = 0x68;
  49. PS3.SetMemory(0x18be74, bytes);
  50. PS3.SetMemory(0x1db1244, new byte[4]);
  51. PS3.SetMemory(0x114ae64, new byte[4]);
  52. PS3.SetMemory(0x3bc9e4, new byte[] {
  53. 0x41, 130, 2, 0x20, 0x3d, 0, 0, 0x52, 0x80, 0x68, 0x3b, 0x10, 0x80, 0x88, 0x3b, 20,
  54. 0x80, 0xa8, 0x3b, 0x18, 0x80, 200, 0x3b, 0x1c, 0x80, 0xe8, 0x3b, 0x20, 0x39, 0, 0, 0,
  55. 0x48, 0, 0, 0x1d, 60, 0x80, 1, 0x15, 0x90, 100, 0xae, 100, 0x38, 0x80, 0, 0,
  56. 60, 0x60, 1, 0xdb, 0x90, 0x83, 0x12, 0x44, 0x48, 0, 1, 0xe8, 0x4e, 0x80, 0, 0x20,
  57. 0x60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  58. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  59. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  60. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  61. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  62. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  63. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  64. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  65. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  66. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  67. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  68. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  69. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  70. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  71. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  72. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  73. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  74. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  75. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  76. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  77. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  78. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  79. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  80. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  81. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  82. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  83. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  84. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  85. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  86. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x60, 0, 0, 0
  87. });
  88. }
  89.  
  90.  
  91. public static void DestroyAll()
  92. {
  93. Byte[] clear = new Byte[0xB4 * 1024];
  94. PS3.SetMemory(0xF0E10C, clear);
  95. }
  96.  
  97.  
  98. private static void WriteSingle(uint address, float input)
  99. {
  100. byte[] array = new byte[4];
  101. BitConverter.GetBytes(input).CopyTo(array, 0);
  102. Array.Reverse(array, 0, 4);
  103. PS3.SetMemory(address, array);
  104. }
  105.  
  106. private static void WriteSingle(uint address, float[] input)
  107. {
  108. int length = input.Length;
  109. byte[] array = new byte[length * 4];
  110. for (int i = 0; i < length; i++)
  111. {
  112. ReverseBytes(BitConverter.GetBytes(input[i])).CopyTo(array, (int)(i * 4));
  113. }
  114. PS3.SetMemory(address, array);
  115. }
  116.  
  117.  
  118. private static byte[] ReverseBytes(byte[] inArray)
  119. {
  120. Array.Reverse(inArray);
  121. return inArray;
  122. }
  123.  
  124. public static Int32 Call(UInt32 address, params Object[] parameters)
  125. {
  126. Int32 length = parameters.Length;
  127. Int32 index = 0;
  128. UInt32 count = 0;
  129. UInt32 Strings = 0;
  130. UInt32 Single = 0;
  131. UInt32 Array = 0;
  132. while (index < length)
  133. {
  134. if (parameters[index] is Int32)
  135. {
  136. PS3.Extension.WriteInt32(0x10050000 + (count * 4), (Int32)parameters[index]);
  137. count++;
  138. }
  139. else if (parameters[index] is UInt32)
  140. {
  141. PS3.Extension.WriteUInt32(0x10050000 + (count * 4), (UInt32)parameters[index]);
  142. count++;
  143. }
  144. else if (parameters[index] is Int16)
  145. {
  146. PS3.Extension.WriteInt16(0x10050000 + (count * 4), (Int16)parameters[index]);
  147. count++;
  148. }
  149. else if (parameters[index] is UInt16)
  150. {
  151. PS3.Extension.WriteUInt16(0x10050000 + (count * 4), (UInt16)parameters[index]);
  152. count++;
  153. }
  154. else if (parameters[index] is Byte)
  155. {
  156. PS3.Extension.WriteByte(0x10050000 + (count * 4), (Byte)parameters[index]);
  157. count++;
  158. } //Should work now :D let me try
  159. else
  160. {
  161. UInt32 pointer;
  162. if (parameters[index] is String)
  163. {
  164. pointer = 0x10052000 + (Strings * 0x400);
  165. PS3.Extension.WriteString(pointer, Convert.ToString(parameters[index]));
  166. PS3.Extension.WriteUInt32(0x10050000 + (count * 4), pointer);
  167. count++;
  168. Strings++;
  169. }
  170. else if (parameters[index] is Single)
  171. {
  172. WriteSingle(0x10050024 + (Single * 4), (Single)parameters[index]);
  173. Single++;
  174. }
  175. else if (parameters[index] is Single[])
  176. {
  177. Single[] Args = (Single[])parameters[index];
  178. pointer = 0x10051000 + Array * 4;
  179. WriteSingle(pointer, Args);
  180. PS3.Extension.WriteUInt32(0x10050000 + count * 4, pointer);
  181. count++;
  182. Array += (UInt32)Args.Length;
  183. }
  184.  
  185. }
  186. index++;
  187. }
  188. PS3.Extension.WriteUInt32(0x10050048, address);
  189. Thread.Sleep(20);
  190. return PS3.Extension.ReadInt32(0x1005004c);
  191. }
  192.  
  193. public static uint func_address = 0x0277208;
  194. public static uint str_pointer(string str)
  195. {
  196. uint addr = 0x523B30;
  197. byte[] check = new byte[1];
  198. uint i;
  199. for (i = 0; i < 5; i++)
  200. {
  201. PS3.GetMemoryR(addr, ref check);
  202. if (check[0] == 0x00)
  203. break;
  204. if (i == 4)
  205. {
  206. i = 0; break;
  207. }
  208. }
  209. addr = (0x523B30 + (i * 0x68));
  210. PS3.SetMemory(addr, new byte[0x68]);
  211. PS3.SetMemory(addr, Encoding.UTF8.GetBytes(str));
  212.  
  213. return addr;
  214. }
  215. public static void CallFunc(uint func_addr, uint param1 = 0, uint param2 = 0, uint param3 = 0, uint param4 = 0, uint param5 = 0)
  216. {
  217. byte[] par1 = BitConverter.GetBytes(param1);
  218. byte[] par2 = BitConverter.GetBytes(param2);
  219. byte[] par3 = BitConverter.GetBytes(param3);
  220. byte[] par4 = BitConverter.GetBytes(param4);
  221. byte[] par5 = BitConverter.GetBytes(param5);
  222. Array.Reverse(par1);
  223. Array.Reverse(par2);
  224. Array.Reverse(par3);
  225. Array.Reverse(par4);
  226. Array.Reverse(par5);
  227. PS3.SetMemory(0x523B10, par1);
  228. PS3.SetMemory(0x523B14, par2);
  229. PS3.SetMemory(0x523B18, par3);
  230. PS3.SetMemory(0x523B1C, par4);
  231. PS3.SetMemory(0x523B20, par5);
  232. PS3.SetMemory(0x3BCA04, MakeBl(0x3BCA04, func_addr));
  233. PS3.SetMemory(0x1DB1244, new byte[] { 0x00, 0x00, 0x00, 0x01 });
  234.  
  235. }
  236. public static uint GetFuncReturn()
  237. {
  238. byte[] ret = new byte[4];
  239. PS3.GetMemoryR(0x114AE64, ref ret);
  240. Array.Reverse(ret);
  241. return BitConverter.ToUInt32(ret, 0);
  242. }
  243.  
  244. public static byte[] MakeBl(uint callAddr, uint addrToBlTo)
  245. {
  246. byte[] instruction = new byte[4];
  247. uint addr_t = (uint)(((int)addrToBlTo - (int)callAddr) + 1);
  248. if ((int)addrToBlTo > (int)callAddr) instruction[3] = 0x48;
  249. else
  250. {
  251. instruction[3] = 0x4B; addr_t = (uint)(0x1000000 - ((int)callAddr - (int)addrToBlTo) + 1);
  252. }
  253. byte[] addr = BitConverter.GetBytes(addr_t);
  254. for (int i = 0; i < 3; i++)
  255. {
  256. instruction[i] = addr[i];
  257. }
  258. Array.Reverse(instruction);
  259. return instruction;
  260. }
  261.  
  262. public static void SV_Kickclient(int client, string command)
  263. {
  264. CallFunc(Addresses.SV_KickClient, (uint)client, 0, str_pointer(command), 0, 0);
  265. }
  266. public static void SV_GameSendServerCommand(int client, string command)
  267. {
  268. CallFunc(Addresses.SV_GameSendServerCommand, (uint)client, 0, str_pointer(command), 0, 0);
  269.  
  270. }
  271.  
  272.  
  273.  
  274.  
  275. public static void iPrintln(int client, string Text)
  276. {
  277. SV_GameSendServerCommand((int)client, "f \"" + Text + "\"");
  278. Thread.Sleep(20);
  279. }
  280. public static void iPrintlnBold(uint client, string Text)
  281. {
  282. SV_GameSendServerCommand((int)client, "c \"" + Text + "\"");
  283. Thread.Sleep(20);
  284. }
  285.  
  286. public static void method_25(int int_4, string string_3)
  287. {
  288. SV_GameSendServerCommand(int_4, "q " + string_3);
  289. }
  290.  
  291. public static void SetModel(int client, string model)
  292. {
  293. CallFunc(Addresses.G_SetModel, (uint)(Addresses.G_Entity + (client * 640)), str_pointer(model), 0, 0, 0);
  294. }
  295.  
  296.  
  297.  
  298. public static void Visions(uint client, string VisionName)
  299. {
  300.  
  301. SV_GameSendServerCommand((int)client, "J \"" + VisionName + "\"");
  302. }
  303.  
  304. public static void Fov(int client, string Text)
  305. {
  306. SV_GameSendServerCommand((int)client, "q \"cg_fov \"" + Text + "\"");
  307. System.Threading.Thread.Sleep(20);
  308. }
  309. #region Cbuf_AddText
  310. public static void CBuf_AddText(int client, string command)
  311. {
  312. CallFunc(Addresses.CBuf_AddText, (uint)client, str_pointer(command), 0, 0, 0);
  313. }
  314. #endregion
  315.  
  316. #region G_ClientFunction
  317. public static uint G_ClientFunction(int client)
  318. {
  319. return Addresses.G_Client + ((uint)client * 0x3980);
  320. }
  321. #endregion
  322. public static void GiveWeapon(int client, int weapon)
  323. {
  324. CallFunc(Addresses.G_GivePlayerWeapon, (uint)G_ClientFunction(client), (uint)weapon, 0);
  325. CallFunc(Addresses.Add_Ammo, (uint)(Addresses.G_Entity + (client * 0x280)), (uint)weapon, 0, 9999, 1);
  326. }
  327.  
  328.  
  329. #endregion
  330.  
  331. #region Addresses
  332. public static class Addresses
  333. {
  334. public static uint
  335. G_Client = 0x110A280,
  336. g_client = 0x110A280,
  337. G_ClientIndex = 0x3980,
  338. EntityIndex = 0x280,
  339. G_Entity = 0xFCA280,
  340. MapBrushModel = 0x7F80,
  341. BG_GetPerkIndexForName = 0x210B0,
  342. BG_GetNumWeapons = 0x3CFBC,
  343. BG_FindWeaponIndexForName = 0x3CFD0,
  344. BG_GetWeaponIndexForName = 0x3D434,
  345. BG_GetViewModelWeaponIndex = 0x3D7D8,
  346. Cmd_ExecuteSingleCommand = 0x1DB240,
  347. BG_WeaponFireRecoil = 0x3FBD0,
  348. CG_FireWeapon = 0xBE498,
  349. Key_IsDown = 0xD1CD8,
  350. Key_StringToKeynum = 0xD1D18,
  351. Key_IsValidGamePadChar = 0xD1E64,
  352. Key_KeyNumToString = 0xD1EA4,
  353. Key_Unbind_f = 0xD2368,
  354. Key_Bind_f = 0xD247C,
  355. BG_TakePlayerWeapon = 0x1C409C,
  356. G_GivePlayerWeapon = 0x1C3034,
  357. SV_GameSendServerCommand = 0x228FA8,
  358. SV_GetConfigString = 0x22A4A8,
  359. SV_SetConfigString = 0x22A208,
  360. va = 0x299490,
  361. G_SetModel = 0x1BEF5C,
  362. G_LocalizedStringIndex = 0x1BE6CC,
  363. G_MaterialIndex = 0x1BE744,
  364. G_ModelIndex = 0x1BE7A8,
  365. G_ModelName = 0x1BE8A0,
  366. Add_Ammo = 0x18A29C,
  367. PlayerCmd_SetPerk = 0x17EBE8,
  368. G_Damage = 0x183E18,
  369. G_RadiusDamage = 0x185600,
  370. G_GetClientScore = 0x18EA74,
  371. G_GetClientDeaths = 0x18EA98,
  372. Cmd_AddCommandInternal = 0x1DC4FC,
  373. CBuf_AddText /*(int localClientNum, const char *text)*/ = 0x001DB240,
  374. SV_SendDisconnect /*(client_s *client, int state, const char *reason)*/ = 0x0022472C,
  375. SV_SendClientGameState /*(client_s *client)*/ = 0x002284F8,
  376. SV_KickClient /*(client_s *cl, char *playerName, int maxPlayerNameLen)*/ = 0x00223BD0,
  377. G_CallSpawnEntity /*(gentity_s *ent)*/ = 0x001BA730,
  378. Player_Die /*(unsigned int *self, unsigned int *inflictor, unsigned int *attacker, int damage, int meansOfDeath, int iWeapon, const float *vDir, unsigned int hitLoc, int psTimeOffset)*/ = 0x00183748,
  379. SV_DropClient /*(client_s *drop, const char *reason, bool tellThem)*/ = 0x002249FC,
  380. SV_SendServerCommand /*(client_s *,svscmd_type,char const *,...)*/ = 0x0022CEBC,
  381. Scr_Notify /*(gentity_s *ent, unsigned __int16 stringValue, unsigned int paramcount)*/ = 0x001BB1B0,
  382. Sv_SetGametype /*(void)*/ = 0x00229C1C,
  383. Sv_Maprestart /*(int fast_restart)*/ = 0x00223774,
  384. sv_maprestart_f = 0x00223B20,
  385. sv_spawnsever /*(const char *server)*/ = 0x0022ADF8,
  386. sv_map_f = 0x002235A0,
  387. sv_matchend /*(void)*/ = 0x0022F7A8,
  388. R_AddCmdDrawText /*(const char *text, int maxChars, void *font, float x, float y, float xScale, float yScale, float rotation, const float *color, int style)*/ = 0x00393640,
  389. R_RegisterFont /*(char* asset, int imagetrack)*/ /*(const char *name, int imageTrack)*/ = 0x003808B8,
  390. R_AddCmdDrawStretchPic /*(float x, float y, float w, float h, float xScale, float yScale, float xay, float yay, const float *color, int material)*/ = 0x00392D78,
  391. CL_DrawTextHook /*(const char *text, int maxChars, void *font, float x, float y, float xScale, float yScale, const float *color, int style)*/ = 0x000D93A8,
  392. R_AddCmdDrawTextWithEffects /*(char const *,int,Font_s *,float,float,float,float,float,float const * const,int,float const * const,Material *,Material *,int,int,int,int)*/ = 0x003937C0,
  393. CG_BoldGameMessage /*(int LocalClientNum, const char *Message)*/ = 0x0007A5C8,
  394. UI_FillRectPhysical /*(float x, float y, float width, float height, const float *color)*/ = 0x0023A810,
  395. UI_DrawLoadBar /*(ScreenPlacement *scrPlace, float x, float y, float w, float h, int horzAlign, int vertAlign, const float *color, Material *material)*/ = 0x0023A730,
  396. Scr_MakeGameMessage /*(int iClientNum, const char *pszCmd)*/ = 0x001B07F0,
  397. Scr_ConstructMessageString /*(int firstParmIndex, int lastParmIndex, const char *errorContext, char *string, unsigned int stringLimit)*/ = 0x001B04F4,
  398. R_NormalizedTextScale /*(Font_s *font, float scale)*/ = 0x003808F0,
  399. TeleportPlayer /*(gentity_s *player, float *origin, float *angles)*/ = 0x00191B00,
  400. CL_DrawText /*(ScreenPlacement *scrPlace, const char *text, int maxChars, Font_s *font, float x, float y, int horzAlign, int vertAlign, float xScale, float yScale, const float *color, int style)*/ = 0x000D9490,
  401. CL_DrawTextRotate /*(ScreenPlacement *scrPlace, const char *text, int maxChars, Font_s *font, float x, float y, float rotation, int horzAlign, int vertAlign, float xScale, float yScale, const float *color, int style)*/ = 0x000D9554,
  402. SV_GameDropClient /*(int clientNum, const char *reason)*/ = 0x00229020,
  403. Dvar_GetBool /*(const char *dvarName)*/ = 0x00291060,
  404. Dvar_GetInt /*(const char *dvarName)*/ = 0x002910DC,
  405. Dvar_GetFloat /*(const char *dvarName)*/ = 0x00291148,
  406. Dvar_RegisterBool /*(const char *dvarName, bool value, unsigned __int16 flags, const char *description)*/ = 0x002933F0,
  407. Dvar_IsValidName /*(const char *dvarName)*/ = 0x0029019C,
  408. Material_RegisterHandle /*(const char *name, int imageTrack)*/ = 0x0038B044,
  409. CL_RegisterFont /*(const char *fontName, int imageTrack)*/ = 0x000D9734,
  410. SetClientViewAngle /*(gentity_s *ent, const float *angle)*/ = 0x001767E0,
  411. R_RegisterDvars /*(void)*/ = 0x0037E420,
  412. PlayerCmd_SetClientDvar /*(scr_entref_t entref)*/ = 0x0017CB4C,
  413. Jump_RegisterDvars /*(void)*/ = 0x00018E20,
  414. AimTarget_RegisterDvars = 0x00012098,
  415. G_FreeEntity /*(gentity_s *ed)*/ = 0x001C0840,
  416. G_EntUnlink /*(gentity_s *ent)*/ = 0x001C4A5C,
  417. SV_DObjGetTree /*(gentity_s *ent)*/ = 0x00229A68,
  418. BG_GetEntityTypeName /*(const int eType)*/ = 0x0001D1F0,
  419. CL_GetClientState /*(int localClientNum, uiClientState_s *state)*/ = 0x000E26A8,
  420. CL_GetConfigString /*(int localClientNum, int configStringIndex)*/ = 0x000C5E7C,
  421. Info_ValueForKey /*(const char *s, const char *key)*/ = 0x00299604,
  422. Scr_GetInt /*(unsigned int index)*/ = 0x002201C4,
  423. ClientSpawn /*(gentity_s *ent, const float *spawn_origin, const float *spawn_angles)*/ = 0x00177468,
  424. Sv_ClientCommand /*(client_s *cl, msg_t *msg)*/ = 0x00228178,
  425. Sv_ExecuteClientMessage /*(client_s *cl, msg_t *msg)*/ = 0x00228B50,
  426. Sv_ExecuteClientCommand /*(client_s *cl, const char *s, int clientOK)*/ = 0x00182DEC,
  427. ClientCommand /*(int clientNum)*/ = 0x00182440,
  428. CalculateRanks /*(void)*/ = 0x0019031C,
  429. ClientScr_SetScore /*(gclient_s *pSelf, client_fields_s *pField)*/ = 0x00176150,
  430. ClientScr_SetMaxHealth /*(gclient_s *pSelf, client_fields_s *pField)*/ = 0x00176094,
  431. Sv_ReceiveStats /*(netadr_t from, msg_t *msg)*/ = 0x002244E0,
  432. ClientConnect /*(int clientNum, unsigned __int16 scriptPersId)*/ = 0x001771A0,
  433. Sv_DirectConnect /*(netadr_t from)*/ = 0x00255BB4,
  434. Sv_SetConfigstring /*(int index, const char *val)*/ = 0x0022A208,
  435. Sv_AddServerCommand /*(client_s *client, svscmd_type type, const char *cmd)*/ = 0x0022CBA0,
  436. IntermissionClientEndFrame /*(gentity_s *ent)*/ = 0x001745F8,
  437. memset = 0x0049B928,
  438. str_pointer = 0x523b30,
  439. g_gametype = 0x8360d5;
  440. }
  441. #endregion
  442.  
  443.  
  444. }
  445.  
  446. #region Offsets
  447. public static class offset
  448. {
  449. public static uint Akimbo_Secondary = 0x0110a531;
  450. public static uint Akimbo_Primary = 0x0110a549;
  451. public static uint GrandeLuncherBullets = 0x0110a6b4;
  452. public static uint GrandeLuncherClip = 0x0110a630;
  453. public static class Primary
  454. {
  455. public static uint
  456. Weapon1 = 0x0110a4fd,
  457. Weapon2 = 0x0110a5f1,
  458. Weapon3 = 0x0110a6a5,
  459. AmmoClip = 0x0110a628,
  460. AmmoBullets = Primary.Weapon3 + 0x3,// = 0x0110a6a8,
  461. AkimboAmmo = 0x0110a6ac;
  462. }
  463. public static class Secondary
  464. {
  465. public static uint
  466. Weapon1 = 0x0110a4f5,
  467. Weapon2 = 0x0110a5f1,
  468. Weapon3 = 0x0110a68d,
  469. AmmoClip = 0x0110a618,
  470. AmmoBullets = Secondary.Weapon3 + 0x3,// = 0x0110a690
  471. AkimboAmmo = 0x0110a694;
  472. }
  473. public static class _3Weapon
  474. {
  475. public static uint
  476. Weapon1 = 0x0110a505,
  477. Weapon2 = 0x0110a63d,
  478. Weapon3 = 0x0110a6c9,
  479. AmmoBullets = _3Weapon.Weapon3 + 0x3, // = 0x0110a640
  480. AmmoClip = _3Weapon.Weapon2 + 0x3; // = 0x0110a6cc
  481. }
  482. public static class _4Weapon
  483. {
  484. public static uint
  485. Weapon1 = 0x0110a509,
  486. Weapon2 = 0x0110a645,
  487. Weapon3 = 0x0110a6d5,
  488. AmmoBullets = _4Weapon.Weapon3 + 0x3, // = 0x0110a648
  489. AmmoClip = _4Weapon.Weapon2 + 0x3; // = 0x0110a6d8
  490. }
  491. public static class _5Weapon
  492. {
  493. public static uint
  494. Weapon1 = 0x0110a50d,
  495. Weapon2 = 0x0110a64d,
  496. Weapon3 = 0x0110a6e1,
  497. AmmoBullets = _5Weapon.Weapon3 + 0x3, // = 0x0110a6e4
  498. AmmoClip = _5Weapon.Weapon2 + 0x3; // = 0x0110a6d8
  499. }
  500. public static class _6Weapon
  501. {
  502. public static uint
  503. Weapon1 = 0x0110a511,
  504. Weapon2 = 0x0110a655,
  505. Weapon3 = 0x0110a6bd,
  506. AmmoBullets = _6Weapon.Weapon3 + 0x3, // = 0x0110a6c0
  507. AmmoClip = _6Weapon.Weapon2 + 0x3; // = 0x0110a658
  508. }
  509. public static class Tactical
  510. {
  511. public static uint
  512. Weapon1 = 0x0110a501,
  513. Weapon2 = 0x0110a635,
  514. Weapon3 = 0x0110a6bd,
  515. AmmoBullets = Tactical.Weapon3 + 0x3, // = 0x0110a6c0
  516. AmmoClip = Tactical.Weapon2 + 0x3; // = 0x0110a638
  517. }
  518. public static class Lethal
  519. {
  520. public static uint
  521. Weapon1 = 0x0110a4f9,
  522. Weapon2 = 0x0110a61d,
  523. Weapon3 = 0x0110a6c9,
  524. AmmoBullets = Lethal.Weapon3 + 0x3, // = 0x0110a620
  525. AmmoClip = Lethal.Weapon2 + 0x3, // = 0x0110a6cc
  526. RealAmmo = 0x0110a69c;
  527. }
  528. }
  529.  
  530.  
  531. #endregion
  532. //Mw3 Weapons List by Bytes:
  533. #region WeaponList
  534. public static class WeaponList
  535. {
  536. //3 Bytes: 0x00,0x00,0x00
  537. //First is 2nd Attachment
  538. //Second is 1st Attachment + Camo
  539. //Third is Weapon
  540. public static class Seatown
  541. {
  542. public static byte[] DefaultWeapon = new byte[] { 0x00, 0x00, 0x01 };
  543. public static byte[] Stick = new byte[] { 0x00, 0x00, 0x02 };
  544. public static byte[] RiotShield = new byte[] { 0x00, 0x00, 0x03 };
  545. public static byte[] RiotShield_2 = new byte[] { 0x00, 0x00, 0x04 };
  546. public static byte[] Magnum_44 = new byte[] { 0x00, 0x00, 0x05 };
  547. public static byte[] USP_45 = new byte[] { 0x00, 0x00, 0x06 };
  548. public static byte[] USP_45_2 = new byte[] { 0x00, 0x00, 0x07 };
  549. public static byte[] Desert_Eagle = new byte[] { 0x00, 0x00, 0x08 };
  550. public static byte[] MP412 = new byte[] { 0x00, 0x00, 0x09 };
  551. public static byte[] MP412_2 = new byte[] { 0x00, 0x00, 0x0A };
  552. public static byte[] P99 = new byte[] { 0x00, 0x00, 0x0B };
  553. public static byte[] Five_Seven = new byte[] { 0x00, 0x00, 0x0C };
  554. public static byte[] FMG9 = new byte[] { 0x00, 0x00, 0x0D };
  555. public static byte[] Skorpion = new byte[] { 0x00, 0x00, 0x0E };
  556. public static byte[] MP9 = new byte[] { 0x00, 0x00, 0x0F };
  557. public static byte[] G18 = new byte[] { 0x00, 0x00, 0x10 };
  558. public static byte[] MP5 = new byte[] { 0x00, 0x00, 0x11 };
  559. public static byte[] PM_9 = new byte[] { 0x00, 0x00, 0x12 };
  560. public static byte[] P90 = new byte[] { 0x00, 0x00, 0x13 };
  561. public static byte[] PP90M1 = new byte[] { 0x00, 0x00, 0x14 };
  562. public static byte[] UMP45 = new byte[] { 0x00, 0x00, 0x15 };
  563. public static byte[] MP7 = new byte[] { 0x00, 0x00, 0x16 };
  564. public static byte[] AK47 = new byte[] { 0x00, 0x00, 0x17 };
  565. public static byte[] M16A4 = new byte[] { 0x00, 0x00, 0x18 };
  566. public static byte[] M4A1 = new byte[] { 0x00, 0x00, 0x19 };
  567. public static byte[] FAD = new byte[] { 0x00, 0x00, 0x1A };
  568. public static byte[] ACR6_8 = new byte[] { 0x00, 0x00, 0x1B };
  569. public static byte[] Type95 = new byte[] { 0x00, 0x00, 0x1C };
  570. public static byte[] MK14 = new byte[] { 0x00, 0x00, 0x1D };
  571. public static byte[] SCAR_L = new byte[] { 0x00, 0x00, 0x1E };
  572. public static byte[] G36C = new byte[] { 0x00, 0x00, 0x1F };
  573. public static byte[] CM901 = new byte[] { 0x00, 0x00, 0x20 };
  574. public static byte[] M203 = new byte[] { 0x00, 0x00, 0x21 };
  575. public static byte[] M320_GLM = new byte[] { 0x00, 0x00, 0x22 };
  576. public static byte[] RPG = new byte[] { 0x00, 0x00, 0x23 };
  577. public static byte[] SMAW = new byte[] { 0x00, 0x00, 0x24 };
  578. public static byte[] Stinger = new byte[] { 0x00, 0x00, 0x25 };
  579. public static byte[] Javelin = new byte[] { 0x00, 0x00, 0x26 };
  580. public static byte[] XM25 = new byte[] { 0x00, 0x00, 0x27 };
  581. public static byte[] Dragunov = new byte[] { 0x00, 0x00, 0x28 };
  582. public static byte[] MSR = new byte[] { 0x00, 0x00, 0x29 };
  583. public static byte[] Barret_50Cal = new byte[] { 0x00, 0x00, 0x2A };
  584. public static byte[] RSASS = new byte[] { 0x00, 0x00, 0x2B };
  585. public static byte[] AS50 = new byte[] { 0x00, 0x00, 0x2C };
  586. public static byte[] L118A = new byte[] { 0x00, 0x00, 0x2D };
  587. public static byte[] KSG12 = new byte[] { 0x00, 0x00, 0x2E };
  588. public static byte[] Model1887 = new byte[] { 0x00, 0x00, 0x2F };
  589. public static byte[] Striker = new byte[] { 0x00, 0x00, 0x30 };
  590. public static byte[] AA_12 = new byte[] { 0x00, 0x00, 0x31 };
  591. public static byte[] USAS_12 = new byte[] { 0x00, 0x00, 0x32 };
  592. public static byte[] SPAS12 = new byte[] { 0x00, 0x00, 0x33 };
  593. public static byte[] M60E4_Juggernaut = new byte[] { 0x00, 0x00, 0x34 };
  594. public static byte[] AUG_HBAR = new byte[] { 0x04, 0x06, 0x34 };
  595. public static byte[] M60E4 = new byte[] { 0x00, 0x00, 0x35 };
  596. public static byte[] MK46 = new byte[] { 0x00, 0x00, 0x36 };
  597. public static byte[] PKP_PECHENEG = new byte[] { 0x00, 0x00, 0x37 };
  598. public static byte[] L86_LSW = new byte[] { 0x00, 0x00, 0x38 };
  599. public static byte[] MG36 = new byte[] { 0x00, 0x00, 0x39 };
  600. public static byte[] C4 = new byte[] { 0x00, 0x00, 0x3A };
  601. public static byte[] C4_Glitch /*(Throw it, and after 8 seconds, it blowing)*/ = new byte[] { 0x00, 0x00, 0x3B };
  602. public static byte[] Claymore = new byte[] { 0x00, 0x00, 0x3C };
  603. public static byte[] Trophy_System = new byte[] { 0x00, 0x00, 0x3D };
  604. public static byte[] MZ3_Designanator /*(F2000)*/ = new byte[] { 0x00, 0x00, 0x3E };
  605. public static byte[] Scrambler = new byte[] { 0x00, 0x00, 0x3F };
  606. public static byte[] NoWeapon = new byte[] { 0x00, 0x00, 0x40 };
  607. public static byte[] Semtex = new byte[] { 0x00, 0x00, 0x41 };
  608. public static byte[] Frag = new byte[] { 0x00, 0x00, 0x42 };
  609. public static byte[] Flash = new byte[] { 0x00, 0x00, 0x43 };
  610. public static byte[] Smoke = new byte[] { 0x00, 0x00, 0x44 };
  611. public static byte[] Stun = new byte[] { 0x00, 0x00, 0x45 };
  612. public static byte[] EMP_Grande = new byte[] { 0x00, 0x00, 0x46 };
  613. public static byte[] Throwing_Knife = new byte[] { 0x00, 0x00, 0x47 };
  614. public static byte[] Bouncing_Betty = new byte[] { 0x00, 0x00, 0x48 };
  615. public static byte[] Tactical_Insertion = new byte[] { 0x00, 0x00, 0x49 };
  616. public static byte[] Flashing_Weapon = new byte[] { 0x00, 0x00, 0x4A };
  617. public static byte[] Frag_2 = new byte[] { 0x00, 0x00, 0x4B };
  618. public static byte[] NoWeapon_2 = new byte[] { 0x00, 0x00, 0x4C };
  619. public static byte[] NoWeapon_3 = new byte[] { 0x00, 0x00, 0x4D };
  620. public static byte[] Portable_Radar /*(Fake)*/ = new byte[] { 0x00, 0x00, 0x4E };
  621. public static byte[] Bomb = new byte[] { 0x00, 0x00, 0x4F };
  622. public static byte[] Bomb_2 = new byte[] { 0x00, 0x00, 0x50 };
  623. public static byte[] Phone = new byte[] { 0x00, 0x00, 0x5F };
  624. public static byte[] Laptop = new byte[] { 0x00, 0x00, 0x52 };
  625. public static byte[] Phone_2 = new byte[] { 0x00, 0x00, 0x62 };
  626. public static byte[] Laptop_2 = new byte[] { 0x00, 0x00, 0x56 };
  627. public static byte[] Airdrop_Marker = new byte[] { 0x00, 0x00, 0x5D };
  628. public static byte[] Vest = new byte[] { 0x00, 0x00, 0x60 };
  629. public static byte[] Airdrop_Trap_Marker = new byte[] { 0x00, 0x00, 0x61 };
  630. public static byte[] Airdrop_Escort_Marker = new byte[] { 0x00, 0x00, 0x66 };
  631. public static byte[] AC130_25mm = new byte[] { 0x00, 0x00, 0x67 };
  632. public static byte[] AC130_40mm = new byte[] { 0x00, 0x00, 0x68 };
  633. public static byte[] AC130_105mm = new byte[] { 0x00, 0x00, 0x69 };
  634. public static byte[] Stinger_Bullet = new byte[] { 0x00, 0x00, 0x6A };
  635. public static byte[] Javelin_Fake = new byte[] { 0x00, 0x00, 0x6B };
  636. public static byte[] Harriar_Bullets = new byte[] { 0x00, 0x00, 0x6F };
  637. public static byte[] Harriar_Rockets = new byte[] { 0x00, 0x00, 0x70 };
  638. public static byte[] Helicopter_Bullets = new byte[] { 0x00, 0x00, 0x71 };
  639. public static byte[] Frag_Airdrop_Trap /*(Explode like carapackage trap)*/ = new byte[] { 0x00, 0x00, 0x72 };
  640. public static byte[] Osprey_Vision = new byte[] { 0x00, 0x00, 0x73 };
  641. public static byte[] Strafe_Run = new byte[] { 0x00, 0x00, 0x74 };
  642. public static byte[] Pavelow_Bullets = new byte[] { 0x00, 0x00, 0x75 };
  643. public static byte[] EscortAirdrop_Bullets = new byte[] { 0x00, 0x00, 0x76 };
  644. public static byte[] Ripper_Vision = new byte[] { 0x00, 0x00, 0x7F };
  645. public static byte[] Ripper_Vision_Other = new byte[] { 0x00, 0x00, 0x80 };
  646. public static byte[] Walking_IMS = new byte[] { 0x00, 0x00, 0x81 };
  647. public static byte[] Remote_Sentry_Bullets = new byte[] { 0x00, 0x00, 0x82 }; //Must give IMS Before using this, otherwise its freeze!
  648. public static byte[] Remote_Sentry_Vision = new byte[] { 0x00, 0x00, 0x84 };
  649. public static byte[] Recon_Drone_Vision = new byte[] { 0x00, 0x00, 0x85 };
  650. public static byte[] Recon_Drone_Weapon = new byte[] { 0x00, 0x00, 0x86 };
  651. public static byte[] AssaultDrone_Vision = new byte[] { 0x00, 0x00, 0x89 };
  652. public static byte[] AssaultDrone_Rockets = new byte[] { 0x00, 0x00, 0x8A };
  653. public static byte[] Osprey_Bullets = new byte[] { 0x00, 0x00, 0x7D };
  654. }
  655. public static class Dome
  656. {
  657. public static byte[] DefaultWeapon = new byte[] { 0x00, 0x00, 0x01 };
  658. public static byte[] Stick = new byte[] { 0x00, 0x00, 0x03 };
  659. public static byte[] RiotShield = new byte[] { 0x00, 0x00, 0x04 };
  660. public static byte[] RiotShield_2 = new byte[] { 0x00, 0x00, 0x05 };
  661. public static byte[] Magnum_44 = new byte[] { 0x00, 0x00, 0x06 };
  662. public static byte[] USP_45 = new byte[] { 0x00, 0x00, 0x07 };
  663. public static byte[] USP_45_2 = new byte[] { 0x00, 0x00, 0x08 };
  664. public static byte[] Desert_Eagle = new byte[] { 0x00, 0x00, 0x09 };
  665. public static byte[] MP412 = new byte[] { 0x00, 0x00, 0x0A };
  666. public static byte[] MP412_2 = new byte[] { 0x00, 0x00, 0x0B };
  667. public static byte[] P99 = new byte[] { 0x00, 0x00, 0x0C };
  668. public static byte[] Five_Seven = new byte[] { 0x00, 0x00, 0x0D };
  669. public static byte[] FMG9 = new byte[] { 0x00, 0x00, 0x0E };
  670. public static byte[] Skorpion = new byte[] { 0x00, 0x00, 0x0F };
  671. public static byte[] MP9 = new byte[] { 0x00, 0x00, 0x10 };
  672. public static byte[] G18 = new byte[] { 0x00, 0x00, 0x11 };
  673. public static byte[] MP5 = new byte[] { 0x00, 0x00, 0x12 };
  674. public static byte[] PM_9 = new byte[] { 0x00, 0x00, 0x13 };
  675. public static byte[] P90 = new byte[] { 0x00, 0x00, 0x14 };
  676. public static byte[] PP90M1 = new byte[] { 0x00, 0x00, 0x15 };
  677. public static byte[] UMP45 = new byte[] { 0x00, 0x00, 0x16 };
  678. public static byte[] MP7 = new byte[] { 0x00, 0x00, 0x17 };
  679. public static byte[] AK47 = new byte[] { 0x00, 0x00, 0x18 };
  680. public static byte[] M16A4 = new byte[] { 0x00, 0x00, 0x19 };
  681. public static byte[] M4A1 = new byte[] { 0x00, 0x00, 0x1A };
  682. public static byte[] FAD = new byte[] { 0x00, 0x00, 0x1B };
  683. public static byte[] ACR6_8 = new byte[] { 0x00, 0x00, 0x1C };
  684. public static byte[] Type95 = new byte[] { 0x00, 0x00, 0x1D };
  685. public static byte[] MK14 = new byte[] { 0x00, 0x00, 0x1E };
  686. public static byte[] SCAR_L = new byte[] { 0x00, 0x00, 0x1F };
  687. public static byte[] G36C = new byte[] { 0x00, 0x00, 0x20 };
  688. public static byte[] CM901 = new byte[] { 0x00, 0x00, 0x21 };
  689. public static byte[] M203 = new byte[] { 0x00, 0x00, 0x22 };
  690. public static byte[] M320_GLM = new byte[] { 0x00, 0x00, 0x23 };
  691. public static byte[] RPG = new byte[] { 0x00, 0x00, 0x24 };
  692. public static byte[] SMAW = new byte[] { 0x00, 0x00, 0x25 };
  693. public static byte[] Stinger = new byte[] { 0x00, 0x00, 0x26 };
  694. public static byte[] Javelin = new byte[] { 0x00, 0x00, 0x27 };
  695. public static byte[] XM25 = new byte[] { 0x00, 0x00, 0x28 };
  696. public static byte[] Dragunov = new byte[] { 0x00, 0x00, 0x29 };
  697. public static byte[] MSR = new byte[] { 0x00, 0x00, 0x2A };
  698. public static byte[] Barret_50Cal = new byte[] { 0x00, 0x00, 0x2B };
  699. public static byte[] RSASS = new byte[] { 0x00, 0x00, 0x2C };
  700. public static byte[] AS50 = new byte[] { 0x00, 0x00, 0x2D };
  701. public static byte[] L118A = new byte[] { 0x00, 0x00, 0x2E };
  702. public static byte[] KSG12 = new byte[] { 0x00, 0x00, 0x2F };
  703. public static byte[] Model1887 = new byte[] { 0x00, 0x00, 0x30 };
  704. public static byte[] Striker = new byte[] { 0x00, 0x00, 0x31 };
  705. public static byte[] AA_12 = new byte[] { 0x00, 0x00, 0x32 };
  706. public static byte[] USAS_12 = new byte[] { 0x00, 0x00, 0x33 };
  707. public static byte[] SPAS12 = new byte[] { 0x00, 0x00, 0x34 };
  708. public static byte[] M60E4_Juggernaut = new byte[] { 0x00, 0x00, 0x35 };
  709. public static byte[] M60E4 = new byte[] { 0x00, 0x00, 0x36 };
  710. public static byte[] MK46 = new byte[] { 0x00, 0x00, 0x37 };
  711. public static byte[] PKP_PECHENEG = new byte[] { 0x00, 0x00, 0x38 };
  712. public static byte[] L86_LSW = new byte[] { 0x00, 0x00, 0x39 };
  713. public static byte[] MG36 = new byte[] { 0x00, 0x00, 0x3A };
  714. public static byte[] C4 = new byte[] { 0x00, 0x00, 0x3B };
  715. public static byte[] C4_Glitch /*(Throw it, and after 8 seconds, it blowing)*/ = new byte[] { 0x00, 0x00, 0x3C };
  716. public static byte[] Claymore = new byte[] { 0x00, 0x00, 0x3D };
  717. public static byte[] Trophy_System = new byte[] { 0x00, 0x00, 0x3E };
  718. public static byte[] MZ3_Designanator /*(F2000)*/ = new byte[] { 0x00, 0x00, 0x3F };
  719. public static byte[] Scrambler = new byte[] { 0x00, 0x00, 0x40 };
  720. public static byte[] NoWeapon = new byte[] { 0x00, 0x00, 0x41 };
  721. public static byte[] Semtex = new byte[] { 0x00, 0x00, 0x42 };
  722. public static byte[] Frag = new byte[] { 0x00, 0x00, 0x43 };
  723. public static byte[] Flash = new byte[] { 0x00, 0x00, 0x44 };
  724. public static byte[] Smoke = new byte[] { 0x00, 0x00, 0x45 };
  725. public static byte[] Stun = new byte[] { 0x00, 0x00, 0x46 };
  726. public static byte[] EMP_Grande = new byte[] { 0x00, 0x00, 0x47 };
  727. public static byte[] Throwing_Knife = new byte[] { 0x00, 0x00, 0x48 };
  728. public static byte[] Bouncing_Betty = new byte[] { 0x00, 0x00, 0x49 };
  729. public static byte[] Tactical_Insertion = new byte[] { 0x00, 0x00, 0x4A };
  730. public static byte[] Flashing_Weapon = new byte[] { 0x00, 0x00, 0x4B };
  731. public static byte[] Frag_2 = new byte[] { 0x00, 0x00, 0x4C };
  732. public static byte[] NoWeapon_2 = new byte[] { 0x00, 0x00, 0x4D };
  733. public static byte[] NoWeapon_3 = new byte[] { 0x00, 0x00, 0x4E };
  734. public static byte[] Portable_Radar /*(Fake)*/ = new byte[] { 0x00, 0x00, 0x4F };
  735. public static byte[] Bomb = new byte[] { 0x00, 0x00, 0x50 };
  736. public static byte[] Bomb_2 = new byte[] { 0x00, 0x00, 0x51 };
  737. public static byte[] Phone = new byte[] { 0x00, 0x00, 0x60 };
  738. public static byte[] Laptop = new byte[] { 0x00, 0x00, 0x53 };
  739. public static byte[] Phone_2 = new byte[] { 0x00, 0x00, 0x63 };
  740. public static byte[] Laptop_2 = new byte[] { 0x00, 0x00, 0x57 };
  741. public static byte[] Airdrop_Marker = new byte[] { 0x00, 0x00, 0x5E };
  742. public static byte[] Vest = new byte[] { 0x00, 0x00, 0x61 };
  743. public static byte[] Airdrop_Trap_Marker = new byte[] { 0x00, 0x00, 0x62 };
  744. public static byte[] Airdrop_Escort_Marker = new byte[] { 0x00, 0x00, 0x67 };
  745. public static byte[] AC130_25mm = new byte[] { 0x00, 0x00, 0x68 };
  746. public static byte[] AC130_40mm = new byte[] { 0x00, 0x00, 0x69 };
  747. public static byte[] AC130_105mm = new byte[] { 0x00, 0x00, 0x6A };
  748. public static byte[] Stinger_Bullet = new byte[] { 0x00, 0x00, 0x6B };
  749. public static byte[] Javelin_Fake = new byte[] { 0x00, 0x00, 0x6C };
  750. public static byte[] Harriar_Bullets = new byte[] { 0x00, 0x00, 0x70 };
  751. public static byte[] Harriar_Rockets = new byte[] { 0x00, 0x00, 0x71 };
  752. public static byte[] Helicopter_Bullets = new byte[] { 0x00, 0x00, 0x72 };
  753. public static byte[] Frag_Airdrop_Trap /*(Explode like carapackage trap)*/ = new byte[] { 0x00, 0x00, 0x73 };
  754. public static byte[] Osprey_Vision = new byte[] { 0x00, 0x00, 0x74 };
  755. public static byte[] Strafe_Run = new byte[] { 0x00, 0x00, 0x75 };
  756. public static byte[] Pavelow_Bullets = new byte[] { 0x00, 0x00, 0x76 };
  757. public static byte[] EscortAirdrop_Bullets = new byte[] { 0x00, 0x00, 0x77 };
  758. public static byte[] Ripper_Vision = new byte[] { 0x00, 0x00, 0x80 };
  759. public static byte[] Ripper_Vision_Other = new byte[] { 0x00, 0x00, 0x81 };
  760. public static byte[] Walking_IMS = new byte[] { 0x00, 0x00, 0x82 };
  761. public static byte[] Remote_Sentry_Bullets = new byte[] { 0x00, 0x00, 0x83 }; //Must give IMS Before using this, otherwise its freeze!
  762. public static byte[] Remote_Sentry_Vision = new byte[] { 0x00, 0x00, 0x85 };
  763. public static byte[] Recon_Drone_Vision = new byte[] { 0x00, 0x00, 0x86 };
  764. public static byte[] Recon_Drone_Weapon = new byte[] { 0x00, 0x00, 0x87 };
  765. public static byte[] AssaultDrone_Vision = new byte[] { 0x00, 0x00, 0x8A };
  766. public static byte[] AssaultDrone_Rockets = new byte[] { 0x00, 0x00, 0x8B };
  767. public static byte[] Osprey_Bullets = new byte[] { 0x00, 0x00, 0x7E };
  768. }
  769. }
  770. #endregion
  771.  
  772. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement