Advertisement
CabCon

Untitled

Jan 18th, 2016
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 61.74 KB | None | 0 0
  1. #include maps/mp/_utility;
  2. #include common_scripts/utility;
  3. #include maps/mp/gametypes/_rank;
  4. #include maps/mp/gametypes/_globallogic;
  5. #include maps/mp/gametypes/_hud;
  6. #include maps/mp/gametypes/sd;
  7. #include maps/mp/gametypes/_hud_util;
  8. #include maps/mp/gametypes/_hud_message;
  9. #include maps/mp/gametypes/_weapons;
  10. #include maps/mp/teams/_teams;
  11. #include maps/mp/_popups;
  12. #include maps/mp/killstreaks/_ai_tank;
  13. #include maps/mp/_development_dvars;
  14.  
  15. init( )
  16. {
  17.  
  18.  
  19. //kinda important if you dont wanna crash *FUNCTION STUFF*
  20. precacheshader("mp_hud_cluster_status");
  21. precacheshader("emblem_bg_bo2_nuclear_killer");
  22. precacheshader("progress_bar_bg");
  23. precacheshader("em_bg_flag_united_kingdom");
  24.  
  25. level.nuke = [];
  26. level.activenukes =0;
  27. //MW2 Nuke Over This
  28. //ESP Wallhack Under This
  29. precacheShader("hud_remote_missile_target");
  30. precacheShader("headicon_dead");
  31. level.deads = "headicon_dead";
  32. level.esps = "hud_remote_missile_target";
  33.  
  34.  
  35.  
  36. //Important ++
  37. level.clientid = 0;
  38. level thread onplayerconnect( );
  39. }
  40. onplayerconnect( )
  41. {
  42. for(;;)
  43. {
  44. level waittill( "connecting", player );
  45. player thread onplayerspawned( );
  46. player.clientid = level.clientid;
  47. level.clientid++;
  48. player.Verified = false;
  49. player.VIP = false;
  50. player.Admin = false;
  51. player.CoHost = false;
  52. player.MyAccess = "";
  53. }
  54. }
  55. onplayerspawned()
  56. {
  57. self endon( "disconnect" );
  58. level endon( "game_ended" );
  59.  
  60. isFirstSpawn = true;
  61.  
  62. for(;;)
  63. {
  64. self waittill( "spawned_player" );
  65. if(self isHost())
  66. {
  67. self freezecontrols(false);
  68. self.Verified = true;
  69. self.VIP = true;
  70. self.Admin = true;
  71. self.CoHost = true;
  72. self.MyAccess = "^1Host";
  73. self thread BuildMenu();
  74. self thread deathBarrier();
  75. self thread RemoveSkyBarrier();
  76. }
  77. else if ( self.CoHost == true)
  78. {
  79. self.Verified = true;
  80. self.VIP = true;
  81. self.Admin = true;
  82. self.CoHost = true;
  83. self.MyAccess = "^5Co-Host";
  84. self freezecontrols(false);
  85. self thread BuildMenu();
  86. self thread deathBarrier();
  87. self thread RemoveSkyBarrier();
  88. }
  89. else if ( self.Admin == true)
  90. {
  91. self.Verified = true;
  92. self.VIP = true;
  93. self.Admin = true;
  94. self.MyAccess = "^1Admin";
  95. self freezecontrols(false);
  96. self thread BuildMenu();
  97. self thread deathBarrier();
  98. self thread RemoveSkyBarrier();
  99. }
  100. else if ( self.VIP == true)
  101. {
  102. self.Verified = true;
  103. self.VIP = true;
  104. self.MyAccess = "^3VIP";
  105. self freezecontrols(false);
  106. self thread BuildMenu();
  107. self thread deathBarrier();
  108. self thread RemoveSkyBarrier();
  109. }
  110. else if ( self.Verified == true)
  111. {
  112. self.Verified = true;
  113. self.MyAccess = "^1Verified";
  114. self freezecontrols(false);
  115. self thread BuildMenu();
  116. self thread deathBarrier();
  117. self thread RemoveSkyBarrier();
  118. }
  119. else if ( self.Verified == false)
  120. {
  121. self.MyAccess = "";
  122. }
  123.  
  124. if(isFirstSpawn)
  125. {
  126. initOverFlowFix();
  127.  
  128. isFirstSpawn = false;
  129. }
  130. }
  131. }
  132. s(s)
  133. {
  134. self notify(s);
  135. }
  136. n(n)
  137. {
  138. self notify(n);
  139. }
  140.  
  141. Iif(a, b, c)
  142. {
  143. if(a) return b;
  144. else return c;
  145. }
  146. BR(a, b, c)
  147. {
  148. if (a) return c;
  149. else return b;
  150. }
  151. BO(a)
  152. {
  153. if(!isDefined(a)) return 1;
  154. if (a) return 0;
  155. else return 1;
  156. }
  157. p(p)
  158. {
  159. self iprintln(p);
  160. }
  161. createText(font, fontscale, align, relative, x, y, sort, text)
  162. {
  163. Textlem = CreateFontString( font, fontscale );
  164. Textlem setPoint( align, relative, x, y );
  165. Textlem.sort = sort;
  166. Textlem.hideWhenInMenu = true;
  167.  
  168. // YOU MUST HAVE THESE
  169. Textlem.type = "text";
  170. addTextTableEntry(Textlem, getStringId(text));
  171. Textlem setSafeText(self, text);
  172.  
  173. return Textlem;
  174. }
  175.  
  176. booleanReturnVal(bool, returnIfFalse, returnIfTrue)
  177. {
  178. if (bool)
  179. return returnIfTrue;
  180. else
  181. return returnIfFalse;
  182. }
  183.  
  184. booleanOpposite(bool)
  185. {
  186. if(!isDefined(bool))
  187. return true;
  188. if (bool)
  189. return false;
  190. else
  191. return true;
  192. }
  193.  
  194.  
  195. deathBarrier()
  196. {
  197. level endon("game_ended");
  198. level endon("disconnect");
  199.  
  200. iprintln("Death Barrier ^1Removed");
  201.  
  202. ents=getEntArray();
  203. for(index=0;index < ents.size;index++)
  204. {
  205. if(isSubStr(ents[index].classname,"trigger_hurt"))
  206. ents[index].origin =(0,0,9999999);
  207. }
  208. }
  209.  
  210. RemoveSkyBarrier()
  211. {
  212. self iprintln("Sky Barrier Is ^1Removed!");
  213. entArray = getEntArray();
  214. for (index = 0; index < entArray.size; index++)
  215. {
  216. if(isSubStr(entArray[index].classname, "trigger_hurt") && entArray[index].origin[2] > 180)
  217. entArray[index].origin = (0, 0, 9999999);
  218. }
  219. }
  220. /*
  221. * Text Table Structure:
  222. *
  223. * id = id of text element
  224. * element = text element
  225. * stringId = id of string text element uses
  226. *
  227. **************************************************
  228. *
  229. * String Table Structure:
  230. *
  231. * id = id of string
  232. * string = string value
  233. *
  234. */
  235.  
  236. initOverFlowFix()
  237. {
  238. // tables
  239. self iprintln("Overflow Fix Is Working!");
  240. self.stringTable = [];
  241. self.stringTableEntryCount = 0;
  242. self.textTable = [];
  243. self.textTableEntryCount = 0;
  244.  
  245. if(isDefined(level.anchorText) == false)
  246. {
  247. level.anchorText = createServerFontString("default",1.5);
  248. level.anchorText setText("anchor");
  249. level.anchorText.alpha = 0;
  250.  
  251. level.stringCount = 0;
  252. }
  253. }
  254.  
  255. clearStrings()
  256. {
  257. level.anchorText clearAllTextAfterHudElem();
  258. level.stringCount = 0;
  259.  
  260. foreach(player in level.players)
  261. {
  262. player iprintln("cleared");
  263. player purgeTextTable();
  264. player purgeStringTable();
  265. player recreateText();
  266. }
  267. }
  268.  
  269. setSafeText(player, text)
  270. {
  271. stringId = player getStringId(text);
  272.  
  273. // if the string doesn't exist add it and get its id
  274. if(stringId == -1)
  275. {
  276. player addStringTableEntry(text);
  277. stringId = player getStringId(text);
  278. }
  279.  
  280. // update the entry for this text element
  281. player editTextTableEntry(self.textTableIndex, stringId);
  282.  
  283. // Check if we have used up all of our strings -- clear if true
  284. if(level.stringCount > 50)
  285. clearStrings();
  286.  
  287. self setText(text);
  288. }
  289.  
  290. recreateText()
  291. {
  292. foreach(entry in self.textTable)
  293. entry.element setSafeText(self, lookUpStringById(entry.stringId));
  294. }
  295.  
  296. addStringTableEntry(string)
  297. {
  298. // create new entry
  299. entry = spawnStruct();
  300. entry.id = self.stringTableEntryCount;
  301. entry.string = string;
  302.  
  303. self.stringTable[self.stringTable.size] = entry; // add new entry
  304. self.stringTableEntryCount++;
  305. level.stringCount++;
  306. }
  307.  
  308. lookUpStringById(id)
  309. {
  310. string = "";
  311.  
  312. foreach(entry in self.stringTable)
  313. {
  314. if(entry.id == id)
  315. {
  316. string = entry.string;
  317. break;
  318. }
  319. }
  320.  
  321. return string;
  322. }
  323.  
  324. getStringId(string)
  325. {
  326. id = -1;
  327.  
  328. foreach(entry in self.stringTable)
  329. {
  330. if(entry.string == string)
  331. {
  332. id = entry.id;
  333. break;
  334. }
  335. }
  336.  
  337. return id;
  338. }
  339.  
  340. getStringTableEntry(id)
  341. {
  342. stringTableEntry = -1;
  343.  
  344. foreach(entry in self.stringTable)
  345. {
  346. if(entry.id == id)
  347. {
  348. stringTableEntry = entry;
  349. break;
  350. }
  351. }
  352.  
  353. return stringTableEntry;
  354. }
  355.  
  356. purgeStringTable()
  357. {
  358. stringTable = [];
  359.  
  360. // store all used strings
  361. foreach(entry in self.textTable)
  362. stringTable[stringTable.size] = getStringTableEntry(entry.stringId);
  363.  
  364. self.stringTable = stringTable; // empty array
  365. }
  366.  
  367. purgeTextTable()
  368. {
  369. textTable = [];
  370.  
  371. foreach(entry in self.textTable)
  372. {
  373. if(entry.id != -1)
  374. textTable[textTable.size] = entry;
  375. }
  376.  
  377. self.textTable = textTable;
  378. }
  379.  
  380. addTextTableEntry(element, stringId)
  381. {
  382. entry = spawnStruct();
  383. entry.id = self.textTableEntryCount;
  384. entry.element = element;
  385. entry.stringId = stringId;
  386.  
  387. element.textTableIndex = entry.id;
  388.  
  389. self.textTable[self.textTable.size] = entry;
  390. self.textTableEntryCount++;
  391. }
  392.  
  393. editTextTableEntry(id, stringId)
  394. {
  395. foreach(entry in self.textTable)
  396. {
  397. if(entry.id == id)
  398. {
  399. entry.stringId = stringId;
  400. break;
  401. }
  402. }
  403. }
  404.  
  405. deleteTextTableEntry(id)
  406. {
  407. foreach(entry in self.textTable)
  408. {
  409. if(entry.id == id)
  410. {
  411. entry.id = -1;
  412. entry.stringId = -1;
  413. }
  414. }
  415. }
  416.  
  417. clear(player)
  418. {
  419. if(self.type == "text")
  420. player deleteTextTableEntry(self.textTableIndex);
  421.  
  422. self destroy();
  423. }
  424. BuildMenu()
  425. {
  426. self endon("disconnect");
  427. self endon("death");
  428. self.MenuOpen = false;
  429. self.Menu = spawnstruct();
  430. self InitialisingMenu();
  431. self MenuStructure();
  432. self thread MenuDeath();
  433. while (1)
  434. {
  435. if(self StanceButtonPressed()&& self.MenuOpen == false)
  436. {
  437. self MenuOpening();
  438. self LoadMenu("WTM Trickshot Menu");
  439. }
  440. else if(self meleeButtonPressed() && self.MenuOpen == true)
  441. {
  442. self MenuClosing();
  443. wait 1;
  444. }
  445. else if(self AdsButtonPressed()&& self.MenuOpen == true)
  446. {
  447. self.Menu.System["MenuCurser"] -= 1;
  448. if (self.Menu.System["MenuCurser"] < 0)
  449. {
  450. self.Menu.System["MenuCurser"] = self.Menu.System["MenuText"][self.Menu.System["MenuRoot"]].size - 1;
  451. }
  452. self.Menu.Material["Scrollbar"] elemMoveY(.2, -100 + (self.Menu.System["MenuCurser"] * 18));
  453. wait.2;
  454. }
  455. else if (self AttackButtonpressed()&& self.MenuOpen == true)
  456. {
  457. self.Menu.System["MenuCurser"] += 1;
  458. if (self.Menu.System["MenuCurser"] >= self.Menu.System["MenuText"][self.Menu.System["MenuRoot"]].size)
  459. {
  460. self.Menu.System["MenuCurser"] = 0;
  461. }
  462. self.Menu.Material["Scrollbar"] elemMoveY(.2, -100 + (self.Menu.System["MenuCurser"] * 18));
  463. wait.2;
  464. }
  465. else if(self jumpButtonPressed()&& self.MenuOpen == true)
  466. {
  467. wait 0.2;
  468. if(self.Menu.System["MenuRoot"]=="Menu Clients") self.Menu.System["ClientIndex"]=self.Menu.System["MenuCurser"];
  469. self thread [[self.Menu.System["MenuFunction"][self.Menu.System["MenuRoot"]][self.Menu.System["MenuCurser"]]]](self.Menu.System["MenuInput"][self.Menu.System["MenuRoot"]][self.Menu.System["MenuCurser"]]);
  470. wait 0.5;
  471. }
  472. wait 0.05;
  473. }
  474. }
  475.  
  476. MenuStructure()
  477. {
  478. if (self.Verified == true)
  479. {
  480. self MainMenu("WTM Trickshot Menu", undefined);
  481. self MenuOption("WTM Trickshot Menu", 0, "^2Toggle GodMode", ::Tgod);
  482. if(self.VIP == true){
  483. self MenuOption("WTM Trickshot Menu", 1, "^2Toggle Aimbot", ::doAimbot);
  484. }
  485. //quickModz
  486. self MenuOption("WTM Trickshot Menu", 2, "^2Toggle UFO Mode", ::ToggleNNNNoClip);
  487. self MenuOption("WTM Trickshot Menu", 3, "^2Save and Load Location", ::saveandload);
  488. self MenuOption("WTM Trickshot Menu", 4, "^2Trickshot Platform", ::initSkyPlaza);
  489. self MenuOption("WTM Trickshot Menu", 5, "^2Teleport All", ::AllToMe);
  490. self MenuOption("WTM Trickshot Menu", 6, "^2Slow Motion", ::Toggle_Slow);
  491. self MenuOption("WTM Trickshot Menu", 7, "^2Spawn A Bot", ::spawnbot1);
  492. self MenuOption("WTM Trickshot Menu", 8, "^2DSR_50", ::BG_GivePlayerWeapon1);
  493. self MenuOption("WTM Trickshot Menu", 9, "^2Ballista", ::BG_GivePlayerWeapon2);
  494. self MenuOption("WTM Trickshot Menu", 10, "^2Remington", ::BG_GivePlayerWeapon3);
  495. self MenuOption("WTM Trickshot Menu", 11, "^2Diamond Camo", ::giveDiamond);
  496. self MenuOption("WTM Trickshot Menu", 12, "^2Gold Camo", ::giveGold);
  497. self MenuOption("WTM Trickshot Menu", 13, "^2Ghost Camo", ::giveGhost);
  498. self MenuOption("WTM Trickshot Menu", 14, "^2Random Camo", ::giveRandomCamo);
  499. }
  500. if (self.VIP == true)
  501. {
  502. //Add Menu <3
  503. }
  504. if (self.Admin == true)
  505. {
  506.  
  507. }
  508. if (self.CoHost == true)
  509. {
  510. self MenuOption("WTM Trickshot Menu", 15, "Menu Clients", ::SubMenu, "Menu Clients");
  511. }
  512. self MainMenu("Menu Clients", "WTM Trickshot Menu");
  513. for (p = 0; p < level.players.size; p++) {
  514. player = level.players[p];
  515. self MenuOption("Menu Clients", p, "[" + player.MyAccess + "^7] " + player.name + "", ::SubMenu, "Menu Clients");
  516. }
  517. self thread MonitorPlayers();
  518.  
  519. self MainMenu("Menu Clients", "Menu Clients");
  520. self MenuOption("Menu Clients", 1, "Verifiy", ::Verify);
  521. self MenuOption("Menu Clients", 2, "VIP", ::doVIP);
  522. self MenuOption("Menu Clients", 3, "Admin", ::doAdmin);
  523. self MenuOption("Menu Clients", 4, "Co-Host", ::doCoHost);
  524. self MenuOption("Menu Clients", 5, "Unverify", ::doUnverify);
  525. self MenuOption("Menu Clients", 6, "Freeze", ::freezebot);
  526. }
  527. MonitorPlayers()
  528. {
  529. self endon("disconnect");
  530. for(;;)
  531. {
  532. for(p = 0;p < level.players.size;p++)
  533. {
  534. player = level.players[p];
  535. self.Menu.System["MenuText"]["Menu Clients"][p] = "[" + player.MyAccess + "^7] " + player.name;
  536. self.Menu.System["MenuFunction"]["Menu Clients"][p] = ::SubMenu;
  537. self.Menu.System["MenuInput"]["Menu Clients"][p] = "Menu Clients";
  538. wait .01;
  539. }
  540. wait .5;
  541. }
  542. }
  543. MainMenu(Menu, Return)
  544. {
  545. self.Menu.System["GetMenu"] = Menu;
  546. self.Menu.System["MenuCount"] = 0;
  547. self.Menu.System["MenuPrevious"][Menu] = Return;
  548. }
  549. MenuOption(Menu, Index, Text, Function, Input)
  550. {
  551. self.Menu.System["MenuText"][Menu][Index] = Text;
  552. self.Menu.System["MenuFunction"][Menu][Index] = Function;
  553. self.Menu.System["MenuInput"][Menu][Index] = Input;
  554. }
  555. SubMenu(input)
  556. {
  557. self.Menu.System["MenuCurser"] = 0;
  558. self.Menu.System["Text"] fadeovertime(0.05);
  559. self.Menu.System["Text"].alpha = 0;
  560. self.Menu.System["Text"] destroy();
  561. self.Menu.System["Title"] destroy();
  562. self thread LoadMenu(input);
  563. if(self.Menu.System["MenuRoot"]=="Menu Clients")
  564. {
  565. self.Menu.System["Title"] destroy();
  566. player = level.players[self.Menu.System["ClientIndex"]];
  567. self.Menu.System["Title"] = self createFontString("default", 2.0);
  568. self.Menu.System["Title"] setPoint("CENTER","CENTER",100,-100);
  569. self.Menu.System["Title"] setText("[" + player.MyAccess + "^7] " + player.name);
  570. self.Menu.System["Title"].glowColor = (0,0,1);
  571. self.Menu.System["Title"].Color = (0,1,1);
  572. self.Menu.System["Title"].glowAlpha = 1;
  573. self.Menu.System["Title"].sort = 3;
  574. }
  575. }
  576. LoadMenu(menu)
  577. {
  578. self.Menu.System["MenuCurser"] = 0;
  579. self.Menu.System["MenuRoot"] = menu;
  580. self.Menu.System["Title"] = self createFontString("default", 2);
  581. self.Menu.System["Title"] setPoint("CENTER","CENTER",100,-100);
  582. self.Menu.System["Title"] setText(menu);
  583. self.Menu.System["Title"].glowColor = (0,0,1);
  584. self.Menu.System["Title"].Color = (0,1,1);
  585. self.Menu.System["Title"].glowAlpha = 1;
  586. self.Menu.System["Title"].sort = 3;
  587. string = "";
  588. for(i=0;i<self.Menu.System["MenuText"][Menu].size;i++) string += self.Menu.System["MenuText"][Menu][i] + "\n";
  589. self.Menu.System["Text"] = self createFontString("default", 1.5);
  590. self.Menu.System["Text"] setPoint( "CENTER", "", -135, -100);
  591. self.Menu.System["Text"] setText(string);
  592. self.Menu.System["Text"].glowColor = (0,0,1);
  593. self.Menu.System["Text"].Color = (0,1,1);
  594. self.Menu.System["Text"].glowAlpha = 1;
  595. self.Menu.System["Text"].sort = 3;
  596. self.Menu.Material["Scrollbar"] elemMoveY(.2, -100 + (self.Menu.System["MenuCurser"] * 18));
  597. }
  598. createRectangle13(align, relative, x, y, width, height, color, alpha, sorting,shader)
  599. {
  600. barElemBG = newClientHudElem( self );
  601. barElemBG.elemType = "bar";
  602. barElemBG.width = width;
  603. barElemBG.height = height;
  604. barElemBG.align = align;
  605. barElemBG.relative = relative;
  606. barElemBG.xOffset = 0;
  607. barElemBG.yOffset = 0;
  608. barElemBG.children = [];
  609. barElemBG.color = color;
  610. if(isDefined(alpha))
  611. barElemBG.alpha = alpha;
  612. else
  613. barElemBG.alpha = 1;
  614. barElemBG setShader(shader, width , height );
  615. barElemBG.hidden = false;
  616. barElemBG.sort = sorting;
  617. barElemBG setPoint(align,relative,x,y);
  618. return barElemBG;
  619. }
  620. MenuDeath()
  621. {
  622. self waittill("death");
  623. self.Menu.Material["Background"] destroy();
  624. self.Menu.Material["Scrollbar"] destroy();
  625. self.Menu.Material["Line"] destroy();
  626. self.Menu.Material["Info"] destroy();
  627. self.Menu.Material["BorderRight"] destroy();
  628. self MenuClosing();
  629. }
  630.  
  631.  
  632.  
  633.  
  634. InitialisingMenu()
  635. {
  636. self.Menu.Material["Background"] = self createRectangle13("CENTER","",0,34,500,430,(0,0,0),0,0,"progress_bar_bg");
  637. self.Menu.Material["Scrollbar"] = self createRectangle13("","",-135,-100,230,23,(1,1,1),0,2,"em_bg_flag_united_kingdom");
  638. self.Menu.Material["Line"] = self createRectangle13("","",-18,33,3,430,(0,0,1),0,2,"progress_bar_bg");
  639. self.Menu.Material["Info"] = self createFontString("default", 1.5);
  640. self.Menu.Material["Info"] setPoint("CENTER","CENTER",125,-50);
  641. self.Menu.Material["Info"] setText("Creator: IMxMods and iTrap \n\n Menu Base:CometMods\n\n\ Host: " +self.name+ "\n\n\nControls:\n ^7SHOOT -^2 Scroll Down\n ^7AIM - ^2Scroll Up\n ^7Space/X/A - Select\n Go Back - ^2C/Circle");
  642. self.Menu.Material["Info"].glowColor = (2,2,2);
  643. self.Menu.Material["Info"].Color = (2,2,2);
  644. self.Menu.Material["Info"].glowAlpha = 1;
  645. self.Menu.Material["Info"].Alpha = 0;
  646. self.Menu.Material["Info"].sort = 3;
  647. }
  648.  
  649. MenuOpening()
  650. {
  651. self freezecontrols(false);
  652. self setclientuivisibilityflag( "hud_visible", 0 );
  653. self enableInvulnerability();
  654. self.MenuOpen = true;
  655. self.Menu.Material["Background"] elemFade(.5, (1/1.75));
  656. self.Menu.Material["Scrollbar"] elemFade(.5, 1);
  657. self.Menu.Material["Line"] elemFade(.5, 1);
  658. self.Menu.Material["Info"] elemFade(.5, 1);
  659. }
  660.  
  661. MenuClosing()
  662. {
  663. self setclientuivisibilityflag( "hud_visible", 1 );
  664. self.Menu.Material["Background"] elemFade(.5, 0);
  665. self.Menu.Material["Scrollbar"] elemFade(.5, 0);
  666. self.Menu.Material["Line"] elemFade(.5, 0);
  667. self.Menu.Material["Info"] elemFade(.5, 0);
  668. self.Menu.Material["BorderRight"] elemFade(.5, 0);
  669. self freezecontrols(false);
  670. self disableInvulnerability();
  671. self.Menu.System["Title"] destroy();
  672. self.Menu.System["Text"] destroy();
  673. wait 0.05;
  674. self.MenuOpen = false;
  675. }
  676.  
  677. elemMoveY(time, input)
  678. {
  679. self moveOverTime(time);
  680. self.y = input;
  681. }
  682.  
  683. elemMoveX(time, input)
  684. {
  685. self moveOverTime(time);
  686. self.x = input;
  687. }
  688.  
  689. elemFade(time, alpha)
  690. {
  691. self fadeOverTime(time);
  692. self.alpha = alpha;
  693. }
  694.  
  695. doUnverify()
  696. {
  697. player = level.players[self.Menu.System["ClientIndex"]];
  698. if(player isHost())
  699. {
  700. self iPrintln("You Can Not Unverify The Host!");
  701. }
  702. else
  703. {
  704. player.Verified = false;
  705. player.VIP = false;
  706. player.Admin = false;
  707. player.CoHost = false;
  708. player suicide();
  709. self iPrintln( player.name + " Do Not Have Access To This Menu Anymore!" );
  710. }
  711. }
  712.  
  713. UnverifMe()
  714. {
  715. self.Verified = false;
  716. self.VIP = false;
  717. self.Admin = false;
  718. self.CoHost = false;
  719. self suicide();
  720. }
  721.  
  722. Verify()
  723. {
  724. player = level.players[self.Menu.System["ClientIndex"]];
  725. if(player isHost())
  726. {
  727. self iPrintln("You Cannot Change The Level Of The Host!");
  728. }
  729. else
  730. {
  731. player UnverifMe();
  732. player.Verified = true;
  733. player.VIP = false;
  734. player.Admin = false;
  735. player.CoHost = false;
  736. self iPrintln( player.name + " Is Now ^5Verified!" );
  737. }
  738. }
  739. doVIP()
  740. {
  741. player = level.players[self.Menu.System["ClientIndex"]];
  742. if(player isHost())
  743. {
  744. self iPrintln("You Cannot Change The Level Of The Host!");
  745. }
  746. else
  747. {
  748. player UnverifMe();
  749. player.Verified = true;
  750. player.VIP = true;
  751. player.Admin = false;
  752. player.CoHost = false;
  753. self iPrintln( player.name + " Is Now ^5VIP!" );
  754. }
  755. }
  756. doAdmin()
  757. {
  758. player = level.players[self.Menu.System["ClientIndex"]];
  759. if(player isHost())
  760. {
  761. self iPrintln("You Cannot Change The Level Of The Host!");
  762. }
  763. else
  764. {
  765. player UnverifMe();
  766. player.Verified = true;
  767. player.VIP = true;
  768. player.Admin = true;
  769. player.CoHost = false;
  770. self iPrintln( player.name + " Is Now ^5Admin!" );
  771. }
  772. }
  773. doCoHost()
  774. {
  775. player = level.players[self.Menu.System["ClientIndex"]];
  776. if(player isHost())
  777. {
  778. self iPrintln("You Cannot Change The Level Of The Host!");
  779. }
  780. else
  781. {
  782. if (player.CoHost == false)
  783. {
  784. player UnverifMe();
  785. player.Verified = true;
  786. player.VIP = true;
  787. player.Admin = true;
  788. player.CoHost = true;
  789. self iPrintln( player.name + " Is Now ^5Co-Host!" );
  790. }
  791. }
  792. }
  793.  
  794.  
  795.  
  796. AllPlayersKilled()
  797. {
  798. foreach(player in level.players)
  799. {
  800. if(player isHost())
  801. {
  802.  
  803. }
  804. else
  805. {
  806. player suicide();
  807. }
  808. }
  809. self iPrintln("^5All Players Killed");
  810. }
  811.  
  812.  
  813.  
  814.  
  815. optionCalledMesage(titleWord, isNotify, notifyWord, color, time)
  816. {
  817. optionMessage = spawnstruct();
  818. optionMessage.titleText = titleWord;
  819. if(isNotify == 1)
  820. {
  821. optionMessage.notifyText = notifyWord;
  822. }
  823. optionMessage.glowColor = color;
  824. optionMessage.duration = time;
  825. optionMessage.font = "objective";
  826. optionMessage.hideWhenInMenu = false;
  827. self thread maps\mp\gametypes\_hud_message::notifyMessage(optionMessage);
  828. }
  829.  
  830. freezeBot()
  831. {
  832. foreach(player in level.players)
  833. if(isDefined(player.pers["isBot"])&& player.pers["isBot"])
  834. if(player.Frozen == "^2On") {
  835. player.Frozen = "^1Off";
  836. player freezeControls(false);
  837. } else {
  838. player.Frozen = "^2On";
  839. player freezeControls(true);
  840. }
  841. self iPrintln("Bots Frozen:" + player.Frozen);
  842. }
  843.  
  844. Toggle_Slow()
  845. {
  846. if(self.Slow50==0)
  847. {
  848. self.Slow50=1;
  849. setDvar("timescale", ".5");
  850. self iPrintlnbold("SlowMotion: ^2ON");
  851. }
  852. else
  853. {
  854. self.Slow50=0;
  855. setDvar("timescale", "1");
  856. self iPrintlnbold("SlowMotion: ^3OFF");
  857. }
  858. }
  859.  
  860. BG_GivePlayerWeapon(weapon)
  861. {
  862. self giveWeapon(weapon);
  863. self switchToWeapon(weapon);
  864. self giveMaxAmmo(weapon);
  865. self iPrintln("^7"+weapon+" Given");
  866. }
  867.  
  868. BG_GivePlayerWeapon1()
  869. {
  870. self giveWeapon("dsr50_mp");
  871. self switchToWeapon( "dsr50_mp" );
  872. self iprintlnbold("^2Given DSR_50");
  873. }
  874.  
  875. BG_GivePlayerWeapon2()
  876. {
  877. self giveWeapon("ballista_mp");
  878. self switchToWeapon( "ballista_mp" );
  879. self iprintlnbold("^2Given Ballista");
  880. }
  881.  
  882. BG_GivePlayerWeapon3()
  883. {
  884. self giveWeapon("870mcs_mp");
  885. self switchToWeapon( "870mcs_mp" );
  886. self iprintlnbold("^2Given Remington");
  887. }
  888.  
  889. giveDiamond()
  890. {
  891. rand=RandomIntRange(16,17);
  892. weap=self getCurrentWeapon();
  893. self takeWeapon(weap);
  894. self giveWeapon(weap,0,true(rand,0,0,0,0));
  895. self switchToWeapon(weap);
  896. self giveMaxAmmo(weap);
  897. self iprintlnbold("^2Diamond Camo Given");
  898. }
  899.  
  900. giveGold()
  901. {
  902. rand=RandomIntRange(15,16);
  903. weap=self getCurrentWeapon();
  904. self takeWeapon(weap);
  905. self giveWeapon(weap,0,true(rand,0,0,0,0));
  906. self switchToWeapon(weap);
  907. self giveMaxAmmo(weap);
  908. self iPrintlnbold("^2Gold Camo Given");
  909. }
  910.  
  911. giveAfterlife()
  912. {
  913. rand=RandomIntRange(44,45);
  914. weap=self getCurrentWeapon();
  915. self takeWeapon(weap);
  916. self giveWeapon(weap,0,true(rand,0,0,0,0));
  917. self switchToWeapon(weap);
  918. self giveMaxAmmo(weap);
  919. self iPrintlnbold("^2Afterlife Camo Given");
  920. }
  921.  
  922. giveGhost()
  923. {
  924. rand=RandomIntRange(29,30);
  925. weap=self getCurrentWeapon();
  926. self takeWeapon(weap);
  927. self giveWeapon(weap,0,true(rand,0,0,0,0));
  928. self switchToWeapon(weap);
  929. self giveMaxAmmo(weap);
  930. self iPrintlnbold("^2Ghost Camo Given");
  931. }
  932.  
  933. giveRandomCamo()
  934. {
  935. rand=RandomIntRange(1,45);
  936. weap=self getCurrentWeapon();
  937. self takeWeapon(weap);
  938. self takeWeapon(weap);
  939. self giveWeapon(weap,0,true(rand,0,0,0,0));
  940. self switchToWeapon(weap);
  941. self giveMaxAmmo(weap);
  942. self iPrintln("Random Camo Received ^2#"+ rand);
  943. }
  944.  
  945. saveandload()
  946. {
  947. if (self.snl == 0)
  948. {
  949. self iprintln("^2Save and Load Enabled");
  950. self iprintln("Crouch and Press [{+actionslot 2}] To Save");
  951. self iprintln("Crouch and Press [{+actionslot 1}] To Load");
  952. self thread dosaveandload();
  953. self.snl = 1;
  954. }
  955. else
  956. {
  957. self iprintln("^1Save and Load Disabled");
  958. self.snl = 0;
  959. self notify("SaveandLoad");
  960. }
  961. }
  962.  
  963. dosaveandload()
  964. {
  965. self endon("disconnect");
  966. self endon("SaveandLoad");
  967. load = 0;
  968. for(;;)
  969. {
  970. if (self actionslottwobuttonpressed() && self GetStance() == "crouch" && self.snl == 1)
  971. {
  972. self.o = self.origin;
  973. self.a = self.angles;
  974. load = 1;
  975. self iprintln("^2Position Saved");
  976. self iprintln("^2Crouch and Press [{+actionslot 1}] To Load");
  977. wait 2;
  978. }
  979. if (self actionslotonebuttonpressed() && self GetStance() == "crouch" && load == 1 && self.snl == 1)
  980. {
  981. self setplayerangles(self.a);
  982. self setorigin(self.o);
  983. }
  984. wait 0.05;
  985. }
  986. }
  987.  
  988. initSkyPlaza()
  989. {
  990. if(level.skyPOn == 0)
  991. {
  992. level.skyPOn = 1;
  993. self thread Platform();
  994. self iPrintlnbold("^5Trickshot Platform ^2Spawned");
  995. }
  996. else
  997. {
  998. self iPrintlnbold("^5Trickshot Platform ^1already Spawned");
  999. }
  1000. }
  1001. doSkyPlaza()
  1002. {
  1003. L=strTok(D,",");
  1004. for(i = 0 ; i < L.size; i += 2)
  1005. {
  1006. B = spawn("script_model",self.origin+(int(L[i]),int(L[i+1]),Z));
  1007. if(!P)
  1008. B.angles=(90,0,0);
  1009. B setModel("t6_wpn_supply_drop_ally");
  1010. }
  1011. }
  1012. Platform()
  1013. {
  1014. location = self.origin;
  1015. while (isDefined(self.spawnedcrate[0][0]))
  1016. {
  1017. i = -3;
  1018. while (i < 3)
  1019. {
  1020. d = -3;
  1021. while (d < 3)
  1022. {
  1023. self.spawnedcrate[i][d] delete();
  1024. d++;
  1025. }
  1026. i++;
  1027. }
  1028. }
  1029. startpos = location + (0, 0, -10);
  1030. i = -3;
  1031. while (i < 3)
  1032. {
  1033. d = -3;
  1034. while (d < 3)
  1035. {
  1036. self.spawnedcrate[i][d] = spawn("script_model", startpos + (d * 40, i * 70, 0));
  1037. self.spawnedcrate[i][d] setmodel("t6_wpn_supply_drop_ally");
  1038. d++;
  1039. }
  1040. i++;
  1041. }
  1042. wait 1;
  1043. }
  1044.  
  1045. traceBullet()
  1046. {
  1047. return bulletTrace(self getEye(), self getEye()+vectorScale(anglesToForward(self getPlayerAngles()), 1000000), false, self)["position"];
  1048. }
  1049.  
  1050. Tgod()
  1051. {
  1052. if(self.God==false)
  1053. {
  1054. self iPrintlnbold("God Mode [^2ON^7]");
  1055. self.maxhealth=999999999;
  1056. self.health=self.maxhealth;
  1057. if(self.health<self.maxhealth)self.health=self.maxhealth;
  1058. self enableInvulnerability();
  1059. self.God=true;
  1060. }
  1061. else
  1062. {
  1063. self iPrintlnbold("God Mode [^1OFF^7]");
  1064. self.maxhealth=100;
  1065. self.health=self.maxhealth;
  1066. self disableInvulnerability();
  1067. self.God=false;
  1068. }
  1069. }
  1070.  
  1071.  
  1072. ChangeClass()
  1073. {
  1074. self endon("disconnect");
  1075. self endon("death");
  1076.  
  1077. self maps/mp/gametypes/_globallogic_ui::beginclasschoice();
  1078. for(;;)
  1079. {
  1080. if(self.pers[ "changed_class" ])
  1081. self maps/mp/gametypes/_class::giveloadout( self.team, self.class );
  1082. wait 0.05;
  1083. }
  1084. }
  1085.  
  1086. Toggle_Hideeeeee()
  1087. {
  1088. if(self.Hideeeeee==0)
  1089. {
  1090. self.Hideeeeee=1;
  1091. self iPrintln("HIDE [^2ON^7]");
  1092. self hide();
  1093. }
  1094. else
  1095. {
  1096. self.Hideeeeee=0;
  1097. self iPrintln("HIDE [^1OFF^7]");
  1098. self show();
  1099. }
  1100. }
  1101.  
  1102.  
  1103.  
  1104. ToggleNNNNoClip()
  1105. {
  1106.  
  1107. if(self.NoClip==0)
  1108. {
  1109. self.NoClip=1;
  1110. self iPrintln("NoClip Enabled");
  1111. self iPrintln("Press [{+breath_sprint}] to ^5Fly ^7! ");
  1112. self thread NoClip99();
  1113. }
  1114. else
  1115. {
  1116. self.NoClip=0;
  1117. self iPrintln("NoClip Disabled");
  1118. self notify("stop_noclip");
  1119. self unlink();
  1120. self enableweapons();
  1121. self.originObj delete();
  1122. }
  1123. }
  1124.  
  1125. Noclip99()
  1126. {
  1127. self endon("stop_noclip");
  1128. self.originObj = spawn( "script_origin", self.origin, 1 );
  1129. self.originObj.angles = self.angles;
  1130. self playerlinkto( self.originObj, undefined );
  1131.  
  1132. for(;;)
  1133. {
  1134. if( self sprintbuttonpressed())
  1135. {
  1136. normalized = anglesToForward( self getPlayerAngles() );
  1137. scaled = vectorScale( normalized, 20 );
  1138. originpos = self.origin + scaled;
  1139. self.originObj.origin = originpos;
  1140. }
  1141. wait .05;
  1142. }
  1143. }
  1144.  
  1145.  
  1146. MagicBullet()
  1147. {
  1148. self endon("disconnect");
  1149. self endon("death");
  1150.  
  1151. for(;;)
  1152. {
  1153. self waittill("weapon_fired");
  1154. forward = anglestoforward(self getplayerangles());
  1155. start = self geteye();
  1156. end = vectorscale(forward, 9999);
  1157. magicbullet("misc/fx_equip_tac_insert_light_grn", start, bullettrace(start, start + end, false, undefined)["position"], self);
  1158. }
  1159. }
  1160.  
  1161. toggleAim()
  1162. {
  1163. if(self.Aim == "On") {
  1164. self.Aim = "Off";
  1165. self notify("StopAimbot");
  1166. } else {
  1167. self.Aim = "On";
  1168. self thread goAimbot();
  1169. }
  1170. self iPrintln("Aimbot: ^2" + self.Aim);
  1171. }
  1172.  
  1173. goAimbot()
  1174. {
  1175. self endon( "disconnect" );
  1176. self endon( "game_ended" );
  1177. self endon( "StopAimbot" );
  1178. for(;;)
  1179. {
  1180. aimAt = undefined;
  1181. self waittill("weapon_fired");
  1182. foreach(player in level.players)
  1183. {
  1184. if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
  1185. continue;
  1186. if(isDefined(aimAt))
  1187. {
  1188. //if(closer(self getTagOrigin("pelvis"), player getTagOrigin("pelvis"), aimAt getTagOrigin("pelvis")))
  1189. aimAt = player;
  1190. }
  1191. else aimAt = player;
  1192. }
  1193. if(isDefined(aimAt))
  1194. {
  1195. weaponclass = getweaponclass(self getCurrentWeapon());
  1196. if(self adsButtonPressed() && weaponclass == "weapon_sniper")
  1197. aimAt thread [[level.callbackPlayerDamage]]( self, self, 2147483600, 8, "MOD_RIFLE_BULLET", self getCurrentWeapon(), (0,0,0), (0,0,0), "pelvis", 0, 0 );
  1198. }
  1199. wait 0.05;
  1200. }
  1201. }
  1202.  
  1203.  
  1204. traceBullet()
  1205. {
  1206. return bulletTrace(self getEye(), self getEye()+vectorScale(anglesToForward(self getPlayerAngles()), 1000000), false, self)["position"];
  1207. }
  1208.  
  1209.  
  1210. spawnbot1()
  1211. {
  1212. self thread SpawnBot();
  1213. wait 0.5;
  1214. self iprintlnbold("^2Bot Spawned!");
  1215. }
  1216.  
  1217.  
  1218. SpawnBot(team)
  1219. {
  1220. maps/mp/bots/_bot::spawn_bot(team);
  1221. }
  1222.  
  1223.  
  1224.  
  1225. AllToMe()
  1226. {
  1227. self.me = self.origin;
  1228. foreach(player in level.players)
  1229. {
  1230. if(!(player isHost()))
  1231. {
  1232. player SetOrigin(self.me);
  1233. }
  1234. }
  1235. self iPrintlnbold("^2All Players Teleported");
  1236. }
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242. playeranglestoforward(player, distance)
  1243. {
  1244. return player.origin + vectorScale(anglesToForward(player getplayerangles()), distance);
  1245. }
  1246.  
  1247. spawnSM(origin,model,angles)
  1248. {
  1249. ent=spawn("script_model",origin);
  1250. ent setModel(model);
  1251. if(isDefined(angles))ent.angles=angles;
  1252. return ent;
  1253. }
  1254.  
  1255. CR(align,relative,x,y,width,height,color,shader,sort,alpha)
  1256. {
  1257. b = newClientHudElem( self );
  1258. b.elemType = "bar";
  1259. b.width = width;
  1260. b.height = height;
  1261. b.align = align;
  1262. b.relative = relative;
  1263. b.xOffset = 0;
  1264. b.yOffset = 0;
  1265. b.children = [];
  1266. b.sort = sort;
  1267. b.color = color;
  1268. b.alpha = alpha;
  1269. b.hideWhenInMenu = 1;
  1270. b setParent( level.uiParent );
  1271. b setShader( shader, width , height );
  1272. b.hidden = 0;
  1273. b setPoint(align,relative,x,y);
  1274. return b;
  1275. }
  1276.  
  1277. lookPos()
  1278. {
  1279. f = self geteye();
  1280. v = anglesToForward(self getplayerangles());
  1281. e = (v[0] * 100000000, v[1] * 100000000, v[2] * 100000000);
  1282. trace = bullettrace(f, e, 0, self)["position"];
  1283. return trace;
  1284. }
  1285. calcDistance(s,o,m)
  1286. {
  1287. return (distance(o,m)/s);
  1288. }
  1289. modelSpawner(origin,model,angles)
  1290. {
  1291. e = spawn("script_model",origin);
  1292. e setModel(model);
  1293. return e;
  1294. }
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304. createText( font, fontScale, text, point, relative, xOffset, yOffset, sort, hideWhenInMenu, alpha, color, glowAlpha, glowColor )
  1305. {
  1306. Textlem = createFontString(font, fontScale);
  1307. Textlem setText(text);
  1308. Textlem setPoint( point, relative, xOffset, yOffset );
  1309. Textlem.sort = sort;
  1310. Textlem.hideWhenInMenu = hideWhenInMenu;
  1311. Textlem.alpha = alpha;
  1312. Textlem.color = color;
  1313. Textlem.glowAlpha = glowAlpha;
  1314. Textlem.glowColor = glowColor;
  1315. return Textlem;
  1316. }
  1317.  
  1318. createRectangle( align, relative, x, y, shader, width, height, color, alpha, sort )
  1319. {
  1320. barElemBG = newClientHudElem( self );
  1321. barElemBG.elemType = "bar";
  1322. if ( !level.splitScreen )
  1323. {
  1324. barElemBG.x = -2;
  1325. barElemBG.y = -2;
  1326. }
  1327. barElemBG.width = width;
  1328. barElemBG.height = height;
  1329. barElemBG.align = align;
  1330. barElemBG.relative = relative;
  1331. barElemBG.xOffset = 0;
  1332. barElemBG.yOffset = 0;
  1333. barElemBG.children = [];
  1334. barElemBG.sort = sort;
  1335. barElemBG.color = color;
  1336. barElemBG.alpha = alpha;
  1337. barElemBG setParent( level.uiParent );
  1338. barElemBG setShader( shader, width , height );
  1339. barElemBG.hidden = false;
  1340. barElemBG setPoint(align,relative,x,y);
  1341. return barElemBG;
  1342. }
  1343.  
  1344. optionCalledMesage(titleWord, isNotify, notifyWord, color, time)
  1345. {
  1346. optionMessage = spawnstruct();
  1347. optionMessage.titleText = titleWord;
  1348. if(isNotify == 1)
  1349. {
  1350. optionMessage.notifyText = notifyWord;
  1351. }
  1352. optionMessage.glowColor = color;
  1353. optionMessage.duration = time;
  1354. optionMessage.font = "objective";
  1355. optionMessage.hideWhenInMenu = false;
  1356. self thread maps\mp\gametypes\_hud_message::notifyMessage(optionMessage);
  1357. }
  1358.  
  1359. elemMoveX(time, input)
  1360. {
  1361. self moveOverTime(time);
  1362. self.x = input;
  1363. }
  1364.  
  1365. elemFade(time, alpha)
  1366. {
  1367. self fadeOverTime(time);
  1368. self.alpha = alpha;
  1369. }
  1370.  
  1371. scaleFont(time, value)
  1372. {
  1373. self changeFontScaleOverTime(time);
  1374. self.fontScale = value;
  1375. }
  1376.  
  1377. elemGlow(time, g_color, g_alpha)
  1378. {
  1379. self fadeOverTime(time);
  1380. self.glowColor = g_color;
  1381. self.Glowalpha = g_alpha;
  1382. }
  1383.  
  1384. GunList()
  1385. {
  1386. Primary=[];
  1387. Primary[0]="870mcs_mp";
  1388. Primary[1]="an94_mp";
  1389. Primary[2]="as50_mp";
  1390. Primary[3]="ballista_mp";
  1391. Primary[4]="dsr50_mp";
  1392. Primary[5]="dualoptic_an94_mp";
  1393. Primary[6]="dualoptic_hamr_mp";
  1394. Primary[7]="dualoptic_hk416_mp";
  1395. Primary[8]="dualoptic_lsat_mp";
  1396. Primary[9]="dualoptic_mk48_mp";
  1397. Primary[10]="dualoptic_qbb95_mp";
  1398. Primary[11]="dualoptic_sa58_mp";
  1399. Primary[12]="dualoptic_saritch_mp";
  1400. Primary[13]="dualoptic_scar_mp";
  1401. Primary[14]="dualoptic_sig556_mp";
  1402. Primary[15]="dualoptic_tar21_mp";
  1403. Primary[16]="dualoptic_type95_mp";
  1404. Primary[17]="dualoptic_xm8_mp";
  1405. Primary[18]="evoskorpion_mp";
  1406. Primary[19]="gl_an94_mp";
  1407. Primary[20]="gl_hk416_mp";
  1408. Primary[21]="gl_sa58_mp";
  1409. Primary[22]="gl_saritch_mp";
  1410. Primary[23]="gl_scar_mp";
  1411. Primary[24]="gl_sig556_mp";
  1412. Primary[25]="gl_tar21_mp";
  1413. Primary[26]="gl_type95_mp";
  1414. Primary[27]="gl_xm8_mp";
  1415. Primary[28]="hamr_mp";
  1416. Primary[29]="hk416_mp";
  1417. Primary[30]="insas_mp";
  1418. Primary[31]="ksg_mp";
  1419. Primary[32]="lsat_mp";
  1420. Primary[32]="mk48_mp";
  1421. Primary[34]="mp7_mp";
  1422. Primary[35]="pdw57_mp";
  1423. Primary[36]="peacekeeper_mp";
  1424. Primary[37]="qbb95_mp";
  1425. Primary[38]="qcw05_mp";
  1426. Primary[39]="sa58_mp";
  1427. Primary[40]="saiga12_mp";
  1428. Primary[41]="saritch_mp";
  1429. Primary[42]="scar_mp";
  1430. Primary[43]="sf_an94_mp";
  1431. Primary[44]="sf_evoskorpion_mp";
  1432. Primary[45]="sf_hk416_mp";
  1433. Primary[46]="sf_insas_mp";
  1434. Primary[47]="sf_mp7_mp";
  1435. Primary[48]="sf_pdw57_mp";
  1436. Primary[49]="sf_peacekeeper_mp";
  1437. Primary[50]="sf_qcw05_mp";
  1438. Primary[51]="sf_sa58_mp";
  1439. Primary[52]="sf_saritch_mp";
  1440. Primary[53]="sf_scar_mp";
  1441. Primary[54]="sf_sig556_mp";
  1442. Primary[55]="sf_tar21_mp";
  1443. Primary[56]="sf_type95_mp";
  1444. Primary[57]="sf_vector_mp";
  1445. Primary[58]="sf_xm8_mp";
  1446. Primary[59]="sig556_mp";
  1447. Primary[60]="srm1216_mp";
  1448. Primary[61]="svu_mp";
  1449. Primary[62]="tar21_mp";
  1450. Primary[63]="type95_mp";
  1451. Primary[64]="vector_mp";
  1452. Primary[65]="xm8_mp";
  1453.  
  1454. Secondary=[];
  1455. Secondary[0]="beretta93r_dw_mp";
  1456. Secondary[1]="beretta93r_mp";
  1457. Secondary[2]="crossbow_mp";
  1458. Secondary[3]="fiveseven_dw_mp";
  1459. Secondary[4]="fiveseven_mp";
  1460. Secondary[5]="fnp45_dw_mp";
  1461. Secondary[6]="fnp45_mp";
  1462. Secondary[7]="fhj18_mp";
  1463. Secondary[8]="judge_dw_mp";
  1464. Secondary[9]="judge_mp";
  1465. Secondary[10]="kard_dw_mp";
  1466. Secondary[11]="kard_mp";
  1467. Secondary[12]="knife_ballistic_mp";
  1468. Secondary[13]="knife_held_mp";
  1469. Secondary[14]="smaw_mp";
  1470. Secondary[15]="usrpg_mp";
  1471.  
  1472. PrimaryAttachment=[];
  1473. PrimaryAttachment[0]="+acog";
  1474. PrimaryAttachment[1]="+dualclip";
  1475. PrimaryAttachment[2]="+extbarrel";
  1476. PrimaryAttachment[3]="+extclip";
  1477. PrimaryAttachment[4]="+fastreload";
  1478. PrimaryAttachment[5]="+fmj";
  1479. PrimaryAttachment[6]="+grip";
  1480. PrimaryAttachment[7]="+holo";
  1481. PrimaryAttachment[8]="+ir";
  1482. PrimaryAttachment[9]="+is";
  1483. PrimaryAttachment[10]="+longbreath";
  1484. PrimaryAttachment[11]="+mms";
  1485. PrimaryAttachment[12]="+rangefinder";
  1486. PrimaryAttachment[13]="+reflex";
  1487. PrimaryAttachment[14]="+rf";
  1488. PrimaryAttachment[15]="+silencer";
  1489. PrimaryAttachment[16]="+stackfire";
  1490. PrimaryAttachment[17]="+stalker";
  1491. PrimaryAttachment[18]="+steadyaim";
  1492. PrimaryAttachment[19]="+swayreduc";
  1493. PrimaryAttachment[20]="+vzoom";
  1494.  
  1495. SecondaryAttachment=[];
  1496. SecondaryAttachment[0]="+dualclip";
  1497. SecondaryAttachment[1]="+extbarrel";
  1498. SecondaryAttachment[2]="+extclip";
  1499. SecondaryAttachment[3]="+fmj";
  1500. SecondaryAttachment[4]="+reflex";
  1501. SecondaryAttachment[5]="+silencer";
  1502. SecondaryAttachment[6]="+stackfire";
  1503. SecondaryAttachment[7]="+stalker";
  1504. SecondaryAttachment[8]="+steadyaim";
  1505. SecondaryAttachment[9]="+tacknife";
  1506.  
  1507. Perk=[];
  1508. Perk[0]="specialty_armorpiercing";
  1509. Perk[1]="specialty_asd";
  1510. Perk[2]="specialty_automantle";
  1511. Perk[3]="specialty_bulletdamage";
  1512. Perk[4]="specialty_bulletflinch";
  1513. Perk[5]="specialty_bulletpenetration";
  1514. Perk[6]="specialty_bulletaccuracy";
  1515. Perk[7]="specialty_brutestrength";
  1516. Perk[9]="specialty_deadshot";
  1517. Perk[10]="specialty_delayexplosive";
  1518. Perk[11]="specialty_detectexplosive";
  1519. Perk[12]="specialty_disarmexplosive";
  1520. Perk[13]="specialty_endurance";
  1521. Perk[14]="specialty_explosivebullets";
  1522. Perk[15]="specialty_extraammo";
  1523. Perk[16]="specialty_extendedmags";
  1524. Perk[17]="specialty_extendedmelee";
  1525. Perk[18]="specialty_fallheight";
  1526. Perk[19]="specialty_fireproof";
  1527. Perk[20]="specialty_falldamage";
  1528. Perk[21]="specialty_fastmantle";
  1529. Perk[22]="specialty_fastads";
  1530. Perk[23]="specialty_fastreload";
  1531. Perk[24]="specialty_fastsprintrecovery";
  1532. Perk[25]="specialty_fastsnipe";
  1533. Perk[26]="specialty_fasttoss";
  1534. Perk[27]="specialty_fastequipmentuse";
  1535. Perk[28]="specialty_fastladderclimb";
  1536. Perk[29]="specialty_fastmeleerecovery";
  1537. Perk[30]="specialty_fastweaponswitch";
  1538. Perk[31]="specialty_flashprotection";
  1539. Perk[32]="specialty_finalstand";
  1540. Perk[33]="specialty_flakjacket";
  1541. Perk[34]="specialty_feigndeath";
  1542. Perk[35]="specialty_grenadepulldeath";
  1543. Perk[36]="specialty_gpsjammer";
  1544. Perk[37]="specialty_healthregen";
  1545. Perk[38]="specialty_heartbreaker";
  1546. Perk[39]="specialty_improvedholdbreath";
  1547. Perk[40]="specialty_immunerangefinder";
  1548. Perk[41]="specialty_immunemms";
  1549. Perk[42]="specialty_immunethermal";
  1550. Perk[43]="specialty_intruder";
  1551. Perk[44]="specialty_localjammer";
  1552. Perk[45]="specialty_longersprint";
  1553. Perk[46]="specialty_loudenemies";
  1554. Perk[47]="specialty_movefaster";
  1555. Perk[48]="specialty_nokillstreakreticle";
  1556. Perk[49]="specialty_nomotionsensor";
  1557. Perk[50]="specialty_noname";
  1558. Perk[51]="specialty_pin_back";
  1559. Perk[52]="specialty_pistoldeath";
  1560. Perk[53]="specialty_proximityprotection";
  1561. Perk[54]="specialty_quieter";
  1562. Perk[55]="specialty_rof";
  1563. Perk[56]="specialty_scavenger";
  1564. Perk[57]="specialty_selectivehearing";
  1565. Perk[58]="specialty_steelnerves";
  1566. Perk[59]="specialty_stunprotection";
  1567. Perk[60]="specialty_sprintrecovery";
  1568. Perk[61]="specialty_spygame";
  1569. Perk[62]="specialty_showenemyequipment";
  1570. Perk[63]="specialty_trespasser";
  1571. Perk[64]="specialty_unlimitedsprint";
  1572. Perk[65]="specialty_earnmoremomentum";
  1573.  
  1574. Lethal=[];
  1575. Lethal[0]="bouncingbetty_mp";
  1576. Lethal[1]="claymore_mp";
  1577. Lethal[2]="explodable_barrel_mp";
  1578. Lethal[3]="explosive_bolt_mp";
  1579. Lethal[4]="frag_grenade_mp";
  1580. Lethal[5]="hatchet_mp";
  1581. Lethal[6]="satchel_charge_mp";
  1582. Lethal[7]="sticky_grenade_mp";
  1583.  
  1584. Tactical=[];
  1585. Tactical[0]="concussion_grenade_mp";
  1586. Tactical[1]="destructible_car_mp";
  1587. Tactical[2]="emp_grenade_mp";
  1588. Tactical[3]="pda_hack_mp";
  1589. Tactical[4]="sensor_grenade_mp";
  1590. Tactical[5]="tactical_insertion_mp";
  1591. Tactical[6]="willy_pete_mp";
  1592.  
  1593. if(!self.GunGameRunOnce)
  1594. {
  1595. self thread maps\mp\gametypes\_hud_message::hintMessage("Randomizer");
  1596. self.GunGameRunOnce=1;
  1597. }
  1598. self clearPerks();
  1599. self takeAllWeapons();
  1600. wait 0.1;
  1601. self giveWeapon("knife_mp");
  1602. self giveWeapon(Primary[randomint(Primary.size)]+PrimaryAttachment[randomint(PrimaryAttachment.size)]);
  1603. self givemaxammo(Primary[randomint(Primary.size)]);
  1604. wait 0.1;
  1605. self switchToWeapon(Primary[randomint(Primary.size)]+PrimaryAttachment[randomint(PrimaryAttachment.size)]);
  1606. self giveWeapon(Secondary[randomint(Secondary.size)]+SecondaryAttachment[randomint(SecondaryAttachment.size)]);
  1607. self givemaxammo(Secondary[randomint(Secondary.size)]);
  1608. self giveWeapon(Lethal[randomint(Lethal.size)]);
  1609. self givemaxammo(Lethal[randomint(Lethal.size)]);
  1610. self giveWeapon(Tactical[randomint(Tactical.size)]);
  1611. self givemaxammo(Tactical[randomint(Tactical.size)]);
  1612. self setPerk(Perk[randomint(Perk.size)]);
  1613. self setPerk(Perk[randomint(Perk.size)]);
  1614. self setPerk(Perk[randomint(Perk.size)]);
  1615. self setPerk(Perk[randomint(Perk.size)]);
  1616. self setPerk(Perk[randomint(Perk.size)]);
  1617. self setPerk(Perk[randomint(Perk.size)]);
  1618. }
  1619.  
  1620.  
  1621. toggleCamo()
  1622. {
  1623. randy = RandomIntRange( 17, 45 );
  1624. weaps = self getCurrentWeapon();
  1625. self takeWeapon( weaps );
  1626. self giveWeapon( weaps, 0, true ( randy, 0, 0, 0, 0 ));
  1627. self switchToWeapon( weaps );
  1628. }
  1629.  
  1630.  
  1631.  
  1632. ToggleWallHack()
  1633. {
  1634. if(!self.ToggleWallHack)
  1635. {
  1636. self thread enableESP();
  1637. self maps\mp\killstreaks\_spyplane::callsatellite("radardirection_mp");
  1638. self iprintlnbold("ESP Box : [^2Enabled^7]");
  1639. self.ToggleWallHack=true;
  1640. }
  1641. else
  1642. {
  1643. self thread disableESP();
  1644. self iprintlnbold("ESP Box : [^2Disabled^7]");
  1645. self.ToggleWallHack=false;
  1646. }
  1647. }
  1648.  
  1649.  
  1650.  
  1651. enableESP()
  1652. {
  1653. //self setDvar("r_esp", "1");
  1654. self thread getTargets();
  1655. }
  1656.  
  1657. disableESP()
  1658. {
  1659. //self setDvar("r_esp", "0");
  1660. self notify("esp_end");
  1661. for(i=0;i<self.esp.targets.size;i++)
  1662. self.esp.targets[i].hudbox destroy();
  1663. }
  1664.  
  1665. getTargets()
  1666. {
  1667. self endon("esp_end");
  1668. for(;;)
  1669. {
  1670. self.esp = spawnStruct();
  1671. self.esp.targets = [];
  1672. a = 0;
  1673. for(i=0; i<level.players.size; i++)
  1674. {
  1675. if(self != level.players[i])
  1676. {
  1677. self.esp.targets[a] = spawnStruct();
  1678. self.esp.targets[a].player = level.players[i];
  1679. self.esp.targets[a].hudbox = self createBox(self.esp.targets[a].player.origin,1);
  1680. self thread monitorTarget( self.esp.targets[a] );
  1681. a++;
  1682. }
  1683. }
  1684. level waittill("connected", player );
  1685. self notify("esp_target_update");
  1686. }
  1687. }
  1688.  
  1689. monitorTarget(target)
  1690. {
  1691. self endon("esp_target_update");
  1692. self endon("esp_end");
  1693. for(;;)
  1694. {
  1695. target.hudbox destroy();
  1696. h_pos = target.player.origin;
  1697. t_pos = target.player.origin;
  1698. if(bulletTracePassed(self getTagOrigin("j_spine4"), target.player getTagOrigin("j_spine4"), false, self))
  1699. {
  1700. if(distance(self.origin,target.player.origin)<=1800)
  1701. {
  1702. if(level.teamBased && target.player.pers["team"] != self.pers["team"])
  1703. { target.hudbox = self createBox(h_pos, 900);
  1704. target.hudbox.color = (0,1,0); }
  1705. if(!level.teamBased)
  1706. { target.hudbox = self createBox(h_pos, 900);
  1707.  
  1708. target.hudbox.color = (0,1,0); }
  1709. }
  1710. else
  1711. target.hudbox = self createBox(t_pos,900);
  1712. }
  1713. else
  1714. target.hudbox = self createBox(t_pos,100);
  1715.  
  1716. if(!isAlive(target.player))
  1717. {
  1718. target.hudbox destroy();
  1719. if(level.teamBased && target.player.pers["team"] != self.pers["team"]) {
  1720. target.hudbox = self createBox(t_pos, 900);
  1721. target.hudbox setShader(level.deads, 6, 6);
  1722. }
  1723. else if(!level.teamBased)
  1724. { target.hudbox = self createBox(t_pos, 900);
  1725. target.hudbox setShader(level.deads, 6, 6);
  1726. }
  1727. }
  1728.  
  1729. if(self.pers["team"] == target.player.pers["team"] && level.teamBased)
  1730. {
  1731. target.hudbox destroy();
  1732. if(distance(target.player.origin,self.origin) < 3)
  1733. target.hudbox = self createBox(t_pos, 900);
  1734.  
  1735. }
  1736.  
  1737. wait 0.01;
  1738. }
  1739. }
  1740.  
  1741. createBox(pos,type)
  1742. {
  1743. shader = newClientHudElem( self );
  1744. shader.sort = 0;
  1745. shader.archived = false;
  1746. shader.x = pos[0];
  1747. shader.y = pos[1];
  1748. shader.z = pos[2] + 30;
  1749. shader setShader(level.esps, 6, 6);
  1750. shader setWaypoint(true,true);
  1751. shader.alpha = 0.80;
  1752. shader.color = (1,0,0);
  1753. return shader;
  1754. }
  1755.  
  1756. changeAimingPos()
  1757. {
  1758. self.aimpos += 1;
  1759. if (self.aimpos == 1)
  1760. self.aimingPosition = "j_spineupper";
  1761. if (self.aimpos == 2)
  1762. self.aimingPosition = "j_spinelower";
  1763. if (self.aimpos == 3)
  1764. self.aimingPosition = "j_spinelower";
  1765. if (self.aimpos == 3)
  1766. self.aimpos = 0;
  1767.  
  1768. self iPrintln("^1Aiming Position: ^2" + self.aimingPosition);
  1769. }
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776. QuickModsText(String1)
  1777. {
  1778. quicky = self createFontString("default",2.5);
  1779. quicky setPoint("CENTER","CENTER",0,0);
  1780. quicky setText(String1);
  1781. quicky.glow = 1;
  1782. quicky.glowColor = (0.5, 0, 1);
  1783. quicky.glowAlpha = 1;
  1784. quicky.color = (1,1,1);
  1785. quicky.alpha = 1;
  1786. quicky moveOverTime(0.45);
  1787. quicky.y = -150;
  1788. quicky.x = 0;
  1789. wait 0.5;
  1790. quicky SetPulseFX(50,6050,600);
  1791. wait 0.5;
  1792. quicky fadeovertime(0.3);
  1793. quicky.alpha = 0;
  1794. wait .75;
  1795. quicky destroy();
  1796. }
  1797.  
  1798.  
  1799.  
  1800. QTgod()
  1801. {
  1802. if(self.God==false)
  1803. {
  1804. self.maxhealth=999999999;
  1805. self.health=self.maxhealth;
  1806. if(self.health<self.maxhealth)self.health=self.maxhealth;
  1807. self enableInvulnerability();
  1808. self.God=true;
  1809. }
  1810. else
  1811. {
  1812. self.maxhealth=100;
  1813. self.health=self.maxhealth;
  1814. self disableInvulnerability();
  1815. self.God=false;
  1816. }
  1817. }
  1818.  
  1819.  
  1820. QinitNormAimbot()
  1821. {
  1822. level endon("game_ended");
  1823. self endon("disconnect");
  1824. self endon("stop_NormAimbot");
  1825.  
  1826. if(self.aimPosSet == 0)
  1827. {
  1828. self thread changeAimingPos();
  1829. self.aimPosSet = 1;
  1830. }
  1831.  
  1832. self.NormAimbot = booleanOpposite(self.NormAimbot);
  1833. self iPrintlnbold(booleanReturnVal(self.NormAimbot, "^1OFF", "^2ON"));
  1834.  
  1835. if (self.NormAimbot)
  1836. {
  1837. for(;;)
  1838. {
  1839. wait 0.01;
  1840. aimAt = undefined;
  1841. foreach(player in level.players)
  1842. {
  1843. if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
  1844. continue;
  1845. if(isDefined(aimAt))
  1846. {
  1847. // if(Closer(self getTagOrigin(self.aimingPosition), player getTagOrigin(self.aimingPosition), aimAt getTagOrigin(self.aimingPosition)))
  1848. aimAt = player;
  1849. }
  1850. else
  1851. aimAt = player;
  1852. }
  1853. if(isDefined(aimAt))
  1854. if (self.aimingRequired)
  1855. {
  1856. if (self adsButtonPressed())
  1857. self setPlayerAngles(VectorToAngles((aimAt getTagOrigin(self.aimingPosition)) - (self getTagOrigin("tag_eye"))));
  1858. }
  1859. else
  1860. {
  1861. self setPlayerAngles(VectorToAngles((aimAt getTagOrigin(self.aimingPosition)) - (self getTagOrigin("tag_eye"))));
  1862. }
  1863. }
  1864. }
  1865. else
  1866. self notify("stop_NormAimbot");
  1867. }
  1868.  
  1869.  
  1870.  
  1871. InitAimbottrick()
  1872. {
  1873. if(self.Aim == false)
  1874. {
  1875. self.Aim = true;
  1876. self iPrintlnbold("Trickshot Aimbot ^5ON");
  1877. self thread aimBottrick();
  1878. }
  1879. else
  1880. {
  1881. self.Aim = false;
  1882. self iPrintlnbold("Trickshot Aimbot ^1OFF");
  1883. self notify("stop_aimbot");
  1884. }
  1885. }
  1886.  
  1887.  
  1888. aimBottrick()
  1889. {
  1890. self endon( "disconnect" );
  1891. self endon( "death" );
  1892. self endon("stop_aimbot");
  1893.  
  1894. for(;;)
  1895. {
  1896. aimAt = undefined;
  1897. foreach(player in level.players)
  1898. {
  1899. if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"]))
  1900. continue;
  1901. if(isDefined(aimAt))
  1902. {
  1903. // if(closer(self getTagOrigin("j_spinelower"), player getTagOrigin("j_spinelower"), aimAt getTagOrigin("j_spinelower")))
  1904. aimAt = player;
  1905. }
  1906. else aimAt = player;
  1907. }
  1908. if(isDefined(aimAt))
  1909. {
  1910. if(self attackbuttonpressed())
  1911. {
  1912. aimAt thread [[level.callbackPlayerDamage]]( self, self, 100, 0, "MOD_RIFLE_BULLET", self getCurrentWeapon(), (0,0,0), (0,0,0), "j_spinelower", 0, 0 );
  1913. wait 1.01;
  1914. }
  1915. }
  1916. wait 0.01;
  1917. }
  1918. }
  1919.  
  1920. doAimbot()
  1921. {
  1922. self endon("death");
  1923. self endon("disconnect");
  1924. for(;;)
  1925. {
  1926. if(self getStance() == "stand" && self meleebuttonpressed() && self actionslotonebuttonpressed())
  1927. {
  1928. if(self.Range == "Off")
  1929. {
  1930. self notify("NewRange");
  1931. self thread radiusShot(250,2154123);
  1932. self.Range = "Close";
  1933. }
  1934. else if(self.Range == "Close")
  1935. {
  1936. self notify("NewRange");
  1937. self thread radiusShot(700,2154123);
  1938. self.Range = "Strong";
  1939. }
  1940. else if(self.Range == "Strong")
  1941. {
  1942. self notify("NewRange");
  1943. self thread radiusShot(3000000,2154123);
  1944. self.Range = "Everywhere";
  1945. }
  1946. else if(self.Range == "Everywhere")
  1947. {
  1948. self notify("NewRange");
  1949. self thread radiusShot(500,1);
  1950. self.Range = "Hitmarker";
  1951. }
  1952. else if(self.Range == "Hitmarker")
  1953. {
  1954. self notify("NewRange");
  1955. self.Range = "Off";
  1956. }
  1957. self iprintlnbold("Explosive ^2Bullets: " + self.Range);
  1958. wait 0.05;
  1959. }
  1960. wait 0.02;
  1961. }
  1962. }
  1963.  
  1964. radiusShot(range, dam)
  1965. {
  1966. self endon( "death" );
  1967. self endon( "disconnect" );
  1968. self endon( "New Range" );
  1969. for(;;)
  1970. {
  1971. aimAt = undefined;
  1972. wait 0.01;
  1973. self waittill ("weapon_fired");
  1974. start = self getTagOrigin( "j_head" );
  1975. end = anglestoforward(self getPlayerAngles()) * 1000000;
  1976. destination = BulletTrace(start, end, true, self)["position"];
  1977. for( i = 0;i < level.players.size;i++ )
  1978. {
  1979. if( level.players[i] == self || level.teamBased && self.pers["team"] == level.players[i].pers["team"] || !isAlive(level.players[i]) )
  1980. continue;
  1981. if( isDefined(aimAt) )
  1982. {
  1983. // if(closer(destination, aimAt getTagOrigin("pelvis")))
  1984. aimAt = level.players[i];
  1985. }
  1986. else aimAt = level.players[i];
  1987. }
  1988. if(!self adsbuttonpressed())
  1989. {
  1990. if(distance( aimAt.origin, destination ) < range) // Edita esse numero para aumentar o range do EB!
  1991. {
  1992. if (self.arma == "Off")
  1993. {
  1994. if (isSubStr(self getCurrentWeapon(), "l96a1") || isSubStr(self getCurrentWeapon(), "dragunov") || isSubStr(self getCurrentWeapon(), "psg1") || isSubStr(self getCurrentWeapon(), "wa2000") || isSubStr(self getCurrentWeapon(), "m1911") )
  1995. {
  1996. x = randomInt(10);
  1997. if(x==1)
  1998. {
  1999. aimAt thread [[level.callbackPlayerDamage]]( self, self, 90, 8, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0,0,0), (0,0,0), "j_head", 0, 0 );
  2000. MagicBullet(self GetCurrentWeapon(), aimAt getTagOrigin("j_head"), aimAt getTagOrigin("j_head"), self);
  2001. }
  2002. else
  2003. {
  2004. aimAt thread [[level.callbackPlayerDamage]]( self, self, 90, 8, "MOD_RIFLE_BULLET", self getCurrentWeapon(), (0,0,0), (0,0,0), "pelvis", 0, 0 );
  2005. MagicBullet(self GetCurrentWeapon(), aimAt getTagOrigin("j_head"), aimAt getTagOrigin("pelvis"), self);
  2006. }
  2007. }
  2008. }
  2009. else if(self.arma == "On")
  2010. {
  2011. if (self.ebweap == self getCurrentWeapon())
  2012. {
  2013. x = randomInt(10);
  2014. if(x==1)
  2015. {
  2016. aimAt thread [[level.callbackPlayerDamage]]( self, self, 90, 8, "MOD_HEAD_SHOT", self getCurrentWeapon(), (0,0,0), (0,0,0), "j_head", 0, 0 );
  2017. MagicBullet(self GetCurrentWeapon(), aimAt getTagOrigin("j_head"), aimAt getTagOrigin("j_head"), self);
  2018. }
  2019. else
  2020. {
  2021. aimAt thread [[level.callbackPlayerDamage]]( self, self, 90, 8, "MOD_RIFLE_BULLET", self getCurrentWeapon(), (0,0,0), (0,0,0), "pelvis", 0, 0 );
  2022. MagicBullet(self GetCurrentWeapon(), aimAt getTagOrigin("j_head"), aimAt getTagOrigin("pelvis"), self);
  2023. }
  2024. }
  2025. }
  2026. }
  2027. }
  2028. }
  2029. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement