Advertisement
ScriptzMoDz

MW3 Mystery Box [C#]

Aug 23rd, 2014
607
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.15 KB | None | 0 0
  1. {
  2. #region Variables
  3. private static uint Weapon = 0;
  4. private static uint[] MBIndexes = new uint[3];
  5. private static string WeaponName = null;
  6. private static Thread MBThread;
  7. #endregion
  8.  
  9. #region Read + Write
  10. private static string ReadString(uint Offset)
  11. {
  12. uint num = 0;
  13. List<byte> List = new List<byte>();
  14. while (true)
  15. {
  16. byte[] buffer = new byte[1];
  17. PS3.GetMemory(Offset + num, buffer);
  18. if (buffer[0] == 0)
  19. {
  20. return Encoding.UTF8.GetString(List.ToArray());
  21. }
  22. List.Add(buffer[0]);
  23. num++;
  24. }
  25. }
  26.  
  27. private static float ReadFloat(uint Offset)
  28. {
  29. byte[] buffer = new byte[4];
  30. PS3.GetMemory(Offset, buffer);
  31. Array.Reverse(buffer, 0, 4);
  32. return BitConverter.ToSingle(buffer, 0);
  33. }
  34.  
  35. private static int ReadInt(uint Offset)
  36. {
  37. byte[] buffer = new byte[4];
  38. PS3.GetMemory(Offset, buffer);
  39. Array.Reverse(buffer);
  40. int Value = BitConverter.ToInt32(buffer, 0);
  41. return Value;
  42. }
  43.  
  44. private static float[] ReadFloatLength(uint Offset, int Length)
  45. {
  46. byte[] buffer = new byte[Length * 4];
  47. PS3.GetMemory(Offset, buffer);
  48. Array.Reverse(buffer);
  49. float[] FArray = new float[Length];
  50. for (int i = 0; i < Length; i++)
  51. {
  52. FArray[i] = BitConverter.ToSingle(buffer, (Length - 1 - i) * 4);
  53. }
  54. return FArray;
  55. }
  56.  
  57. private static void WriteString(uint Offset, string Text)
  58. {
  59. byte[] buffer = Encoding.UTF8.GetBytes(Text);
  60. Array.Resize(ref buffer, buffer.Length + 1);
  61. PS3.SetMemory(Offset, buffer);
  62. }
  63.  
  64. private static void WriteByte(uint Offset, byte Byte)
  65. {
  66. byte[] buffer = new byte[1];
  67. buffer[0] = Byte;
  68. PS3.SetMemory(Offset, buffer);
  69. }
  70.  
  71. private static void WriteFloat(uint Offset, float Float)
  72. {
  73. byte[] buffer = new byte[4];
  74. BitConverter.GetBytes(Float).CopyTo(buffer, 0);
  75. Array.Reverse(buffer, 0, 4);
  76. PS3.SetMemory(Offset, buffer);
  77. }
  78.  
  79. private static void WriteFloatArray(uint Offset, float[] Array)
  80. {
  81. byte[] buffer = new byte[Array.Length * 4];
  82. for (int Lenght = 0; Lenght < Array.Length; Lenght++)
  83. {
  84. ReverseBytes(BitConverter.GetBytes(Array[Lenght])).CopyTo(buffer, Lenght * 4);
  85. }
  86. PS3.SetMemory(Offset, buffer);
  87. }
  88.  
  89. private static void WriteInt(uint Offset, int Value)
  90. {
  91. byte[] buffer = BitConverter.GetBytes(Value);
  92. Array.Reverse(buffer);
  93. PS3.SetMemory(Offset, buffer);
  94. }
  95.  
  96. private static void WriteUInt(uint Offset, uint Value)
  97. {
  98. byte[] buffer = new byte[4];
  99. BitConverter.GetBytes(Value).CopyTo(buffer, 0);
  100. Array.Reverse(buffer, 0, 4);
  101. PS3.SetMemory(Offset, buffer);
  102. }
  103.  
  104. private static byte[] ReverseBytes(byte[] inArray)
  105. {
  106. Array.Reverse(inArray);
  107. return inArray;
  108. }
  109. #endregion
  110.  
  111. #region RPC
  112. private static uint func_address = 0x0277208;
  113.  
  114. private static void Enable()
  115. {
  116. byte[] Check = new byte[1];
  117. PS3.GetMemory(func_address + 4, Check);
  118. if (Check[0] == 0x3F)
  119. {
  120.  
  121. }
  122. else
  123. {
  124. byte[] PPC = new byte[]
  125. {0x3F,0x80,0x10,0x05,0x81,0x9C,0,0x48,0x2C,0x0C,0, 0,0x41,0x82,0,0x78,
  126. 0x80,0x7C,0,0,0x80,0x9C,0,0x04,0x80,0xBC,0,0x08,0x80,0xDC,0,0x0C,0x80,
  127. 0xFC,0,0x10,0x81,0x1C,0,0x14,0x81,0x3C,0,0x18,0x81 ,0x5C,0,0x1C,0x81,
  128. 0x7C,0,0x20,0xC0,0x3C,0,0x24,0xC0,0x5C,0,0x28,0xC0 ,0x7C,0,0x2C,0xC0,
  129. 0x9C,0,0x30,0xC0,0xBC,0,0x34,0xC0,0xDC,0,0x38,0xC0 ,0xFC,0,0x3C,0xC1,
  130. 0x1C,0,0x40,0xC1,0x3C,0,0x44,0x7D,0x89,0x03,0xA6,0x4E,0x80,0x04,0x21,
  131. 0x38,0x80,0,0,0x90,0x9C,0,0x48,0x90,0x7C,0,0x4C,0xD0,0x3C,0,0x50,0x48,0,0,0x14};
  132. PS3.SetMemory(func_address, new byte[] { 0x41 });
  133. PS3.SetMemory(func_address + 4, PPC);
  134. PS3.SetMemory(func_address, new byte[] { 0x40 });
  135. }
  136. }
  137.  
  138. private static int Call(uint address, params object[] parameters)
  139. {
  140. int length = parameters.Length;
  141. int index = 0;
  142. uint count = 0;
  143. uint Strings = 0;
  144. uint Single = 0;
  145. uint Array = 0;
  146. while (index < length)
  147. {
  148. if (parameters[index] is int)
  149. {
  150. WriteInt(0x10050000 + (count * 4), (int)parameters[index]);
  151. count++;
  152. }
  153. else if (parameters[index] is uint)
  154. {
  155. WriteUInt(0x10050000 + (count * 4), (uint)parameters[index]);
  156. count++;
  157. }
  158. else if (parameters[index] is byte)
  159. {
  160. WriteByte(0x10050000 + (count * 4), (byte)parameters[index]);
  161. count++;
  162. }
  163. else
  164. {
  165. uint pointer;
  166. if (parameters[index] is string)
  167. {
  168. pointer = 0x10052000 + (Strings * 0x400);
  169. WriteString(pointer, Convert.ToString(parameters[index]));
  170. WriteUInt(0x10050000 + (count * 4), (uint)pointer);
  171. count++;
  172. Strings++;
  173. }
  174. else if (parameters[index] is float)
  175. {
  176. WriteFloat(0x10050024 + (Single * 4), (float)parameters[index]);
  177. Single++;
  178. }
  179. else if (parameters[index] is float[])
  180. {
  181. float[] Args = (float[])parameters[index];
  182. pointer = 0x10051000 + Array * 4;
  183. WriteFloatArray(pointer, Args);
  184. WriteUInt(0x10050000 + count * 4, (uint)pointer);
  185. count++;
  186. Array += (uint)Args.Length;
  187. }
  188. }
  189. index++;
  190. }
  191. WriteUInt(0x10050048, (uint)address);
  192. Thread.Sleep(20);
  193. return ReadInt(0x1005004c);
  194. }
  195.  
  196. private static bool Dvar_GetBool(string DVAR)
  197. {//0x00291060 - Dvar_GetBool(const char *dvarName)
  198. bool State;
  199. uint Value = (uint)Call(0x00291060, DVAR);
  200. if (Value == 1)
  201. State = true;
  202. else
  203. State = false;
  204. return State;
  205. }
  206. #endregion
  207.  
  208. #region HUDS
  209. private static uint Element(uint Index)
  210. {
  211. return 0xF0E10C + ((Index) * 0xB4);
  212. }
  213.  
  214. private static uint StoreText(uint Index, decimal Client, string Text, int Font, float FontScale, int X, int Y, decimal R = 255, decimal G = 255, decimal B = 255, decimal A = 255, decimal R1 = 0, decimal G1 = 0, decimal B1 = 0, decimal A1 = 0)
  215. {
  216. uint elem = Element(Index);
  217. WriteInt(elem + 0x84, Call(0x1BE6CC, Text));
  218. WriteInt(elem + 0x24, Font);
  219. WriteFloat(elem + 0x14, FontScale);
  220. WriteFloat(elem + 0x4, X);
  221. WriteFloat(elem + 0x8, Y);
  222. PS3.SetMemory(elem + 0xa7, new byte[] { 7 });
  223. PS3.SetMemory(elem + 0x30, new byte[] { (byte)R, (byte)G, (byte)B, (byte)A });
  224. PS3.SetMemory(elem + 0x8C, new byte[] { (byte)R1, (byte)G1, (byte)B1, (byte)A1 });
  225. WriteInt(elem + 0xA8, (int)Client);
  226. System.Threading.Thread.Sleep(20);
  227. WriteInt(elem, 1);
  228. return elem;
  229. }
  230. #endregion
  231.  
  232. #region Functions
  233. private enum Brush : uint
  234. {
  235. NULL = 0,
  236. CarePackage = 2,
  237. Bomb = 3,
  238. }
  239.  
  240. private static uint SolidModel(float[] Origin, float[] Angles, string Model = "com_plasticcase_friendly", Brush Index = Brush.CarePackage)
  241. {
  242. uint Entity = (uint)Call(0x01C058C);//G_Spawn
  243. WriteFloatArray(Entity + 0x138, Origin);//Position
  244. WriteFloatArray(Entity + 0x144, Angles);//Orientation
  245. Call(0x01BEF5C, Entity, Model);//G_SetModel
  246. Call(0x01B6F68, Entity); //SP_script_model
  247. Call(0x002377B8, Entity);//SV_UnlinkEntity
  248. WriteByte(Entity + 0x101, 4);
  249. WriteByte(Entity + 0x8C + 3, (byte)Index);
  250. Call(0x0022925C, Entity);//SV_SetBrushModel
  251. Call(0x00237848, Entity);//SV_LinkEntity
  252. return Entity;
  253. }
  254.  
  255. public static float[] GetOrigin(uint Client)
  256. {
  257. return ReadFloatLength(0x110a29c + (Client * 0x3980), 3);
  258. }
  259.  
  260. private static string ChangeWeaponModel()
  261. {
  262. int Value = 0;
  263. byte[] buffer = new byte[100];
  264. PS3.GetMemory(0x8360d5, buffer);
  265. System.Text.ASCIIEncoding Encoding = new System.Text.ASCIIEncoding();
  266. string Map = Encoding.GetString(buffer).Split(Convert.ToChar(0x5c))[6];
  267. if (Map == "mp_seatown" | Map == "mp_paris" |Map == "mp_plaza2" | Map == "mp_exchange" | Map == "mp_bootleg" | Map == "mp_alpha" | Map == "mp_village" | Map == "mp_bravo" | Map == "mp_courtyard_ss" | Map == "mp_aground_ss")
  268. Value = -1;
  269. else
  270. Value = 0;
  271.  
  272. Random Random = new Random();
  273. switch (Random.Next(1, 50))
  274. {
  275. case 1:
  276. Weapon = (uint)Value + 4;
  277. WeaponName = "Riotshield";
  278. return "weapon_riot_shield_mp";
  279. case 2:
  280. Weapon = (uint)Value + 6;
  281. WeaponName = ".44 Magnum";
  282. return "weapon_44_magnum_iw5";
  283. case 3:
  284. Weapon = (uint)Value + 7;
  285. WeaponName = "USP .45";
  286. return "weapon_usp45_iw5";
  287. case 4:
  288. Weapon = (uint)Value + 9;
  289. WeaponName = "Desert Eagle";
  290. return "weapon_desert_eagle_iw5";
  291. case 5:
  292. Weapon = (uint)Value + 10;
  293. WeaponName = "MP412";
  294. return "weapon_mp412";
  295. case 6:
  296. Weapon = (uint)Value + 12;
  297. WeaponName = "P99";
  298. return "weapon_walther_p99_iw5";
  299. case 7:
  300. Weapon = (uint)Value + 13;
  301. WeaponName = "Five-Seven";
  302. return "weapon_fn_fiveseven_iw5";
  303. case 8:
  304. Weapon = (uint)Value + 14;
  305. WeaponName = "FMG9";
  306. return "weapon_fmg_iw5";
  307. case 9:
  308. Weapon = (uint)Value + 15;
  309. WeaponName = "Skorpion";
  310. return "weapon_skorpion_iw5";
  311. case 10:
  312. Weapon = (uint)Value + 16;
  313. WeaponName = "MP9";
  314. return "weapon_mp9_iw5";
  315. case 11:
  316. Weapon = (uint)Value + 17;
  317. WeaponName = "G18";
  318. return "weapon_g18_iw5";
  319. case 12:
  320. Weapon = (uint)Value + 18;
  321. WeaponName = "MP5";
  322. return "weapon_mp5_iw5";
  323. case 13:
  324. Weapon = (uint)Value + 19;
  325. WeaponName = "PM-9";
  326. return "weapon_uzi_m9_iw5";
  327. case 14:
  328. Weapon = (uint)Value + 20;
  329. WeaponName = "P90";
  330. return "weapon_p90_iw5";
  331. case 15:
  332. Weapon = (uint)Value + 21;
  333. WeaponName = "PP90M1";
  334. return "weapon_pp90m1_iw5";
  335. case 16:
  336. Weapon = (uint)Value + 22;
  337. WeaponName = "UMP45";
  338. return "weapon_ump45_iw5";
  339. case 17:
  340. Weapon = (uint)Value + 23;
  341. WeaponName = "MP7";
  342. return "weapon_mp7_iw5";
  343. case 18:
  344. Weapon = (uint)Value + 24;
  345. WeaponName = "AK-47";
  346. return "weapon_ak47_iw5";
  347. case 19:
  348. Weapon = (uint)Value + 25;
  349. WeaponName = "M16A4";
  350. return "weapon_m16_iw5";
  351. case 20:
  352. Weapon = (uint)Value + 26;
  353. WeaponName = "M4A1";
  354. return "weapon_m4_iw5";
  355. case 21:
  356. Weapon = (uint)Value + 27;
  357. WeaponName = "FAD";
  358. return "weapon_fad_iw5";
  359. case 22:
  360. Weapon = (uint)Value + 28;
  361. WeaponName = "ACR 6.8";
  362. return "weapon_remington_acr_iw5";
  363. case 23:
  364. Weapon = (uint)Value + 29;
  365. WeaponName = "Typ 95";
  366. return "weapon_type95_iw5";
  367. case 24:
  368. Weapon = (uint)Value + 30;
  369. WeaponName = "MK14";
  370. return "weapon_m14_iw5";
  371. case 25:
  372. Weapon = (uint)Value + 31;
  373. WeaponName = "SCAR-L";
  374. return "weapon_scar_iw5";
  375. case 26:
  376. Weapon = (uint)Value + 32;
  377. WeaponName = "G36C";
  378. return "weapon_g36_iw5";
  379. case 27:
  380. Weapon = (uint)Value + 33;
  381. WeaponName = "CM901";
  382. return "weapon_cm901";
  383. case 28:
  384. Weapon = (uint)Value + 35;
  385. WeaponName = "M320 GLM";
  386. return "weapon_m320_gl";
  387. case 29:
  388. Weapon = (uint)Value + 36;
  389. WeaponName = "RPG-7";
  390. return "weapon_rpg7";
  391. case 30:
  392. Weapon = (uint)Value + 37;
  393. WeaponName = "SMAW";
  394. return "weapon_smaw";
  395. case 31:
  396. Weapon = (uint)Value + 39;
  397. WeaponName = "Javelin";
  398. return "weapon_javelin";
  399. case 32:
  400. Weapon = (uint)Value + 40;
  401. WeaponName = "XM25";
  402. return "weapon_xm25";
  403. case 33:
  404. Weapon = (uint)Value + 12329;
  405. WeaponName = "Dragunow";
  406. return "weapon_dragunov_iw5";
  407. case 34:
  408. Weapon = (uint)Value + 12330;
  409. WeaponName = "MSR";
  410. return "weapon_remington_msr_iw5";
  411. case 35:
  412. Weapon = (uint)Value + 12331;
  413. WeaponName = "BARRET KAL. .50";
  414. return "weapon_m82_iw5";
  415. case 36:
  416. Weapon = (uint)Value + 12332;
  417. WeaponName = "RSASS";
  418. return "weapon_rsass_iw5";
  419. case 37:
  420. Weapon = (uint)Value + 12333;
  421. WeaponName = "AS50";
  422. return "weapon_as50_iw5";
  423. case 38:
  424. Weapon = (uint)Value + 12334;
  425. WeaponName = "L118A";
  426. return "weapon_l96a1_iw5";
  427. case 39:
  428. Weapon = (uint)Value + 47;
  429. WeaponName = "KSG 12";
  430. return "weapon_ksg_iw5";
  431. case 40:
  432. Weapon = (uint)Value + 48;
  433. WeaponName = "MODELL 1887";
  434. return "weapon_model1887";
  435. case 41:
  436. Weapon = (uint)Value + 49;
  437. WeaponName = "STRIKER";
  438. return "weapon_striker_iw5";
  439. case 42:
  440. Weapon = (uint)Value + 50;
  441. WeaponName = "AA-12";
  442. return "weapon_aa12_iw5";
  443. case 43:
  444. Weapon = (uint)Value + 51;
  445. WeaponName = "USAS12";
  446. return "weapon_usas12_iw5";
  447. case 44:
  448. Weapon = (uint)Value + 52;
  449. WeaponName = "SPAS-12";
  450. return "weapon_spas12_iw5";
  451. case 45:
  452. Weapon = (uint)Value + 54;
  453. WeaponName = "M60E4";
  454. return "weapon_m60_iw5";
  455. case 46:
  456. Weapon = (uint)Value + 17461;
  457. WeaponName = "AUG";
  458. return "weapon_steyr_digital";
  459. case 47:
  460. Weapon = (uint)Value + 55;
  461. WeaponName = "MK46";
  462. return "weapon_mk46_iw5";
  463. case 48:
  464. Weapon = (uint)Value + 56;
  465. WeaponName = "PKP PECHENEG";
  466. return "weapon_pecheneg_iw5";
  467. case 49:
  468. Weapon = (uint)Value + 57;
  469. WeaponName = "L86 LSW";
  470. return "weapon_sa80_iw5";
  471. case 50:
  472. Weapon = (uint)Value + 58;
  473. WeaponName = "MG36";
  474. return "weapon_mg36";
  475. }
  476. return null;
  477. }
  478.  
  479. private static void MBFunction(float[] Origin, float[] Angles)
  480. {
  481. float[] BoxOrigin = Origin;
  482. float WeaponZ1 = 0;
  483. bool Running = false;
  484. uint ClientUsing = 0, WeaponID = 0;
  485. PS3.Connect();
  486. Origin[2] += 16;
  487. MBIndexes[0] = SolidModel(Origin, Angles, "com_plasticcase_trap_friendly");
  488. MBIndexes[1] = SolidModel(new float[] { Origin[0], Origin[1], Origin[2] += 28 }, Angles, "");
  489. MBIndexes[2] = SolidModel(new float[] { Origin[0] += -8, Origin[1], Origin[2] += -18 }, Angles, "weapon_ak47_iw5", Brush.NULL);
  490. WeaponID = MBIndexes[2];
  491. while (MBThread.IsAlive)
  492. {
  493. if (Dvar_GetBool("cl_ingame") == false)
  494. {
  495. MBThread.Abort();
  496. for (uint i = 0; i < 3; i++)
  497. PS3.SetMemory(MBIndexes[i], new byte[0x280]);
  498. PS3.SetMemory(0xF0E10C + (500 * 0xB4), new byte[18 * 0xB4]);
  499. }
  500. else
  501. {
  502. if (Running == false)
  503. {
  504. for (uint Client = 0; Client < 18; Client++)
  505. {
  506. if (ReadInt(0xFCA41D + (Client * 0x280)) > 0)
  507. {
  508. float[] PlayerOrigin = ReadFloatLength(0x110a29c + (Client * 0x3980), 3);
  509. float X = PlayerOrigin[0] - BoxOrigin[0];
  510. float Y = PlayerOrigin[1] - BoxOrigin[1];
  511. float Z = PlayerOrigin[2] - (BoxOrigin[2] - 23);
  512. float Distance = (float)Math.Sqrt((X * X) + (Y * Y) + (Z * Z));
  513. if (Distance < 50)
  514. {
  515. StoreText(500 + Client, Client, "Press for a Random Weapon", 7, 0.8f, 195, 300);
  516. byte[] Key = new byte[1];
  517. PS3.GetMemory(0x110D5E3 + (0x3980 * Client), Key);
  518. if (Key[0] == 0x20)
  519. {
  520. PS3.SetMemory(0xF0E10C + (500 * 0xB4), new byte[18 * 0xB4]);
  521. float WeaponZ = Origin[2];
  522. for (int i = 0; i < 37; i++)
  523. {
  524. WriteFloat(WeaponID + 0x20, WeaponZ += 0.7f);
  525. if ((i / 2) * 2 == i)
  526. {
  527. WriteUInt(WeaponID + 0x58, (uint)Call(0x1BE7A8, ChangeWeaponModel()));
  528. }
  529. if (i == 36)
  530. {
  531. break;
  532. }
  533. WeaponZ1 = WeaponZ;
  534. Thread.Sleep(100);
  535. }
  536. Running = true;
  537. ClientUsing = Client;
  538. break;
  539. }
  540. }
  541. else
  542. {
  543. PS3.SetMemory(Element(500 + Client), new byte[0xB4]);
  544. }
  545. }
  546. }
  547. }
  548. else
  549. {
  550. for (int i = 0; i < 37; i++)
  551. {
  552. float[] PlayerOrigin = ReadFloatLength(0x110a29c + (ClientUsing * 0x3980), 3);
  553. float X = PlayerOrigin[0] - BoxOrigin[0];
  554. float Y = PlayerOrigin[1] - BoxOrigin[1];
  555. float Z = PlayerOrigin[2] - (BoxOrigin[2] - 23);
  556. float Distance = (float)Math.Sqrt((X * X) + (Y * Y) + (Z * Z));
  557. if (Distance < 50)
  558. {
  559. StoreText(500 + ClientUsing, ClientUsing, "Press for " + WeaponName, 7, 0.8f, 195, 300);
  560. byte[] Key = new byte[1];
  561. PS3.GetMemory(0x110D5E3 + (0x3980 * ClientUsing), Key);
  562. if (Key[0] == 0x20)
  563. {
  564.  
  565. if (ReadInt(0x0110a5f0 + (ClientUsing * 0x3980)) == ReadInt(0x0110a4fc + (ClientUsing * 0x3980)))
  566. {
  567. WriteUInt(0x0110a4fc + (ClientUsing * 0x3980), Weapon);
  568. WriteUInt(0x0110a624 + (ClientUsing * 0x3980), Weapon);
  569. WriteUInt(0x0110a6a4 + (ClientUsing * 0x3980), Weapon);
  570. }
  571. else
  572. {
  573. WriteUInt(0x0110a4f4 + (ClientUsing * 0x3980), Weapon);
  574. WriteUInt(0x0110a68c + (ClientUsing * 0x3980), Weapon);
  575. WriteUInt(0x0110a614 + (ClientUsing * 0x3980), Weapon);
  576. }
  577. WriteUInt(0x0110a5f0 + (ClientUsing * 0x3980), Weapon);
  578. Call(0x18A29C, 0xFCA280 + (ClientUsing * 0x280), Weapon, "", 9999, 9999);
  579. WriteFloat(WeaponID + 0x20, Origin[2]);
  580. WriteUInt(WeaponID + 0x58, (uint)Call(0x1BE7A8, "weapon_ak47_iw5"));
  581. PS3.SetMemory(Element(500 + ClientUsing), new byte[0xB4]);
  582. Running = false;
  583. break;
  584. }
  585. else
  586. {
  587. WriteFloat(WeaponID + 0x20, WeaponZ1 += -0.7f);
  588. if (i == 36)
  589. {
  590. WriteUInt(WeaponID + 0x58, (uint)Call(0x1BE7A8, "weapon_ak47_iw5"));
  591. PS3.SetMemory(Element(500 + ClientUsing), new byte[0xB4]);
  592. Running = false;
  593. break;
  594. }
  595. Thread.Sleep(200);
  596. }
  597. }
  598. else
  599. {
  600. PS3.SetMemory(Element(500 + ClientUsing), new byte[0xB4]);
  601. WriteFloat(WeaponID + 0x20, WeaponZ1 += -0.7f);
  602. if (i == 36)
  603. {
  604. WriteUInt(WeaponID + 0x58, (uint)Call(0x1BE7A8, "weapon_ak47_iw5"));
  605. PS3.SetMemory(Element(500 + ClientUsing), new byte[0xB4]);
  606. Running = false;
  607. break;
  608. }
  609. Thread.Sleep(200);
  610. }
  611. }
  612. Thread.Sleep(2000);
  613. }
  614. }
  615. }
  616. }
  617. #endregion
  618.  
  619. public static void Spawn(float[] Origin, float Yaw)
  620. {
  621. Enable();
  622. float[] Angles = new float[] { 0, Yaw, 0 };
  623. ThreadStart Start = null;
  624. Thread.Sleep(100);
  625. if (Start == null)
  626. {
  627. Start = () => MBFunction(Origin, Angles);
  628. }
  629. MBThread = new Thread(Start);
  630. MBThread.IsBackground = true;
  631. MBThread.Start();
  632. }
  633.  
  634. public static void DeleteMB()
  635. {
  636. MBThread.Abort();
  637. for (uint i = 0; i < 3; i++)
  638. PS3.SetMemory(MBIndexes[i], new byte[0x280]);
  639. PS3.SetMemory(0xF0E10C + (500 * 0xB4), new byte[18 * 0xB4]);
  640. }
  641. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement