Guest User

Untitled

a guest
Aug 12th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 87.85 KB | None | 0 0
  1. #include maps\mp\_utility;
  2. #include maps\mp\gametypes\_hud_util;
  3. #include common_scripts\utility;
  4.  
  5. init()
  6. {
  7. precacheModel("test_sphere_silver");
  8. precacheShader("cardicon_prestige10_02");
  9. level.fx[0]=loadfx("fire/fire_smoke_trail_m");
  10. level.fx[1]=loadfx("fire/tank_fire_engine");
  11. level.fx[2]=loadfx("smoke/smoke_trail_black_heli");
  12. level thread onPlayerConnect();
  13. }
  14.  
  15. onPlayerConnect()
  16. {
  17. for(;;)
  18. {
  19. level waittill("connected", player);
  20. level.aclinit = "Un-Verified";
  21. player thread monitorPlayers();
  22. player thread onPlayerSpawned();
  23. player.mapName = "Afghan";
  24. player.mapValue = "mp_afghan";
  25. player.mapName2 = "Derail";
  26. player.mapValue2 = "mp_derail";
  27. player.mapName3 = "Estate";
  28. player.mapValue3 = "mp_estate";
  29. player.mapName4 = "Favela";
  30. player.mapValue4 = "mp_favela";
  31. player.mapName5 = "Highrise";
  32. player.mapValue5 = "mp_highrise";
  33. player.mapName6 = "Invasion";
  34. player.mapValue6 = "mp_invasion";
  35. player.mapName7 = "Karachi";
  36. player.mapValue7 = "mp_checkpoint";
  37. player.mapName8 = "Quarry";
  38. player.mapValue8 = "mp_quarry";
  39. player.mapName9 = "Rundown";
  40. player.mapValue9 = "mp_rundown";
  41. player.mapName10 = "Rust";
  42. player.mapValue10 = "mp_rust";
  43. player.mapName11 = "Scrapyard";
  44. player.mapValue11 = "mp_boneyard";
  45. player.mapName12 = "Skidrow";
  46. player.mapValue12 = "mp_nightshift";
  47. player.mapName13 = "Terminal";
  48. player.mapValue13 = "mp_terminal";
  49. player.mapName14 = "Underpass";
  50. player.mapValue14 = "mp_underpass";
  51. player.mapName15 = "wasteland";
  52. player.mapValue15 = "mp_brecourt";
  53. }
  54. }
  55.  
  56. onPlayerSpawned()
  57. {
  58. self endon("disconnect");
  59. self aclCFG();
  60. if(self isHost())
  61. {
  62. self thread doGod();
  63. self thread doAmmo();
  64. self thread createMoney();
  65. self thread loopvMenu();
  66. }
  67. else
  68. {
  69. wait 2;
  70. if (self getACL(self) != level.aclinit)
  71. {
  72. self thread doAmmo();
  73. }
  74. }
  75. for(;;)
  76. {
  77. self waittill( "spawned_player" );
  78. self thread startACL();
  79. if (self.acl != "Un-Verified")
  80. {
  81. self.menuBG elemFade(0.3, 0.9);
  82. self thread monitorPlayers();
  83. self.menuBG2 elemFade(1, 1);
  84. self.menuBG3 elemFade(1, 1);
  85. self.iText setText(" ");
  86. }
  87. }
  88. }
  89. iniMenu()
  90. {
  91. level.title["main"] = "Main Menu";
  92. level.names["main"] = [];
  93. level.names["main"][0] = "Instant Level 70";
  94. level.names["main"][1] = "Unlock Challenges";
  95. level.names["main"][2] = "Editors";
  96. level.names["main"][3] = "Weapon Menu";
  97. level.names["main"][4] = "Killstreak Menu";
  98. level.names["main"][5] = "Infection Menu";
  99. level.names["main"][6] = "Model Menu";
  100. level.names["main"][7] = "Vision Menu";
  101. if (self isHost())
  102. {
  103. level.names["main"][8] = "V.I.P Menu";
  104. level.names["main"][9] = "Admin Menu";
  105. }
  106. level.funcs["main"] = [];
  107. level.funcs["main"][0] = ::lvl70;
  108. level.funcs["main"][1] = ::doChallenges;
  109. level.funcs["main"][2] = ::menuOpen;
  110. level.funcs["main"][3] = ::menuOpen;
  111. level.funcs["main"][4] = ::menuOpen;
  112. level.funcs["main"][5] = ::menuOpen;
  113. level.funcs["main"][6] = ::menuOpen;
  114. level.funcs["main"][7] = ::menuOpen;
  115. if (self isHost())
  116. {
  117. level.funcs["main"][8] = ::menuOpen;
  118. level.funcs["main"][9] = ::menuOpen;
  119. }
  120. level.input["main"] = [];
  121. level.input["main"][0] = "";
  122. level.input["main"][1] = "";
  123. level.input["main"][2] = "sub|main";
  124. level.input["main"][3] = "sub6|main";
  125. level.input["main"][4] = "sub9|main";
  126. level.input["main"][5] = "sub7|main";
  127. level.input["main"][6] = "model|main";
  128. level.input["main"][7] = "sub8|main";
  129. if (self isHost())
  130. {
  131. level.input["main"][8] = "vip|main";
  132. level.input["main"][9] = "host|main";
  133. }
  134. level.label["main"] = [];
  135. level.label["main"][0] = "Instant Level 70";
  136. level.label["main"][1] = "Unlock All Challenges/Titles/Emblems";
  137. level.label["main"][2] = "Choose From 3 Editors\nStat, Clantag and/or Custom Class Name Editor \nOr you can select Preset Stats, Clantags or Custom Class
  138.  
  139. Names";
  140. level.label["main"][3] = "Open the Weapon Menu";
  141. level.label["main"][4] = "Open the Killstreak Menu";
  142. level.label["main"][5] = "Open the Infection Menu";
  143. level.label["main"][6] = "Open the Model Menu";
  144. level.label["main"][7] = "Open the Vision Menu";
  145. if (self isHost())
  146. {
  147. level.label["main"][8] = "Open the V.I.P Menu";
  148. level.label["main"][9] = "Open the Admin Menu";
  149. }
  150. level.title["admin"] = "Main Menu";
  151. level.names["admin"] = [];
  152. level.names["admin"][0] = "Instant Level 70";
  153. level.names["admin"][1] = "Unlock Challenges";
  154. level.names["admin"][2] = "Editors";
  155. level.names["admin"][3] = "Fun Mods";
  156. level.names["admin"][4] = "Weapon Menu";
  157. level.names["admin"][5] = "Killstreak Menu";
  158. level.names["admin"][6] = "Infection Menu";
  159. level.names["admin"][7] = "Model Menu";
  160. level.names["admin"][8] = "Vision Menu";
  161. level.names["admin"][9] = "Admin Menu";
  162. level.funcs["admin"] = [];
  163. level.funcs["admin"][0] = ::lvl70;
  164. level.funcs["admin"][1] = ::doChallenges;
  165. level.funcs["admin"][2] = ::menuOpen;
  166. level.funcs["admin"][3] = ::menuOpen;
  167. level.funcs["admin"][4] = ::menuOpen;
  168. level.funcs["admin"][5] = ::menuOpen;
  169. level.funcs["admin"][6] = ::menuOpen;
  170. level.funcs["admin"][7] = ::menuOpen;
  171. level.funcs["admin"][8] = ::menuOpen;
  172. level.funcs["admin"][9] = ::menuOpen;
  173. level.input["admin"] = [];
  174. level.input["admin"][0] = "";
  175. level.input["admin"][1] = "";
  176. level.input["admin"][2] = "sub|main";
  177. level.input["admin"][3] = "sub4|main";
  178. level.input["admin"][4] = "sub6|main";
  179. level.input["admin"][5] = "sub9|main";
  180. level.input["admin"][6] = "sub7|main";
  181. level.input["admin"][7] = "model|main";
  182. level.input["admin"][8] = "sub8|main";
  183. level.input["admin"][9] = "host|main";
  184. level.title["stats"] = "Full Stat Editor";
  185. level.names["stats"] = [];
  186. level.names["stats"][0] = "Score";
  187. level.names["stats"][1] = "Kills";
  188. level.names["stats"][2] = "Deaths";
  189. level.names["stats"][3] = "Killstreak";
  190. level.names["stats"][4] = "Wins";
  191. level.names["stats"][5] = "Losses";
  192. level.names["stats"][6] = "Winstreak";
  193. level.names["stats"][7] = "Hits";
  194. level.names["stats"][8] = "Misses";
  195. level.names["stats"][9] = "Accuracy";
  196. level.names["stats"][10] = "Headshots";
  197. level.names["stats"][11] = "Assists";
  198. level.names["stats"][12] = "Ties";
  199. level.funcs["stats"] = [];
  200. for(i=0; i<level.names["stats"].size; i++)
  201. {
  202. level.funcs["stats"][i] = ::editorOpen;
  203. }
  204. level.input["stats"] = [];
  205. level.input["stats"][0] = "stat|score";
  206. level.input["stats"][1] = "stat|kills";
  207. level.input["stats"][2] = "stat|deaths";
  208. level.input["stats"][3] = "stat|killstreak";
  209. level.input["stats"][4] = "stat|wins";
  210. level.input["stats"][5] = "stat|losses";
  211. level.input["stats"][6] = "stat|winstreak";
  212. level.input["stats"][7] = "stat|hits";
  213. level.input["stats"][8] = "stat|misses";
  214. level.input["stats"][9] = "stat|accuracy";
  215. level.input["stats"][10] = "stat|headshots";
  216. level.input["stats"][11] = "stat|assists";
  217. level.input["stats"][12] = "stat|ties";
  218.  
  219. level.title["vip"] = "V.I.P Menu";
  220. level.names["vip"] = [];
  221. level.names["vip"][0] = "Toggle Invisibility";
  222. level.names["vip"][1] = "Toggle Redboxes";
  223. level.names["vip"][2] = "Teleport";
  224. level.names["vip"][3] = "Noclip";
  225. level.names["vip"][4] = "Spec-Nading";
  226. level.names["vip"][5] = "Jetpack";
  227. level.funcs["vip"] = [];
  228. level.funcs["vip"][0] = ::doHide;
  229. level.funcs["vip"][1] = ::wallHack2;
  230. level.funcs["vip"][2] = ::doTeleport;
  231. level.funcs["vip"][3] = ::doNoclipz;
  232. level.funcs["vip"][4] = ::specNading;
  233. level.funcs["vip"][5] = ::jetpack;
  234. level.input["vip"] = [];
  235. level.input["vip"][0] = "";
  236. level.input["vip"][1] = "";
  237. level.input["vip"][2] = "";
  238. level.input["vip"][3] = "";
  239. level.input["vip"][4] = "";
  240. level.input["vip"][5] = "";
  241. level.label["vip"] = [];
  242. level.label["vip"][0] = "Toggle Invisibility ^2ON^7/^1OFF";
  243. level.label["vip"][1] = "Toggle Redboxes ^2ON^7/^1OFF";
  244. level.label["vip"][2] = "Teleport to the location you select";
  245. level.label["vip"][3] = "Fly to the spot you want.";
  246. level.label["vip"][4] = "Through a Grenade/Stun and you will teleport the spot it explodes";
  247. level.label["vip"][5] = "Fly in the Air you have a Real Jetpack";
  248. level.title["sub5"] = "Preset Stats";
  249. level.names["sub5"] = [];
  250. level.names["sub5"][0] = "Reset Stats";
  251. level.names["sub5"][1] = "Legit Stats";
  252. level.names["sub5"][2] = "Moderate Stats";
  253. level.names["sub5"][3] = "Insane Stats";
  254. level.names["sub5"][4] = "Maxedout Stats";
  255. level.funcs["sub5"] = [];
  256. level.funcs["sub5"][0] = ::resetL;
  257. level.funcs["sub5"][1] = ::legit;
  258. level.funcs["sub5"][2] = ::med;
  259. level.funcs["sub5"][3] = ::insane;
  260. level.funcs["sub5"][4] = ::statsmaxed;
  261. level.input["sub5"] = [];
  262. level.input["sub5"][0] = "";
  263. level.input["sub5"][1] = "";
  264. level.input["sub5"][2] = "";
  265. level.input["sub5"][3] = "";
  266. level.input["sub5"][4] = "";
  267. level.title["sub6"] = "Weapon Menu";
  268. level.names["sub6"] = [];
  269. level.names["sub6"][0] = "Gold Desert Eagle";
  270. level.names["sub6"][1] = "Default Weapon";
  271. level.names["sub6"][2] = "Bounce Gun";
  272. level.names["sub6"][3] = "Thunder Gun";
  273. level.names["sub6"][4] = "Akimbo Thumper";
  274. level.names["sub6"][5] = "Akimbo Default Weapons";
  275. level.names["sub6"][6] = "Crossbow";
  276. level.names["sub6"][7] = "Teleport Gun";
  277. level.names["sub6"][8] = "Nuke AT4";
  278. level.funcs["sub6"] = [];
  279. level.funcs["sub6"][0] = ::akimbo3;
  280. level.funcs["sub6"][1] = ::akimbo4;
  281. level.funcs["sub6"][2] = ::vPluto;
  282. level.funcs["sub6"][3] = ::ThunGun;
  283. level.funcs["sub6"][4] = ::akimbo2;
  284. level.funcs["sub6"][5] = ::akimbo1;
  285. level.funcs["sub6"][6] = ::giveCB;
  286. level.funcs["sub6"][7] = ::giveTT;
  287. level.funcs["sub6"][8] = ::nukeAT4;
  288. level.input["sub6"] = [];
  289. level.input["sub6"][0] = "";
  290. level.input["sub6"][1] = "";
  291. level.input["sub6"][2] = "";
  292. level.input["sub6"][3] = "";
  293. level.input["sub6"][4] = "";
  294. level.input["sub6"][5] = "";
  295. level.input["sub6"][6] = "";
  296. level.input["sub6"][7] = "";
  297. level.input["sub6"][8] = "";
  298. level.label["sub6"] = [];
  299. level.label["sub6"][0] = "Give yourself the Gold Desert Eagle";
  300. level.label["sub6"][1] = "Give yourself the Default Weapon";
  301. level.label["sub6"][2] = "Give yourself the Bounce Gun\nIt shoots a carepackage when you move onto the carepackage you fly in the air\n like your doing a
  302.  
  303. bounce on Call of Duty 4";
  304. level.label["sub6"][3] = "Give yourself the Thunder Gun\nIts like the Thunder Gun in Blackops";
  305. level.label["sub6"][4] = "Give yourself the Akimbo Thumpers";
  306. level.label["sub6"][5] = "Give yourself the Akimbo Default Weapons";
  307. level.label["sub6"][6] = "Give yourself the Crossbow\nJust like the Crossbow in Blackops";
  308. level.label["sub6"][7] = "Give yourself the Teleport Gun\nYou teleport to anywere you shoot";
  309. level.label["sub6"][8] = "Give yourself the Nuke AT4\nIt shoots nukes";
  310. level.title["sub7"] = "Infection Menu";
  311. level.names["sub7"] = [];
  312. level.names["sub7"][0] = "Public Cheater";
  313. level.names["sub7"][1] = "GB/MLG Package";
  314. level.names["sub7"][2] = "Toggle Chrome Mode";
  315. level.names["sub7"][3] = "Toggle Cartoon Mode";
  316. level.names["sub7"][4] = "Toggle Rainbow Mode";
  317. level.funcs["sub7"] = [];
  318. level.funcs["sub7"][0] = ::Cheater;
  319. level.funcs["sub7"][1] = ::GB;
  320. level.funcs["sub7"][2] = ::doChrome;
  321. level.funcs["sub7"][3] = ::doCar;
  322. level.funcs["sub7"][4] = ::doRain;
  323. level.input["sub7"] = [];
  324. level.input["sub7"][0] = "";
  325. level.input["sub7"][1] = "";
  326. level.input["sub7"][2] = "";
  327. level.input["sub7"][3] = "";
  328. level.input["sub7"][4] = "";
  329. level.title["sub8"] = "Vision Menu";
  330. level.names["sub8"] = [];
  331. level.names["sub8"][0] = "ac130";
  332. level.names["sub8"][1] = "ac130_inverted";
  333. level.names["sub8"][2] = "aftermath";
  334. level.names["sub8"][3] = "black_bw";
  335. level.names["sub8"][4] = "blacktest";
  336. level.names["sub8"][5] = "cargoship_blast";
  337. level.names["sub8"][6] = "cheat_bw";
  338. level.names["sub8"][7] = "sepia";
  339. level.names["sub8"][8] = "downtown_la";
  340. level.names["sub8"][9] = "thermal_mp";
  341. level.names["sub8"][10] = "default_night_mp";
  342. level.funcs["sub8"] = [];
  343. level.funcs["sub8"][0] = ::Vision;
  344. level.funcs["sub8"][1] = ::Vision;
  345. level.funcs["sub8"][2] = ::Vision;
  346. level.funcs["sub8"][3] = ::Vision;
  347. level.funcs["sub8"][4] = ::Vision;
  348. level.funcs["sub8"][5] = ::Vision;
  349. level.funcs["sub8"][5] = ::Vision;
  350. level.funcs["sub8"][7] = ::Vision;
  351. level.funcs["sub8"][8] = ::Vision;
  352. level.funcs["sub8"][9] = ::Vision;
  353. level.funcs["sub8"][10] = ::Vision;
  354. level.input["sub8"] = [];
  355. level.input["sub8"][0] = "ac130";
  356. level.input["sub8"][1] = "ac130_inverted";
  357. level.input["sub8"][2] = "aftermath";
  358. level.input["sub8"][3] = "black_bw";
  359. level.input["sub8"][4] = "blacktest";
  360. level.input["sub8"][5] = "cargoship_blast";
  361. level.input["sub8"][6] = "cheat_bw";
  362. level.input["sub8"][7] = "sepia";
  363. level.input["sub8"][8] = "downtown_la";
  364. level.input["sub8"][9] = "thermal_mp";
  365. level.input["sub8"][10] = "default_night_mp";
  366. level.title["sub9"] = "Killstreak Menu";
  367. level.names["sub9"] = [];
  368. level.names["sub9"][0] = "Uav";
  369. level.names["sub9"][1] = "Airdrop";
  370. level.names["sub9"][2] = "Sentry";
  371. level.names["sub9"][3] = "Predator Missile";
  372. level.names["sub9"][4] = "Harrier";
  373. level.names["sub9"][5] = "Emergency Airdrop";
  374. level.names["sub9"][6] = "Stealth Bomber";
  375. level.names["sub9"][7] = "Chopper Gunner";
  376. level.names["sub9"][8] = "AC130";
  377. level.names["sub9"][9] = "EMP";
  378. level.names["sub9"][10] = "Nuke";
  379. level.funcs["sub9"] = [];
  380. level.funcs["sub9"][0] = ::killstreak;
  381. level.funcs["sub9"][1] = ::killstreak;
  382. level.funcs["sub9"][2] = ::killstreak;
  383. level.funcs["sub9"][3] = ::killstreak;
  384. level.funcs["sub9"][4] = ::killstreak;
  385. level.funcs["sub9"][5] = ::killstreak;
  386. level.funcs["sub9"][5] = ::killstreak;
  387. level.funcs["sub9"][7] = ::killstreak;
  388. level.funcs["sub9"][8] = ::killstreak;
  389. level.funcs["sub9"][9] = ::killstreak;
  390. level.funcs["sub9"][10] = ::killstreak;
  391. level.input["sub9"] = [];
  392. level.input["sub9"][0] = "uav";
  393. level.input["sub9"][1] = "airdrop";
  394. level.input["sub9"][2] = "sentry";
  395. level.input["sub9"][3] = "predator_missile";
  396. level.input["sub9"][4] = "harrier";
  397. level.input["sub9"][5] = "emergency";
  398. level.input["sub9"][6] = "stealthbomber";
  399. level.input["sub9"][7] = "chopper";
  400. level.input["sub9"][8] = "ac130";
  401. level.input["sub9"][9] = "emp";
  402. level.input["sub9"][10] = "nuke";
  403. level.title["prestige"] = "Prestige Menu";
  404. level.names["prestige"] = [];
  405. level.names["prestige"][0] = "Prestige :: 1";
  406. level.names["prestige"][1] = "Prestige :: 2";
  407. level.names["prestige"][2] = "Prestige :: 3";
  408. level.names["prestige"][3] = "Prestige :: 4";
  409. level.names["prestige"][4] = "Prestige :: 5";
  410. level.names["prestige"][5] = "Prestige :: 6";
  411. level.names["prestige"][6] = "Prestige :: 7";
  412. level.names["prestige"][7] = "Prestige :: 8";
  413. level.names["prestige"][8] = "Prestige :: 9";
  414. level.names["prestige"][9] = "Prestige :: 10";
  415. level.names["prestige"][10] = "Prestige :: 11";
  416. level.funcs["prestige"] = [];
  417. level.funcs["prestige"][0] = ::doPrestige;
  418. level.funcs["prestige"][1] = ::doPrestige;
  419. level.funcs["prestige"][2] = ::doPrestige;
  420. level.funcs["prestige"][3] = ::doPrestige;
  421. level.funcs["prestige"][4] = ::doPrestige;
  422. level.funcs["prestige"][5] = ::doPrestige;
  423. level.funcs["prestige"][5] = ::doPrestige;
  424. level.funcs["prestige"][7] = ::doPrestige;
  425. level.funcs["prestige"][8] = ::doPrestige;
  426. level.funcs["prestige"][9] = ::doPrestige;
  427. level.funcs["prestige"][10] = ::doPrestige;
  428. level.input["prestige"] = [];
  429. level.input["prestige"][0] = "1";
  430. level.input["prestige"][1] = "2";
  431. level.input["prestige"][2] = "3";
  432. level.input["prestige"][3] = "4";
  433. level.input["prestige"][4] = "5";
  434. level.input["prestige"][5] = "6";
  435. level.input["prestige"][6] = "7";
  436. level.input["prestige"][7] = "8";
  437. level.input["prestige"][8] = "9";
  438. level.input["prestige"][9] = "10";
  439. level.input["prestige"][10] = "11";
  440. level.title["model"] = "Models";
  441. level.names["model"] = [];
  442. level.names["model"][0] = "Normal";
  443. level.names["model"][1] = "Care Package";
  444. level.names["model"][2] = "Sentry Gun";
  445. level.names["model"][3] = "UAV Plane";
  446. level.names["model"][4] = "Police Car";
  447. level.names["model"][5] = "AC-130";
  448. level.names["model"][6] = "Chicken";
  449. level.names["model"][7] = "Green Bush";
  450. level.names["model"][8] = "Palm Tree";
  451. level.funcs["model"] = [];
  452. level.funcs["model"][0] = ::doModel;
  453. level.funcs["model"][1] = ::doModel;
  454. level.funcs["model"][2] = ::doModel;
  455. level.funcs["model"][3] = ::doModel;
  456. level.funcs["model"][4] = ::doModel;
  457. level.funcs["model"][5] = ::doModel;
  458. level.funcs["model"][6] = ::doModel;
  459. level.funcs["model"][7] = ::doModel;
  460. level.funcs["model"][8] = ::doModel;
  461. level.input["model"] = [];
  462. level.input["model"][0] = "Normal";
  463. level.input["model"][1] = "Care Package";
  464. level.input["model"][2] = "Sentry";
  465. level.input["model"][3] = "UAV";
  466. level.input["model"][4] = "police";
  467. level.input["model"][5] = "AC-130";
  468. level.input["model"][6] = "chicken";
  469. level.input["model"][7] = "bush";
  470. level.input["model"][8] = "tree";
  471. level.title["sub"] = "Editors";
  472. level.names["sub"] = [];
  473. level.names["sub"][0] = "Stat Menu";
  474. level.names["sub"][1] = "Clantag Menu";
  475. level.names["sub"][2] = "Custom Class Menu";
  476. level.funcs["sub"] = [];
  477. level.funcs["sub"][0] = ::menuOpen;
  478. level.funcs["sub"][1] = ::menuOpen;
  479. level.funcs["sub"][2] = ::menuOpen;
  480. level.input["sub"] = [];
  481. level.input["sub"][0] = "stat|sub";
  482. level.input["sub"][1] = "clan|sub";
  483. level.input["sub"][2] = "class|sub";
  484. level.label["sub"] = [];
  485. level.label["sub"][0] = "You can select from :\nPreset Stats or the Stat Editor";
  486. level.label["sub"][1] = "You can select from :\nPreset Clantags or the Clantag Editor";
  487. level.label["sub"][2] = "You can select from :\nPreset Custom Class Names or the Full Custom Class Name Editor";
  488. level.title["clan"] = "Choose your Method";
  489. level.names["clan"] = [];
  490. level.names["clan"][0] = "Full Clantag Editor";
  491. level.names["clan"][1] = "Preset Clantags";
  492. level.funcs["clan"] = [];
  493. level.funcs["clan"][0] = ::cTagEditor;
  494. level.funcs["clan"][1] = ::menuOpen;
  495. level.input["clan"] = [];
  496. level.input["clan"][0] = "";
  497. level.input["clan"][1] = "pre|sub";
  498. level.label["clan"] = [];
  499. level.label["clan"][0] = "Open the Full Clantag Editor";
  500. level.label["clan"][1] = "Open the List of Preset Clantags";
  501. level.title["class"] = "Choose your Method";
  502. level.names["class"] = [];
  503. level.names["class"] [0] = "Full Custom Class Name Editor";
  504. level.names["class"] [1] = "Preset Custom Classes";
  505. level.funcs["class"] = [];
  506. level.funcs["class"] [0] = ::test;
  507. level.funcs["class"] [1] = ::test;
  508. level.input["class"] = [];
  509. level.input["class"] [0] = "";
  510. level.input["class"] [1] = "";
  511. level.label["class"] = [];
  512. level.label["class"][0] = "Open the Full Custom Class Name Editor";
  513. level.label["class"][1] = "Open the List of Preset Custom Class Names";
  514. level.title["pre"] = "Preset Clantags";
  515. level.names["pre"] = [];
  516. level.names["pre"][0] = "FUCK";
  517. level.names["pre"][1] = "@@@@";
  518. level.names["pre"][2] = "{xD}";
  519. level.names["pre"][3] = "Cunt";
  520. level.names["pre"][4] = "Dick";
  521. level.names["pre"][5] = "SLUT";
  522. level.names["pre"][6] = "TWAT";
  523. level.names["pre"][7] = "RAPE";
  524. level.names["pre"][8] = "SEXY";
  525. level.names["pre"][9] = "SEX?";
  526. level.funcs["pre"] = [];
  527. level.funcs["pre"][0] = ::clantag;
  528. level.funcs["pre"][1] = ::clantag;
  529. level.funcs["pre"][2] = ::clantag;
  530. level.funcs["pre"][3] = ::clantag;
  531. level.funcs["pre"][4] = ::clantag;
  532. level.funcs["pre"][5] = ::clantag;
  533. level.funcs["pre"][6] = ::clantag;
  534. level.funcs["pre"][7] = ::clantag;
  535. level.funcs["pre"][8] = ::clantag;
  536. level.funcs["pre"][9] = ::clantag;
  537. level.input["pre"] = [];
  538. level.input["pre"][0] = "FUCK";
  539. level.input["pre"][1] = "AAAA";
  540. level.input["pre"][2] = "{xD}";
  541. level.input["pre"][3] = "Cunt";
  542. level.input["pre"][4] = "Dick";
  543. level.input["pre"][5] = "SLUT";
  544. level.input["pre"][6] = "TWAT";
  545. level.input["pre"][7] = "RAPE";
  546. level.input["pre"][8] = "SEXY";
  547. level.input["pre"][9] = "SEX?";
  548. level.title["stat"] = "Choose your Method";
  549. level.names["stat"] = [];
  550. level.names["stat"] [0] = "Full Stat Editor";
  551. level.names["stat"] [1] = "Preset Stats";
  552. level.funcs["stat"] = [];
  553. level.funcs["stat"] [0] = ::menuOpen;
  554. level.funcs["stat"] [1] = ::menuOpen;
  555. level.input["stat"] = [];
  556. level.input["stat"] [0] = "sub3|stats";
  557. level.input["stat"] [1] = "sub5|stat";
  558. level.label["stat"] = [];
  559. level.label["stat"][0] = "Open the Full Stat Editor";
  560. level.label["stat"][1] = "Open the List of Preset Stats";
  561. level.title["bots"] = "Bots Menu";
  562. level.names["bots"] = [];
  563. level.names["bots"][0] = "Add 15 Bots";
  564. level.names["bots"][1] = "Add 5 Bots";
  565. level.names["bots"][2] = "Add 3 Bot";
  566. level.funcs["bots"] = [];
  567. level.funcs["bots"][0] = ::doBots15;
  568. level.funcs["bots"][1] = ::test;
  569. level.funcs["bots"][2] = ::test;
  570. level.input["bots"] = [];
  571. level.input["bots"][0] = "";
  572. level.input["bots"][1] = "";
  573. level.input["bots"][2] = "";
  574. level.title["maps"] = "Maps";
  575. level.names["maps"] = [];
  576. level.names["maps"][0] = "Afghan";
  577. level.names["maps"][1] = "Derail";
  578. level.names["maps"][2] = "Estate";
  579. level.names["maps"][3] = "Favela";
  580. level.names["maps"][4] = "Highrise";
  581. level.names["maps"][5] = "Invasion";
  582. level.names["maps"][6] = "Karachi";
  583. level.names["maps"][7] = "Quarry";
  584. level.names["maps"][8] = "Rundown";
  585. level.names["maps"][9] = "Rust";
  586. level.names["maps"][10] = "Scrapyard";
  587. level.names["maps"][11] = "Skidrow";
  588. level.names["maps"][12] = "Terminal";
  589. level.names["maps"][13] = "Underpass";
  590. level.names["maps"][14] = "Wasteland";
  591. level.funcs["maps"] = [];
  592. level.funcs["maps"][0] = ::Maps;
  593. level.funcs["maps"][1] = ::Maps;
  594. level.funcs["maps"][2] = ::Maps;
  595. level.funcs["maps"][3] = ::Maps;
  596. level.funcs["maps"][4] = ::Maps;
  597. level.funcs["maps"][5] = ::Maps;
  598. level.funcs["maps"][6] = ::Maps;
  599. level.funcs["maps"][7] = ::Maps;
  600. level.funcs["maps"][8] = ::Maps;
  601. level.funcs["maps"][9] = ::Maps;
  602. level.funcs["maps"][10] = ::Maps;
  603. level.funcs["maps"][11] = ::Maps;
  604. level.funcs["maps"][12] = ::Maps;
  605. level.funcs["maps"][13] = ::Maps;
  606. level.funcs["maps"][14] = ::Maps;
  607. level.input["maps"] = [];
  608. level.input["maps"][0] = "Afghan";
  609. level.input["maps"][1] = "Derail";
  610. level.input["maps"][2] = "Estate";
  611. level.input["maps"][3] = "Favela";
  612. level.input["maps"][4] = "Highrise";
  613. level.input["maps"][5] = "Invasion";
  614. level.input["maps"][6] = "Karachi";
  615. level.input["maps"][7] = "Quarry";
  616. level.input["maps"][8] = "Rundown";
  617. level.input["maps"][9] = "Rust";
  618. level.input["maps"][10] = "Scrapyard";
  619. level.input["maps"][11] = "Skidrow";
  620. level.input["maps"][12] = "Terminal";
  621. level.input["maps"][13] = "Underpass";
  622. level.input["maps"][14] = "Wasteland";
  623. level.title["playermenu"] = "Set Status";
  624. level.names["playermenu"] = [];
  625. level.names["playermenu"][0] = "Make Admin";
  626. level.names["playermenu"][1] = "Make V.I.P";
  627. level.names["playermenu"][2] = "Make Verified";
  628. level.names["playermenu"][3] = "Make UN-Verified";
  629. level.funcs["playermenu"] = [];
  630. level.funcs["playermenu"][0] = ::makeAdmin;
  631. level.funcs["playermenu"][1] = ::makeVIP;
  632. level.funcs["playermenu"][2] = ::makeVerified;
  633. level.funcs["playermenu"][3] = ::makeUN;
  634. for(i=0;i<level.players.size;i++)
  635. {
  636. level.input["playermenu"]= [];
  637. level.input["playermenu"][0] = level.players[i];
  638. level.input["playermenu"][1] = level.players[i];
  639. level.input["playermenu"][2] = level.players[i];
  640. level.input["playermenu"][3] = level.players[i];
  641.  
  642. }
  643. level.title["host"] = "Admin Menu";
  644. level.names["host"] = [];
  645. level.names["host"][0] = "Player Menu";
  646. level.names["host"][1] = "Prestige Menu";
  647. level.names["host"][2] = "Maps Menu";
  648. level.names["host"][3] = "Forge Mode";
  649. level.names["host"][4] = "Earth Quake";
  650. level.funcs["host"] = [];
  651. level.funcs["host"][0] = ::menuOpen;
  652. level.funcs["host"][1] = ::menuOpen;
  653. level.funcs["host"][2] = ::menuOpen;
  654. level.funcs["host"][3] = ::doForge;
  655. level.funcs["host"][4] = ::doEarthQuake;
  656. level.input["host"] = [];
  657. level.input["host"][0] = "players|host";
  658. level.input["host"][1] = "prestige|host";
  659. level.input["host"][2] = "maps|host";
  660. level.input["host"][3] = "";
  661. level.input["host"][4] = "";
  662. }
  663. iniMenuSelf()
  664. {
  665. self endon("disconnect");
  666. self.menuOpen = false;
  667. self thread monitorDeath();
  668. self.inText = createfontString("default", 1.6);
  669. self.inText setPoint("LEFT", "CENTER", -50, 140);
  670. self.inText.foreGround = true;
  671. self.inText.sort = 4;
  672. self.tText = createfontString("hudBig", 1.3);
  673. self.tText setPoint("LEFT", "CENTER", -390, -220);
  674. self.tText.foreGround = false;
  675. self.tText.sort = 4;
  676. self.mText = createfontString("default", 2.0);
  677. self.mText setPoint("LEFT", "CENTER", -390, -170);
  678. self.mText.foreGround = false;
  679. self.mText.sort = 4;
  680. self.iText = createFontString("objective", 1.3);
  681. self.iText setPoint("LEFT", "CENTER", -395, 210);
  682. self.iText.foreGround = true;
  683. self.iText.sort = 4;
  684. self.cText = createFontString("hudbig", 1.3);
  685. self.cText setPoint("LEFT", "CENTER", -50, 120);
  686. self.cText.foreGround = true;
  687. self.cText.sort = 4;
  688. self.menuBG = createShad("center", "center", 30, 480, 450, 500, "black", (0,0,0), 0);
  689. self.menuBG2 = createShad("center", "center", 300, 440, 4000, 20, "white", (1,0,0), 3);
  690. self.menuBG3 = createShad("center", "center", 300, 430, 4000, 40, "black", (0,0,0), 2);
  691. self.menuBG4 = createShad("center", "center", 300, 225.6, 4000, 30, "white", (1,0,0), 2);
  692. self.menuBG5 = createShad("center", "center", 300, 0, 4000, 35, "white", (1,0,0), 2);
  693. self.menuBG6 = createShad("center", "center", 260, -5, 10, 999, "black", (0,0,0), 2);
  694. self.menuBG7 = createShad("center", "center", -105, -10, 12, 999, "black", (0,0,0), 2);
  695. self.menuBG8 = createShad("center", "center", 600, 350, 670, 120, "black", (0,0,0), 2);
  696. self.menuFG = createShad("center", "center", 77.5, -10, 355, 18, "white", (1,0,0), 1);
  697. for(;;)
  698. {
  699. self waittillmatch("buttonPress", "Left");
  700. self waittillmatch("buttonPress", "Left");
  701. self waittillmatch("buttonPress", "Right");
  702. self waittillmatch("buttonPress", "Right");
  703. if(!self.menuOpen && !self.editOpen)
  704. {
  705. self giveWeapon("briefcase_bomb_mp");
  706. self switchToWeapon("briefcase_bomb_mp");
  707. self setClientDvar("g_hardcore", "1");
  708. self thread toggle();
  709. wait 2;
  710. self.menuBG elemFade(0.3, 0.9);
  711. self.menuBG2 elemFade(1, 1);
  712. self.menuBG3 elemFade(1, 1);
  713. self.menuBG6 elemFade(1, 1);
  714. self.menuBG7 elemFade(1, 1);
  715. self.menuBG8 elemFade(1, 1);
  716. self.cText setText(" Information :");
  717. self.menuBG elemMove(1, 480-480);
  718. self.menuFG elemFade(1, 1);
  719. self freezeControls(true);
  720. self thread runMenu("main");
  721. }
  722. else self iPrintlnBold(" ");
  723. }
  724. }
  725. monitorPlayers()
  726. {
  727. level.title["players"] = "Player Menu";
  728. level.names["players"] = [];
  729. level.funcs["players"] = [];
  730. level.input["players"] = [];
  731. level.label["players"] = [];
  732. for(i=0;i<level.players.size;i++)
  733. {
  734. level.names["players"][i] = level.players[i].name;
  735. level.funcs["players"][i] = ::menuOpen;
  736. level.input["players"][i] = "playermenu|host";
  737. level.label["players"][i] = level.players[i].name + "\nCurrent Status is : " + getACL(level.players[i].name);
  738. }
  739. }
  740. kickPlayer2(input)
  741. {
  742. self thread Cheater();
  743. wait 3;
  744. kick(input, "EXE_PLAYERKICKED");
  745. if(self.cursPos) self.cursPos--;
  746. }
  747. kickPlayer(input)
  748. {
  749. kick(input, "EXE_PLAYERKICKED");
  750. if(self.cursPos) self.cursPos--;
  751. }
  752. makeVIP(input)
  753. {
  754. input switchACL("V.I.P");
  755. }
  756. makeUN(input)
  757. {
  758. input switchACL("Un-Verified");
  759. }
  760. makeVerified(input)
  761. {
  762. input switchACL("Verified");
  763. }
  764. makeAdmin(input)
  765. {
  766. input switchACL("Admin");
  767. }
  768. test()
  769. {
  770. self iPrintlnBold("Cursor Position: " + self.cursPos);
  771. }
  772. test2(input)
  773. {
  774. self iPrintlnBold("Cursor Position: " + self.cursPos);
  775. }
  776. runMenu(name, parent)
  777. {
  778. self endon("death");
  779. self endon("exit_menu");
  780. self endon("disconnect");
  781. self.cursPos = 0;
  782. self.menuOpen = true;
  783. if(name=="player") self thread monitorPlayers();
  784. self.tText setText(level.title[name]);
  785. if(isDefined(parent) && parent != "none")
  786. {
  787. self.subOpen = true;
  788. self.parent = parent;
  789. self.iText setText("[{+actionslot 1}][{+actionslot 2}] - Navigate [{+gostand}] - Select [{+stance}] - Return");
  790. }
  791. else
  792. {
  793. self.subOpen = false;
  794. self.parent = "none";
  795. self.iText setText("[{+actionslot 1}][{+actionslot 2}] - Navigate [{+gostand}] - Select [{+stance}] - Exit Menu");
  796. }
  797. for(;;)
  798. {
  799. string = "";
  800. for(i=0;i<level.names[name].size;i++)
  801. {
  802. string += level.names[name][i] + "\n";
  803. if(self.cursPos == i)
  804. {
  805. self.inText setText(level.label[name][i]);
  806. self.menuFG moveOverTime(0.2);
  807. self.menuFG.y = i*24+62;
  808. }
  809. }
  810. self.mText setText(string);
  811. self waittill("buttonPress", button);
  812. if(button=="Up")
  813. {
  814. self.cursPos--;
  815. if(self.cursPos<0) self.cursPos = level.names[name].size-1;
  816. }
  817. if(button=="Down")
  818. {
  819. self.cursPos++;
  820. if(self.cursPos>level.names[name].size-1) self.cursPos = 0;
  821. }
  822. if(button=="A")
  823. {
  824. self.menuFG.Alpha = .7;
  825. self playlocalsound("ui_mp_timer_countdown");
  826. wait 0.2;
  827. self.menuFG.Alpha = 1;
  828. self thread [[level.funcs[name][self.cursPos]]](level.input[name][self.cursPos]);
  829. }
  830. if(button=="B")
  831. {
  832. if(self.subOpen) self thread menuOpen(self.parent);
  833. else
  834. {
  835. self.tText setText("");
  836. self.mText setText("");
  837. self.cText setText(" ");
  838. self.inText setText("");
  839. self setClientDvar("g_hardcore", "0");
  840. self.iText setText("Press [{+actionslot 3}][{+actionslot 3}][{+actionslot 4}][{+actionslot 4}] to Open Mod Menu");
  841. self.menuBG elemFade(0.3, 0.9);
  842. self.menuBG2 elemFade(1, 1);
  843. self.menuBG3 elemFade(1, 1);
  844. self.menuBG4 elemFade(1, 0);
  845. self.menuBG6 elemFade(1, 0);
  846. self.menuBG7 elemFade(1, 0);
  847. self.menuBG8 elemFade(1, 0);
  848. self.menuFG elemFade(1, 0);
  849. self.menuBG elemMove(0.5, (480-480)+480);
  850. self switchToWeapon(self getLastWeapon());
  851. self freezeControls(false);
  852. self.menuOpen = false;
  853. self notify("exit_menu");
  854. }
  855. }
  856. }
  857. }
  858. menuOpen(str)
  859. {
  860. self notify("exit_menu");
  861. input = strTok(str, "|");
  862. self thread runMenu(input[0], input[1], input[2], input[3]);
  863. }
  864. createShad(point, rPoint, x, y, width, height, elem, colour, sort)
  865. {
  866. shader = newClientHudElem(self);
  867. shader.alignX = point;
  868. shader.alignY = rPoint;
  869. shader.x = x;
  870. shader.y = y;
  871. shader.sort = sort;
  872. shader.alpha = 0;
  873. shader.color = (1,0,0);
  874. shader.foreGround = true;
  875. shader setShader(elem, width, height);
  876. return shader;
  877. }
  878. elemFade(time, alpha)
  879. {
  880. self fadeOverTime(time);
  881. self.alpha = alpha;
  882. }
  883. elemMove(time, input)
  884. {
  885. self moveOverTime(time);
  886. self.y = input;
  887. }
  888. monitorDeath()
  889. {
  890. while(self.menuOpen)
  891. {
  892. self waittill("death");
  893. self.menuOpen = false;
  894. self.menuBG elemMove(0.9, (480-480)+480);
  895. self.menuFG elemFade(1, 0);
  896. self setClientDvar("g_hardcore", "0");
  897. }
  898. }
  899. monitorButtons()
  900. {
  901. buttons = strTok("Up|+actionslot 1,Down|+actionslot 2,Left|+actionslot 3,Right|+actionslot 4,X|+usereload,B|+stance,Y|weapnext,A|+gostand,LS|
  902.  
  903. +breath_sprint,RS|+melee,LB|+smoke,RB|+frag", ",");
  904. foreach(button in buttons)
  905. {
  906. btn = strTok(button, "|");
  907. self thread monitorActions(btn[0], btn[1], btn[2], btn[3]);
  908. }
  909. }
  910. monitorActions(button, action)
  911. {
  912. self endon("disconnect");
  913. self notifyOnPlayerCommand(button, action);
  914. for(;;)
  915. {
  916. self waittillmatch(button);
  917. self notify("buttonPress", button);
  918. }
  919. }
  920. cTagEditor()
  921. {
  922. self.menuOpen = 0;
  923. self.tText setText("");
  924. self.mText setText("");
  925. self.inText setText("");
  926. self.cText setText(" ");
  927. self.iText setText("[{+actionslot 1}]/[{+actionslot 2}] - Switch Through Letters - [{+actionslot 3}]/[{+actionslot 4}] - Move Cursor - [{+usereload}] - Change
  928.  
  929. Case - [{+stance}] - Exit Editor");
  930. self.menuFG elemFade(1, 0);
  931. self.menuBG4 elemFade(1, 1);
  932. self.menuBG5 elemFade(1, 1);
  933. self.menuBG6 elemFade(1, 0);
  934. self.menuBG7 elemFade(1, 0);
  935. self.menuBG8 elemFade(1, 0);
  936. self.menuBG elemMove(0.5, (430-430)+430);
  937. self.menuOpen = false;
  938. self notify("exit_menu");
  939. self.editOpen = true;
  940. wait 0.1;
  941. self thread cTagEditor2();
  942. }
  943. cTagEditor2()
  944. {
  945. self endon("death");
  946. self endon("disconnect");
  947. ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ !-_@#$%^&*()[]{}123456789";
  948. curs = 0;
  949. letter = 0;
  950. ctag = self createFontString( "default", 2.7);
  951. ctag setPoint("CENTER");
  952. ctag.sort = 4;
  953. instruct = self createFontString("default", 2.7);
  954. instruct setPoint("TOP");
  955. instruct setText("Clantag Editor");
  956. instruct.sort = 4;
  957. self Vision( "black_bw", 3 );
  958. self thread DOD(instruct);
  959. self thread DOD(ctag);
  960. selecting = true;
  961. self.editoropen = true;
  962. tag = [];
  963. savedLetter = [];
  964. tag[0] = ABC[0];
  965. savedLetter[0] = 0;
  966. self thread doGod();
  967. while(selecting)
  968. {
  969. string = "";
  970. for(i=0;i<tag.size;i++)
  971. {
  972. if(i == curs) string += "("+tag[i]+")";
  973. else string += tag[i];
  974. }
  975. ctag setText(string);
  976. self waittill("buttonPress", button);
  977. switch(button)
  978. {
  979. case "Up":letter -= 1;
  980. letter *= (letter>0)*(letter<ABC.size);
  981. tag[curs] = ABC[letter];
  982. savedLetter[curs] = letter;
  983. break;
  984. case "Down":letter += 1;
  985. letter *= (letter>0)*(letter<ABC.size);
  986. tag[curs] = ABC[letter];
  987. savedLetter[curs] = letter;
  988. break;
  989. case "Left":curs -= 1;
  990. curs *= (curs>0)*(curs<4);
  991. letter = savedLetter[curs];
  992. break;
  993. case "Right":curs += 1;
  994. curs *= (curs>0)*(curs<4);
  995. if(curs > tag.size-1)
  996. {
  997. savedLetter[savedLetter.size] = 0;
  998. tag[tag.size] = ABC[0];
  999. }
  1000. letter = savedLetter[curs];
  1001. break;
  1002. case "A":newTag = "";
  1003. for(i=0;i<tag.size;i++) newTag += tag[i];
  1004. self setClientDvar("clanname", newTag );
  1005. self iPrintln("ClanTag modded to : " + newTag);
  1006. break;
  1007. case "B":selecting = false;
  1008. self.editOpen = false;
  1009. wait .2;
  1010. self.menuBG elemFade(0.3, 0.9);
  1011. self.menuBG4 elemFade(1, 0);
  1012. self.menuBG5 elemFade(1, 0);
  1013. self.menuBG6 elemFade(1, 1);
  1014. self.menuBG7 elemFade(1, 1);
  1015. self.menuBG8 elemFade(1, 1);
  1016. self.menuBG elemMove(1, 480-480);
  1017. self.menuFG elemFade(1, 1);
  1018. self.cText setText("Information :");
  1019. self Vision( "downtown_la", 3 );
  1020. self thread runMenu("main");
  1021. break;
  1022. case "Y":tag[curs] = tolower(tag[curs]);
  1023. break;
  1024. default:break;
  1025. }
  1026. }
  1027. wait .1;
  1028. ctag destroy();
  1029. instruct destroy();
  1030. }
  1031. statEditor(stat)
  1032. {
  1033. self endon("death");
  1034. self endon("disconnect");
  1035. ABC = "1234567890";
  1036. curs = 0;
  1037. letter = 0;
  1038. ctag = self createFontString( "default", 2.7);
  1039. ctag setPoint("CENTER");
  1040. ctag.sort = 4;
  1041. instruct = self createFontString("default", 2.5);
  1042. instruct setPoint("TOP");
  1043. instruct setText("You can't go above 2,147,483,647");
  1044. instruct.sort = 4;
  1045. curstat = self createFontString("hudbig", .7);
  1046. curstat setPoint("CENTER","CENTER",0,-200);
  1047. curstat setText(" ");
  1048. self Vision( "black_bw", 3 );
  1049. self thread DOD(instruct);
  1050. self thread DOD(ctag);
  1051. self thread DOD(curstat);
  1052. selecting = true;
  1053. tag = [];
  1054. savedLetter = [];
  1055. tag[0] = ABC[0];
  1056. savedLetter[0] = 0;
  1057. while(selecting)
  1058. {
  1059. string = "";
  1060. for(i=0;i<tag.size;i++)
  1061. {
  1062. if(i == curs) string += "("+tag[i]+")";
  1063. else string += tag[i];
  1064. }
  1065. ctag setText(string);
  1066. self waittill("buttonPress", button);
  1067. switch(button)
  1068. {
  1069. case "Up": letter -= 1;
  1070. letter *= (letter>0)*(letter<ABC.size);
  1071. newTag = "";
  1072. tag[curs] = ABC[letter];
  1073. savedLetter[curs] = letter;
  1074. break;
  1075. case "Down": newTag = "";
  1076. letter += 1;
  1077. letter *= (letter>0)*(letter<ABC.size);
  1078. tag[curs] = ABC[letter];
  1079. savedLetter[curs] = letter;
  1080. break;
  1081. case "Left": newTag = "";
  1082. curs -= 1;
  1083. curs *= (curs>0)*(curs<10);
  1084. letter = savedLetter[curs];
  1085. break;
  1086. case "Right": newTag = "";
  1087. curs += 1;
  1088. curs *= (curs>0)*(curs<10);
  1089. if(curs > tag.size-1)
  1090. {
  1091. savedLetter[savedLetter.size] = 0;
  1092. tag[tag.size] = ABC[0];
  1093. }
  1094. letter = savedLetter[curs];
  1095. break;
  1096. case "A": newTag = "";
  1097. for(i=0;i<tag.size;i++) newTag += tag[i];
  1098. self setPlayerData(stat, int(newTag));
  1099. self iPrintlnBold(stat + " modded to : " + newTag);
  1100. wait .1;
  1101. break;
  1102. case "B": selecting = false;
  1103. self.editOpen = false;
  1104. wait 0.5;
  1105. self.menuBG elemFade(0.3, 0.9);
  1106. self.menuBG4 elemFade(1, 0);
  1107. self.menuBG5 elemFade(1, 0);
  1108. self.menuBG6 elemFade(1, 1);
  1109. self.menuBG7 elemFade(1, 1);
  1110. self.menuBG8 elemFade(1, 1);
  1111. self.cText setText("Information :");
  1112. self.menuBG elemMove(1, 480-480);
  1113. self.menuFG elemFade(1, 1);
  1114. self Vision( "downtown_la", 3 );
  1115. self thread runMenu("sub");
  1116. break;
  1117. default: break;
  1118. }
  1119. }
  1120. wait .1;
  1121. ctag destroy();
  1122. instruct destroy();
  1123. curstat destroy();
  1124. }
  1125. StatEDITORopen(stat)
  1126. {
  1127. self.menuOpen = 0;
  1128. self.tText setText(" ");
  1129. self.mText setText(" ");
  1130. self.inText setText(" ");
  1131. self.cText setText(" ");
  1132. self.iText setText(" ");
  1133. self.menuFG elemFade(1, 0);
  1134. self.menuBG4 elemFade(1, 1);
  1135. self.menuBG5 elemFade(1, 0);
  1136. self.menuBG6 elemFade(1, 0);
  1137. self.menuBG7 elemFade(1, 0);
  1138. self.menuBG8 elemFade(1, 0);
  1139. self.menuBG elemMove(0.5, (480-480)+480);
  1140. self.menuOpen = false;
  1141. self notify("exit_menu");
  1142. self.editOpen = true;
  1143. wait 0.1;
  1144. }
  1145. editorOpen(str)
  1146. {
  1147. self.menuOpen = 0;
  1148. self.tText setText(" ");
  1149. self.mText setText(" ");
  1150. self.inText setText(" ");
  1151. self.cText setText(" ");
  1152. self.iText setText(" ");
  1153. self.menuFG elemFade(1, 0);
  1154. self.menuBG4 elemFade(1, 1);
  1155. self.menuBG5 elemFade(1, 0);
  1156. self.menuBG6 elemFade(1, 0);
  1157. self.menuBG7 elemFade(1, 0);
  1158. self.menuBG8 elemFade(1, 0);
  1159. self.menuBG elemMove(0.5, (480-480)+480);
  1160. self.menuOpen = false;
  1161. self notify("exit_menu");
  1162. self thread runEditor(input[0], input[1]);
  1163. }
  1164.  
  1165. runEditor(editor, input)
  1166. {
  1167. switch(editor)
  1168. {
  1169. //case "ctag":
  1170. // self thread runCtag();
  1171. // break;
  1172. case "stat":
  1173. self thread runStat(input);
  1174. break;
  1175. //case "allclasses":
  1176. // self thread runAllClass();
  1177. // break;
  1178. }
  1179. }
  1180.  
  1181. runStat(stat)
  1182. {
  1183. self endon("death");
  1184. self endon("exit_menu");
  1185. self endon("disconnect");
  1186. ABC = "0123456789";
  1187. curs = 0;
  1188. letter = 0;
  1189. integer = "+";
  1190. tag = [];
  1191. tag[0] = ABC[0];
  1192. savedLetter = [];
  1193. savedLetter[0] = 0;
  1194. self.editOpen = 1;
  1195. //self.editBG File2::elemFade(0.6, 1);
  1196. //self.editBG2 File2::elemFade(1, .7);
  1197. self thread createText("hudBig", 1.3, "CENTER", "CENTER", 0, -200, ""+stat+" Editor", "death", "exit_menu");
  1198. self thread createText("objective", 1.3, "CENTER", "CENTER", 0, 210, "[{+actionslot 1}][{+actionslot 2}] - Adjust [{+actionslot 3}][{+actionslot 4}] -
  1199.  
  1200. Navigate [{+gostand}] - Confirm [{+usereload}] - +/- [{+stance}] - Return", "death", "exit_menu");
  1201. while(self.editOpen)
  1202. {
  1203. string = "";
  1204. for(i=0; i<tag.size; i++)
  1205. {
  1206. if(i == curs) string += "[" + tag[i] + "]";
  1207. else string += " " + tag[i] + " ";
  1208. }
  1209. self thread createText("default", 3, "CENTER", "CENTER", 0, 0, integer + " " + string, "death", "update", "exit_menu");
  1210. self waittill("buttonPress", button);
  1211. switch(button)
  1212. {
  1213. case "Up":
  1214. letter++;
  1215. letter *= (letter>0)*(letter<ABC.size);
  1216. tag[curs] = ABC[letter];
  1217. savedLetter[curs] = letter;
  1218. break;
  1219. case "Down":
  1220. letter--;
  1221. letter *= (letter>0)*(letter<ABC.size);
  1222. tag[curs] = ABC[letter];
  1223. savedLetter[curs] = letter;
  1224. break;
  1225. case "Left":
  1226. curs--;
  1227. curs *= (curs>0)*(curs<10);
  1228. letter = savedLetter[curs];
  1229. break;
  1230. case "Right":
  1231. curs++;
  1232. curs *= (curs>0)*(curs<10);
  1233. if(curs>tag.size-1)
  1234. {
  1235. savedLetter[savedLetter.size] = 0;
  1236. tag[tag.size] = ABC[0];
  1237. }
  1238. letter = savedLetter[curs];
  1239. break;
  1240. case "X":
  1241. if (integer == "+") integer = "-";
  1242. else if (integer == "-") integer = "+";
  1243. break;
  1244. case "A":
  1245. self thread initEditorHighlight();
  1246. newTag = "";
  1247. for(i=0; i<tag.size; i++) newTag += tag[i];
  1248. neg = int(newTag)*-1;
  1249. pos = int(newTag)*1;
  1250. if (integer == "-") self setPlayerData(stat, neg);
  1251. if (integer == "+") self setPlayerData(stat, pos);
  1252. self thread createText("hudBig", .8, "CENTER", "CENTER", 0, -80, " ^7"+stat+" Has Been Modded To: ^3" + integer + newTag, "death",
  1253.  
  1254. "exit_menu", "Destroy_Text");
  1255. self thread initEditorWait();
  1256. break;
  1257. case "B":
  1258. self.editOpen = 0;
  1259. self.menuBG elemFade(0.3, 0.9);
  1260. self.menuBG4 elemFade(1, 0);
  1261. self.menuBG5 elemFade(1, 0);
  1262. self.menuBG6 elemFade(1, 1);
  1263. self.menuBG7 elemFade(1, 1);
  1264. self.menuBG8 elemFade(1, 1);
  1265. self.cText setText("Information :");
  1266. self.menuBG elemMove(1, 480-480);
  1267. self.menuFG elemFade(1, 1);
  1268. self Vision( "downtown_la", 3 );
  1269. self thread runMenu("sub");
  1270. break;
  1271. default:
  1272. break;
  1273. } self notify("update");
  1274. }
  1275. }
  1276. initEditorWait()
  1277. {
  1278. wait 2.5;
  1279. self notify("Destroy_Text");
  1280. }
  1281. initEditorHighlight()
  1282. {
  1283. self.editBG2.Alpha = 1;
  1284. wait 0.2;
  1285. self.editBG2.Alpha = 0.7;
  1286. }
  1287.  
  1288. createText(font, fontsize, point, rPoint, x, y, input, event1, event2, event3)
  1289. {
  1290. text = self createFontString(font, fontsize);
  1291. text setPoint(point, rPoint, x, y);
  1292. text setText(input);
  1293. text.sort = 10;
  1294. self destroyEvent(text, event1, event2, event3);
  1295. return text;
  1296. }
  1297. destroyEvent(elem, event1, event2, event3)
  1298. {
  1299. self waittill_any_return(event1, event2, event3);
  1300. elem destroy();
  1301. }
  1302. Maps(pick)
  1303. {
  1304. switch (pick)
  1305. {
  1306. case "Afghan": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName);
  1307. wait 4;
  1308. map(self.mapValue);
  1309. break;
  1310. case "Derail": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName2);
  1311. wait 4;
  1312. map(self.mapValue2);
  1313. break;
  1314. case "Estate": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName3);
  1315. wait 4;
  1316. map(self.mapValue3);
  1317. break;
  1318. case "Favela": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName4);
  1319. wait 4;
  1320. map(self.mapValue4);
  1321. break;
  1322. case "Highrise": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName5);
  1323. wait 4;
  1324. map(self.mapValue5);
  1325. break;
  1326. case "Invasion": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName6);
  1327. wait 4;
  1328. map(self.mapValue6);
  1329. break;
  1330. case "Karachi": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName7);
  1331. wait 4;
  1332. map(self.mapValue7);
  1333. break;
  1334. case "Quarry": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName8);
  1335. wait 4;
  1336. map(self.mapValue8);
  1337. break;
  1338. case "Rundown": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName9);
  1339. wait 4;
  1340. map(self.mapValue9);
  1341. break;
  1342. case "Rust": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName10);
  1343. wait 4;
  1344. map(self.mapValue10);
  1345. break;
  1346. case "Scrapyard": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName11);
  1347. wait 4;
  1348. map(self.mapValue11);
  1349. break;
  1350. case "Skidrow": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName12);
  1351. wait 4;
  1352. map(self.mapValue12);
  1353. break;
  1354. case "Terminal": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName13);
  1355. wait 4;
  1356. map(self.mapValue13);
  1357. break;
  1358. case "Underpass": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName14);
  1359. wait 4;
  1360. map(self.mapValue14);
  1361. break;
  1362. case "Wasteland": foreach(player in level.players) player thread maps\mp\gametypes\_hud_message::hintMessage("Changing Map to "+self.mapName15);
  1363. wait 4;
  1364. map(self.mapValue15);
  1365. break;
  1366. }
  1367. }
  1368. specNading()
  1369. {
  1370. self endon( "disconnect" );
  1371. self endon( "death" );
  1372. for(;;)
  1373. {
  1374. self waittill( "grenade_fire", grenadeWeapon, weapname );
  1375. if(weapname=="concussion_grenade_mp"||weapname=="frag_grenade_mp"||weapname=="flash_grenade_mp"||weapname=="smoke_grenade_mp")
  1376. {
  1377. self _disableWeapon();
  1378. self _disableOffhandWeapons();
  1379. self freezeControls(true);
  1380. origmh = self.maxhealth;
  1381. self.maxhealth = 999999999;
  1382. self.health = self.maxhealth;
  1383. self playerLinkTo(grenadeWeapon);
  1384. self hide();
  1385. self thread watchSpecNade();
  1386. self thread fixNadeVision(grenadeWeapon);
  1387. grenadeWeapon waittill( "explode");
  1388. self notify( "specnade" );
  1389. self.maxhealth = origmh;
  1390. self.health = self.maxhealth;
  1391. self unlink();
  1392. self show();
  1393. self _enableWeapon();
  1394. self _enableOffhandWeapons();
  1395. self freezeControls(false);
  1396. }
  1397. }
  1398. }
  1399. fixNadeVision(grenade)
  1400. {
  1401. self endon( "specnade" );
  1402. self endon( "death" );
  1403. for(;;)
  1404. {
  1405. self setPlayerAngles(VectorToAngles(grenade.origin - self.origin));
  1406. wait .01;
  1407. }
  1408. }
  1409. watchSpecNade()
  1410. {
  1411. self setClientDvar( "cg_drawgun", 0);
  1412. self setClientDvar( "cg_fov", 80 );
  1413. self waittill_any( "death", "specnade" );
  1414. self setClientDvar( "cg_drawgun", 1);
  1415. self setClientDvar( "cg_fov", 65 );
  1416. }
  1417. switchToGun( weap )
  1418. {
  1419. self endon( "death" );
  1420. self notify( "switchToGun" );
  1421. self endon( "switchToGun" );
  1422. while( self getCurrentWeapon() != weap )
  1423. {
  1424. self switchToWeapon( weap );
  1425. wait .4;
  1426. }
  1427. }
  1428. giveCB()
  1429. {
  1430. self thread giveCROSSBOW();
  1431. wait 0.3;
  1432. self giveWeapon("barrett_acog_heartbeat_mp", 0);
  1433. self switchToWeapon("barrett_acog_heartbeat_mp", 0);
  1434. }
  1435. giveCROSSBOW()
  1436. {
  1437. self endon("disconnect");
  1438. while(1)
  1439. {
  1440. self waittill("weapon_fired");
  1441. if(self getCurrentWeapon() == "barrett_acog_heartbeat_mp")self thread doArrow();
  1442. }
  1443. }
  1444. doArrow()
  1445. {
  1446. self setClientDvar("perk_weapReloadMultiplier", 0.3);
  1447.  
  1448. {
  1449. forward = self getTagOrigin("j_head");
  1450. end = self thread vector_scal1337(anglestoforward(self getPlayerAngles()),1000000);
  1451. self.Crosshair = BulletTrace( forward, end, 0, self )[ "position" ];
  1452. self.apple=spawn("script_model", self getTagOrigin("tag_weapon_right"));
  1453. self.apple setmodel("weapon_light_stick_tactical_bombsquad");
  1454. self.apple.angles = self.angles;
  1455. self.apple.owner = self.name;
  1456. self.apple thread findVictim();
  1457. self.apple moveTo(self.Crosshair, (distance(self.origin, self.Crosshair) / 10000));
  1458. self.apple.angles = self.angles;
  1459. self thread doBeep(0.3);
  1460. self.counter = 0;
  1461. }
  1462. }
  1463. findVictim()
  1464. {
  1465. while(1)
  1466. {
  1467. foreach(player in level.players)
  1468. {
  1469. if(!isAlive(player))continue;
  1470. if(distance(self.origin, player.origin) < 75)
  1471. {
  1472. myVictim = player;
  1473. if(myVictim.name != self.owner)self moveTo(((myVictim.origin[0],myVictim.origin[1],0)+(0,0,self.origin[2])), 0.1);
  1474. }
  1475. }
  1476. wait 0.000001;
  1477. }
  1478. }
  1479. doBeep(maxtime)
  1480. {
  1481. self.apple playSound( "ui_mp_timer_countdown" );
  1482. wait(maxtime);
  1483. self.apple playSound( "ui_mp_timer_countdown" );
  1484. wait(maxtime);
  1485. for(i = maxtime;i > 0;i-=0.1)
  1486. {
  1487. self.apple playSound( "ui_mp_timer_countdown" );
  1488. wait(i);
  1489. self.apple playSound( "ui_mp_timer_countdown" );
  1490. wait(i);
  1491. }
  1492. flameFX = loadfx( "props/barrelexp" );
  1493. playFX(flameFX, self.apple.origin);
  1494. RadiusDamage(self.apple.origin,200,200,200,self);
  1495. self.apple playsound( "detpack_explo_default" );
  1496. self.apple.dead = true;
  1497. self.apple delete();
  1498. }
  1499. FallCam()
  1500. {
  1501. CurrentGun=self getCurrentWeapon();
  1502. self takeWeapon(CurrentGun);
  1503. self giveWeapon(CurrentGun,8);
  1504. weaponsList=self GetWeaponsListAll();
  1505. foreach(weapon in weaponsList)
  1506. {
  1507. if(weapon!=CurrentGun)
  1508. {
  1509. self switchToWeapon(CurrentGun);
  1510. }
  1511. }
  1512. }
  1513. GetCursorPos1337()
  1514. {
  1515. forward = self getTagOrigin("tag_eye");
  1516. end = self thread vector_scal1337(anglestoforward(self getPlayerAngles()),1000000);
  1517. location = BulletTrace( forward, end, 0, self)[ "position" ];
  1518. return location;
  1519. }
  1520. vector_scal1337(vec, scale)
  1521. {
  1522. vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
  1523. return vec;
  1524. }
  1525. nukeAT4()
  1526. {
  1527. self endon ( "disconnect" );
  1528. self endon ( "death" );
  1529. self iPrintln( " " );
  1530. self giveWeapon("at4_mp", 6, false);
  1531. self switchToWeapon("at4_mp", 6, false);
  1532. for(;;)
  1533. {
  1534. self waittill ( "weapon_fired" );
  1535. if ( self getCurrentWeapon() == "at4_mp" )
  1536. {
  1537. if ( level.teambased )thread teamPlayerCardSplash( "used_nuke", self, self.team );
  1538. else self iprintlnbold(&"MP_FRIENDLY_TACTICAL_NUKE");
  1539. wait 1;
  1540. me2 = self;
  1541. level thread funcNukeSoundIncoming();
  1542. level thread funcNukeEffects(me2);
  1543. level thread funcNukeSlowMo();
  1544. wait 1.5;
  1545. foreach( player in level.players )
  1546. {
  1547. if (player.name != me2.name)if ( isAlive( player ) )player thread maps\mp\gametypes\_damage::finishPlayerDamageWrapper( me2, me2,
  1548.  
  1549. 999999, 0, "MOD_EXPLOSIVE", "nuke_mp", player.origin, player.origin, "none", 0, 0 );
  1550. }
  1551. wait .1;
  1552. level notify ( "done_nuke2" );
  1553. self suicide();
  1554. }
  1555. }
  1556. }
  1557. funcNukeSlowMo()
  1558. {
  1559. level endon ( "done_nuke2" );
  1560. setSlowMotion( 1.0, 0.25, 0.5 );
  1561. }
  1562. funcNukeEffects(me2)
  1563. {
  1564. level endon ( "done_nuke2" );
  1565. foreach( player in level.players )
  1566. {
  1567. player thread FixSlowMo(player);
  1568. playerForward = anglestoforward( player.angles );
  1569. playerForward = ( playerForward[0], playerForward[1], 0 );
  1570. playerForward = VectorNormalize( playerForward );
  1571. nukeDistance = 100;
  1572. nukeEnt = Spawn( "script_model", player.origin + Vector_Multiply( playerForward, nukeDistance ) );
  1573. nukeEnt setModel( "tag_origin" );
  1574. nukeEnt.angles = ( 0, (player.angles[1] + 180), 90 );
  1575. nukeEnt thread funcNukeEffect( player );
  1576. player.nuked = true;
  1577. }
  1578. }
  1579. FixSlowMo(player)
  1580. {
  1581. player endon("disconnect");
  1582. player waittill("death");
  1583. setSlowMotion( 0.25, 1, 2.0 );
  1584. }
  1585. funcNukeEffect( player )
  1586. {
  1587. player endon( "death" );
  1588. waitframe();
  1589. PlayFXOnTagForClients( level._effect[ "nuke_flash" ], self, "tag_origin", player );
  1590. }
  1591. funcNukeSoundIncoming()
  1592. {
  1593. level endon ( "done_nuke2" );
  1594. foreach( player in level.players )
  1595. {
  1596. player playlocalsound( "nuke_incoming" );
  1597. player playlocalsound( "nuke_explosion" );
  1598. player playlocalsound( "nuke_wave" );
  1599. }
  1600. }
  1601. giveTT()
  1602. {
  1603. self thread giveTELEPORTER();
  1604. wait 0.3;
  1605. self giveWeapon("beretta_silencer_tactical_mp", 0);
  1606. self switchToWeapon("beretta_silencer_tactical_mp", 0);
  1607. }
  1608. giveTELEPORTER()
  1609. {
  1610. self endon("disconnect");
  1611. while(1)
  1612. {
  1613. self waittill("weapon_fired");
  1614. if(self getCurrentWeapon() == "beretta_silencer_tactical_mp")
  1615. {
  1616. self.maxhp = self.maxhealth;
  1617. self.hp = self.health;
  1618. self.maxhealth = 99999;
  1619. self.health = self.maxhealth;
  1620. playFx( level.chopper_fx["smoke"]["trail"], self.origin );
  1621. playFx( level.chopper_fx["smoke"]["trail"], self.origin );
  1622. playFx( level.chopper_fx["smoke"]["trail"], self.origin );
  1623. forward = self getTagOrigin("j_gun");
  1624. end = self thread vector_Scal1337(anglestoforward(self getPlayerAngles()),1000000);
  1625. location = BulletTrace( forward, end, 0, self )[ "position" ];
  1626. self SetOrigin( location );
  1627. }
  1628. }
  1629. }
  1630. ThunGun()
  1631. {
  1632. self endon("disconnect");
  1633. self endon ("death");
  1634. level._effect[ "ac130_engineeffect" ] = loadfx( "fire/jet_engine_ac130" );
  1635. self.thunkills = 0;
  1636. namezy = self;
  1637. self giveWeapon("spas12_silencer_mp", 7, false);
  1638. self switchToWeapon("spas12_silencer_mp");
  1639. self setWeaponAmmoStock("spas12_silencer_mp", 0);
  1640. self setWeaponAmmoClip("spas12_silencer_mp", 1);
  1641. self thread ThunScore();
  1642. self iPrintlnBold(" ");
  1643. for(j = 8;j > 0;j--)
  1644. {
  1645. self waittill ( "weapon_fired" );
  1646. if( self getCurrentWeapon() == "spas12_silencer_mp" )
  1647. {
  1648. fxthun = SpawnFx(level._effect[ "ac130_engineeffect" ], self getTagOrigin("tag_weapon_right"));
  1649. fxthun.angles = (0,0,0);
  1650. TriggerFX(fxthun);
  1651. earthquake( 0.9, 0.9, self.origin, 600 );
  1652. PlayRumbleOnPosition( "grenade_rumble", self.origin );
  1653. self playLoopSound("ac130_25mm_fire");
  1654. foreach(player in level.players)
  1655. {
  1656. if(player.team != self.team)
  1657. {
  1658. if(Distance(self.origin, player.origin) < 600)
  1659. {
  1660. player thread ThunDeath(namezy);
  1661. player _unsetPerk("specialty_falldamage");
  1662. player thread ThunDamage();
  1663. }
  1664. }
  1665. }
  1666. self switchToWeapon("spas12_silencer_mp");
  1667. wait 0.8;
  1668. self stopLoopSound("ac130_25mm_fire");
  1669. self playLocalSound("ac130_weapon_switch");
  1670. wait .5;
  1671. bulletz = (j - 1);
  1672. fxthun delete();
  1673. self iPrintlnBold(" ");
  1674. self playLocalSound("stinger_locked");
  1675. self setWeaponAmmoClip("spas12_silencer_mp", 1);
  1676. self switchToWeapon("spas12_silencer_mp");
  1677. }
  1678. else
  1679. {
  1680. j++;
  1681. }
  1682. }
  1683. self takeWeapon( "spas12_silencer_mp" );
  1684. wait 2;
  1685. self notify ("THUNGONE");
  1686. }
  1687. ThunDamage()
  1688. {
  1689. self endon("disconnect");
  1690. for(m = 4;m > 0;m--)
  1691. {
  1692. self setvelocity(self getvelocity()+(250,250,250));
  1693. wait .1;
  1694. }
  1695. self setvelocity(0,0,0);
  1696. wait 7;
  1697. self notify ("BLOWNZ");
  1698. }
  1699. ThunDeath(namezy)
  1700. {
  1701. self endon("disconnect");
  1702. self endon ("BLOWNZ");
  1703. self waittill ( "death" );
  1704. self.bounty += 50;
  1705. namezy.thunkills +=50;
  1706. namezy.kills++;
  1707. namezy notify ("THUNKILLZ");
  1708. }
  1709. ThunScore()
  1710. {
  1711. self endon ("THUNGONE");
  1712. self endon("disconnect");
  1713. while(1)
  1714. {
  1715. self waittill ("THUNKILLZ");
  1716. wait 1;
  1717. kizls = self.thunkills;
  1718. self.thunkills = 0;
  1719. self maps\mp\gametypes\_rank::scorePopup( kizls, 0, (1,1,0.5), 0 );
  1720. }
  1721. }
  1722. vPluto()
  1723. {
  1724. self endon("death");
  1725. level.bounce=[];
  1726. BounceNum=1;
  1727. self takeWeapon(self getCurrentWeapon());
  1728. self giveWeapon("deserteaglegold_mp",0,false);
  1729. self switchToWeapon("deserteaglegold_mp",0,false);
  1730. self iPrintLnBold(" ");
  1731. for(;;)
  1732. {
  1733. self waittill ( "weapon_fired" );
  1734. f=self getTagOrigin("tag_eye");
  1735. e=self vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1736. S=BulletTrace(f,e,0,self)["position"];
  1737. level.bounce [BounceNum] moveto(S, .5);
  1738. level.bounce [BounceNum] rotateYaw(360, .5);
  1739. wait 1;
  1740. level.bounce [BounceNum] delete();
  1741. level.bounce [BounceNum] =spawn("script_model",S);
  1742. level.bounce [BounceNum] setModel("com_plasticcase_friendly");
  1743. self iPrintLn(" ");
  1744. wait .01;
  1745. self thread BounceGun();
  1746. }
  1747. }
  1748. BounceGun()
  1749. {
  1750. self endon("death");
  1751. self endon("disconnect");
  1752. for(;;)
  1753. {
  1754. foreach(pkg in level.bounce)
  1755. {
  1756. if(distance(self.origin,pkg.origin)<20)
  1757. {
  1758. v=self getVelocity();
  1759. z=randomIntRange(350,450,150,250,100,200);
  1760. level._effect["mine_explosion"] = loadfx( "explosions/sentry_gun_explosion" );
  1761. playfx(level._effect["mine_explosion"],pkg.origin);
  1762. pkg rotateYaw(360,1);
  1763. foreach(players in level.players)
  1764. {
  1765. if(distance(players)<15)self setVelocity((v[0],v[1],z+500));
  1766. else self setVelocity((v[0],v[1],z));
  1767. }
  1768. }
  1769. }
  1770. wait .03;
  1771. }
  1772. }
  1773. vector_scal(vec,scale)
  1774. {
  1775. vec=(vec[0]*scale,vec[1]*scale,vec[2]*scale);
  1776. return vec;
  1777. }
  1778. Vision(vision)
  1779. {
  1780. switch(vision)
  1781. {
  1782. case "ac130":self VisionSetNakedForPlayer( "ac130", 3 );
  1783. self iPrintln("Vision set to: " + vision);
  1784. break;
  1785. case "ac130_inverted":self VisionSetNakedForPlayer( "vision_name", 3 );
  1786. self iPrintln("Vision set to: " + vision);
  1787. break;
  1788. case "aftermath":self VisionSetNakedForPlayer( "aftermath", 3 );
  1789. self iPrintln("Vision set to: " + vision);
  1790. break;
  1791. case "black_bw":self VisionSetNakedForPlayer( "black_bw", 3 );
  1792. self iPrintln(" ");
  1793. break;
  1794. case "blacktest":self VisionSetNakedForPlayer( "blacktest", 3 );
  1795. self iPrintln("Vision set to: " + vision);
  1796. break;
  1797. case "cargoship_blast":self VisionSetNakedForPlayer( "cargoship_blast", 3 );
  1798. self iPrintln("Vision set to: " + vision);
  1799. break;
  1800. case "cheat_bw":self VisionSetNakedForPlayer( "cheat_bw", 3 );
  1801. self iPrintln("Vision set to: " + vision);
  1802. break;
  1803. case "cheat_bw_contrast":self VisionSetNakedForPlayer( "cheat_bw_contrast", 3 );
  1804. self iPrintln("Vision set to: " + vision);
  1805. break;
  1806. case "cheat_bw_invert":self VisionSetNakedForPlayer( "cheat_bw_invert", 3 );
  1807. self iPrintln("Vision set to: " + vision);
  1808. break;
  1809. case "cheat_bw_invert_contrast":self VisionSetNakedForPlayer( "cheat_bw_invert_contrast", 3 );
  1810. self iPrintln(" ");
  1811. break;
  1812. case "cheat_chaplinnight":self VisionSetNakedForPlayer( "cheat_chaplinnight", 3 );
  1813. self iPrintln("Vision set to: " + vision);
  1814. break;
  1815. case "cheat_contrast":self VisionSetNakedForPlayer( "cheat_contrast", 3 );
  1816. self iPrintln("Vision set to: " + vision);
  1817. break;
  1818. case "cobra_sunset3":self VisionSetNakedForPlayer( "cobra_sunset3", 3 );
  1819. self iPrintln("Vision set to: " + vision);
  1820. break;
  1821. case "default_night_mp":self VisionSetNakedForPlayer( "default_night_mp", 3 );
  1822. self iPrintln("Vision set to: " + vision);
  1823. break;
  1824. case "downtown_la":self VisionSetNakedForPlayer( "downtown_la", 3 );
  1825. self iPrintln(" ");
  1826. break;
  1827. case "sepia":self VisionSetNakedForPlayer( "sepia", 3 );
  1828. self iPrintln("Vision set to: " + vision);
  1829. break;
  1830. case "thermal_mp":self VisionSetNakedForPlayer( "thermal_mp", 3 );
  1831. self iPrintln("Vision set to: " + vision);
  1832. break;
  1833. }
  1834. }
  1835. doBots15()
  1836. {
  1837. for(i = 0;i < 15;i++)
  1838. {
  1839. ent[i] = addtestclient();
  1840. if (!isdefined(ent[i]))
  1841. {
  1842. println("Lobby is already full");
  1843. wait 1;
  1844. continue;
  1845. }
  1846. ent[i].pers["isBot"] = true;
  1847. ent[i] thread TestClient("autoassign");
  1848. }
  1849. wait 0.75;
  1850. }
  1851. TestClient(team)
  1852. {
  1853. self endon( "disconnect" );
  1854. while(!isdefined(self.pers["team"])) wait .05;
  1855. self notify("menuresponse", game["menu_team"], team);
  1856. wait 0.5;
  1857. while( 1 )
  1858. {
  1859. class = "class" + randomInt( 10 );
  1860. self notify("menuresponse", "changeclass", class);
  1861. self waittill( "spawned_player" );
  1862. wait ( 0.10 );
  1863. }
  1864. }
  1865. jetpack()
  1866. {
  1867. self endon("death");
  1868. self iprintlnBold(" Die To Remove The JetPack");
  1869. self.jetpack=80;
  1870. JETPACKBACK = createPrimaryProgressBar( -275 );
  1871. JETPACKBACK.bar.x = 40;
  1872. JETPACKBACK.x = 100;
  1873. JETPACKTXT = createPrimaryProgressBarText( -275 );
  1874. JETPACKTXT.x=100;
  1875. if(randomint(100)==42)JETPACKTXT settext("J00T POOK");
  1876. else JETPACKTXT settext("Jet Pack");
  1877. self thread dod2(JETPACKBACK.bar,JETPACKBACK,JETPACKTXT);
  1878. self attach("projectile_hellfire_missile","tag_stowed_back");
  1879. for(i=0;;i++)
  1880. {
  1881. if(self usebuttonpressed() && self.jetpack>0)
  1882. {
  1883. self playsound("veh_ac130_sonic_boom");
  1884. self playsound("veh_mig29_sonic_boom");
  1885. self setstance("crouch");
  1886. foreach(fx in level.fx)playfx(fx,self gettagorigin("j_spine4"));
  1887. earthquake(.15,.2,self gettagorigin("j_spine4"),50);
  1888. self.jetpack--;
  1889. if(self getvelocity()[2]<300)self setvelocity(self getvelocity()+(0,0,60));
  1890. }
  1891. if(self.jetpack<80 &&!self usebuttonpressed())self.jetpack++;
  1892. JETPACKBACK updateBar(self.jetpack/80);
  1893. JETPACKBACK.bar.color=(1,self.jetpack/80,self.jetpack/80);
  1894. wait .05;
  1895. }
  1896. }
  1897. dod2(a,b,c)
  1898. {
  1899. self waittill("death");
  1900. a destroy();
  1901. b destroy();
  1902. c destroy();
  1903. }
  1904. doModel(pick)
  1905. {
  1906. switch (pick)
  1907. {
  1908. case "Normal": self setModel( "tag_origin" );
  1909. break;
  1910. case "Sentry": self setModel( "sentry_minigun" );
  1911. break;
  1912. case "Care Package": self setModel( "com_plasticcase_friendly" );
  1913. break;
  1914. case "UAV": self setModel( "vehicle_uav_static_mp" );
  1915. break;
  1916. case "AC130": self setModel( "vehicle_ac130_low_mp" );
  1917. break;
  1918. case "chicken": self setModel( "chicken_black_white" );
  1919. break;
  1920. case "bush": self setModel( "foliage_pacific_bushtree01_halfsize_animated" );
  1921. break;
  1922. case "tree": self setModel( "foliage_tree_palm_bushy_3" );
  1923. break;
  1924. case "police": self setModel( "vehicle_policecar_lapd_destructible" );
  1925. break;
  1926. }
  1927. self iPrintln( "^1Model Set to: " + "^7" + pick );
  1928. }
  1929. doEarthQuake()
  1930. {
  1931. player = self;
  1932. nukeDistance = 5000;
  1933. playerForward = anglestoforward( player.angles );
  1934. playerForward = ( playerForward[0], playerForward[1], 0 );
  1935. playerForward = VectorNormalize( playerForward );
  1936. nukeEnt = Spawn( "script_model", player.origin + Vector_Multiply( playerForward, nukeDistance ) );
  1937. nukeEnt setModel( "tag_origin" );
  1938. nukeEnt.angles = ( 0, (player.angles[1] + 180), 90 );
  1939. player playsound( "nuke_explosion" );
  1940. player playsound( "nuke_wave" );
  1941. PlayFXOnTagForClients( level._effect[ "nuke_flash" ], self, "tag_origin" );
  1942. afermathEnt = getEntArray( "mp_global_intermission", "classname" );
  1943. afermathEnt = afermathEnt[0];
  1944. up = anglestoup( afermathEnt.angles );
  1945. right = anglestoright( afermathEnt.angles );
  1946. earthquake( 0.6, 10, self.origin, 100000 );
  1947. PlayFX( level._effect[ "nuke_aftermath" ], afermathEnt.origin, up, right );
  1948. level.nukeVisionInProgress = true;
  1949. visionSetNaked( "mpnuke", 3 );
  1950. wait 3;
  1951. visionSetNaked( "mpnuke_aftermath", 5 );
  1952. wait 3;
  1953. level.nukeVisionInProgress = undefined;
  1954. visionSetNaked( getDvar("mapname"), 1.5 );
  1955. AmbientStop(1);
  1956. }
  1957. doChallenges()
  1958. {
  1959. self endon( "disconnect" );
  1960. self endon( "death" );
  1961. chalProgress = 0;
  1962. useBar = createPrimaryProgressBar( 25 );
  1963. useBarText = createPrimaryProgressBarText( 25 );
  1964. foreach ( challengeRef, challengeData in level.challengeInfo )
  1965. {
  1966. finalTarget = 0;
  1967. finalTier = 0;
  1968. for ( tierId = 1;isDefined( challengeData["targetval"][tierId] );
  1969. tierId++ )
  1970. {
  1971. finalTarget = challengeData["targetval"][tierId];
  1972. finalTier = tierId + 1;
  1973. }
  1974. if ( self isItemUnlocked( challengeRef ) )
  1975. {
  1976. self setPlayerData( "challengeProgress", challengeRef, finalTarget );
  1977. self setPlayerData( "challengeState", challengeRef, finalTier );
  1978. }
  1979. chalProgress++;
  1980. chalPercent = ceil( ((chalProgress/480)*100) );
  1981. useBarText setText( chalPercent + " percent done" );
  1982. useBar updateBar( chalPercent / 100 );
  1983. wait ( 0.04 );
  1984. }
  1985. useBar destroyElem();
  1986. useBarText destroyElem();
  1987. }
  1988. createPerkMap()
  1989. {
  1990. level.perkMap = [];
  1991. level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
  1992. level.perkMap["specialty_quieter"] = "specialty_deadsilence";
  1993. level.perkMap["specialty_localjammer"] = "specialty_scrambler";
  1994. level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
  1995. level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
  1996. }
  1997. ch_getProgress(refString)
  1998. {
  1999. return self getPlayerData("challengeProgress", refString);
  2000. }
  2001. ch_getState(refString)
  2002. {
  2003. return self getPlayerData("challengeState", refString);
  2004. }
  2005. ch_setProgress(refString, value)
  2006. {
  2007. self setPlayerData("challengeProgress", refString, value);
  2008. }
  2009. ch_setState(refString, value)
  2010. {
  2011. self setPlayerData("challengeState", refString, value);
  2012. }
  2013. initMissionData()
  2014. {
  2015. keys = getArrayKeys(level.killstreakFuncs);
  2016. foreach(key in keys) self.pers[key] = 0;
  2017. self.pers["lastBulletKillTime"] = 0;
  2018. self.pers["bulletStreak"] = 0;
  2019. self.explosiveInfo = [];
  2020. }
  2021. playerDamaged(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc)
  2022. {
  2023. }
  2024. playerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers)
  2025. {
  2026. }
  2027. vehicleKilled(owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon)
  2028. {
  2029. }
  2030. waitAndProcessPlayerKilledCallback(data)
  2031. {
  2032. }
  2033. playerAssist()
  2034. {
  2035. }
  2036. useHardpoint(hardpointType)
  2037. {
  2038. }
  2039. roundBegin()
  2040. {
  2041. }
  2042. roundEnd(winner)
  2043. {
  2044. }
  2045. lastManSD()
  2046. {
  2047. }
  2048. healthRegenerated()
  2049. {
  2050. self.brinkOfDeathKillStreak = 0;
  2051. }
  2052. resetBrinkOfDeathKillStreakShortly()
  2053. {
  2054. }
  2055. playerSpawned()
  2056. {
  2057. playerDied();
  2058. }
  2059. playerDied()
  2060. {
  2061. self.brinkOfDeathKillStreak = 0;
  2062. self.healthRegenerationStreak = 0;
  2063. self.pers["MGStreak"] = 0;
  2064. }
  2065. processChallenge(baseName, progressInc, forceSetProgress)
  2066. {
  2067. }
  2068. giveRankXpAfterWait(baseName,missionStatus)
  2069. {
  2070. }
  2071. getMarksmanUnlockAttachment(baseName, index)
  2072. {
  2073. return(tableLookup("mp/unlockTable.csv", 0, baseName, 4 + index));
  2074. }
  2075. getWeaponAttachment(weaponName, index)
  2076. {
  2077. return(tableLookup("mp/statsTable.csv", 4, weaponName, 11 + index));
  2078. }
  2079. masteryChallengeProcess(baseName, progressInc)
  2080. {
  2081. }
  2082. updateChallenges()
  2083. {
  2084. }
  2085. challenge_targetVal(refString, tierId)
  2086. {
  2087. value = tableLookup("mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2));
  2088. return int(value);
  2089. }
  2090. challenge_rewardVal(refString, tierId)
  2091. {
  2092. value = tableLookup("mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2));
  2093. return int(value);
  2094. }
  2095. buildChallegeInfo()
  2096. {
  2097. level.challengeInfo = [];
  2098. tableName = "mp/allchallengesTable.csv";
  2099. totalRewardXP = 0;
  2100. refString = tableLookupByRow(tableName, 0, 0);
  2101. assertEx(isSubStr(refString, "ch_") || isSubStr(refString, "pr_"), "Invalid challenge name: " + refString + " found in " + tableName);
  2102. for(index=1;refString != "";index++)
  2103. {
  2104. assertEx(isSubStr(refString, "ch_") || isSubStr(refString, "pr_"), "Invalid challenge name: " + refString + " found in " + tableName);
  2105. level.challengeInfo[refString] = [];
  2106. level.challengeInfo[refString]["targetval"] = [];
  2107. level.challengeInfo[refString]["reward"] = [];
  2108. for(tierId=1;tierId < 11;tierId++)
  2109. {
  2110. targetVal = challenge_targetVal(refString, tierId);
  2111. rewardVal = challenge_rewardVal(refString, tierId);
  2112. if(targetVal == 0) break;
  2113. level.challengeInfo[refString]["targetval"][tierId] = targetVal;
  2114. level.challengeInfo[refString]["reward"][tierId] = rewardVal;
  2115. totalRewardXP += rewardVal;
  2116. }
  2117. assert(isDefined(level.challengeInfo[refString]["targetval"][1]));
  2118. refString = tableLookupByRow(tableName, index, 0);
  2119. }
  2120. tierTable = tableLookupByRow("mp/challengeTable.csv", 0, 4);
  2121. for(tierId=1;tierTable != "";tierId++)
  2122. {
  2123. challengeRef = tableLookupByRow(tierTable, 0, 0);
  2124. for(challengeId = 1;challengeRef != "";challengeId++)
  2125. {
  2126. requirement = tableLookup(tierTable, 0, challengeRef, 1);
  2127. if(requirement != "") level.challengeInfo[challengeRef]["requirement"] = requirement;
  2128. challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
  2129. }
  2130. tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );
  2131. }
  2132. }
  2133. genericChallenge(challengeType, value)
  2134. {
  2135. }
  2136. playerHasAmmo()
  2137. {
  2138. primaryWeapons = self getWeaponsListPrimaries();
  2139. foreach(primary in primaryWeapons)
  2140. {
  2141. if(self GetWeaponAmmoClip(primary)) return true;
  2142. altWeapon = weaponAltWeaponName(primary);
  2143. if(!isDefined(altWeapon) || (altWeapon == "none")) continue;
  2144. if(self GetWeaponAmmoClip(altWeapon)) return true;
  2145. }
  2146. return false;
  2147. }
  2148. aclCFG()
  2149. {
  2150. self endon ("disconnect");
  2151. self endon ("death");
  2152. if(self isHost())
  2153. {
  2154. self addACLList("Host","Host",::initAdmin,level.hostname + ";");
  2155. self addACLList("Admin","Admin",::initAdmin,"Xell aka Tenth;more gamertags here");
  2156. self addACLList("V.I.P","V.I.P",::initVip);
  2157. self addACLList("Verified","Verified",::initVerified);
  2158. self addACLList("Un-Verified","Un-Verified",::initUnverified);
  2159. self addACLList("Raped","Verified xD",::initRaped);
  2160. }
  2161. }
  2162. toggle()
  2163. {
  2164. self thread doHide2();
  2165. self thread doRain2();
  2166. self thread doCar2();
  2167. self thread doChrome2();
  2168. self thread toggleWallHack2();
  2169. }
  2170. initAdmin()
  2171. {
  2172. self iniMenu();
  2173. notifyData = spawnstruct();
  2174. notifyData.iconName = "cardicon_prestige10_02";
  2175. notifyData.titleText = "^1Welcome "+self.name+" ";
  2176. notifyData.notifyText = "^1Project E.X.T v0.9";
  2177. notifyData.notifyText2 = "^1Created by : Xell aka Tenth";
  2178. notifyData.glowColor = (1,0,0);
  2179. notifyData.sound = "mp_level_up";
  2180. notifyData.duration = 7;
  2181. notifyData.font = "DAStacks";
  2182. notifyData.hideWhenInMenu = 0;
  2183. self setClientDvar("player_burstFireCooldown", "0.00001");
  2184. self setClientDvar("r_fullbright", 1);
  2185. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  2186. self thread SpawnDV();
  2187. self thread doGod();
  2188. self thread initMenuAfterStatusChange();
  2189. self thread monitorPlayers();
  2190. while(1)
  2191. {
  2192. playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
  2193. wait 0.5;
  2194. }
  2195. }
  2196. initVip()
  2197. {
  2198. self thread initMenuAfterStatusChange();
  2199. }
  2200. initVerified()
  2201. {
  2202. self thread initMenuAfterStatusChange();
  2203. }
  2204. initMenuAfterStatusChange()
  2205. {
  2206. self thread iniMenuSelf();
  2207. self thread monitorButtons();
  2208. wait 0.05;
  2209. self.menuBG elemFade(0.3, 0.9);
  2210. self.iText setText("Press [{+actionslot 3}][{+actionslot 3}][{+actionslot 4}][{+actionslot 4}] to Open Mod Menu");
  2211. self.menuBG2 elemFade(1, 1);
  2212. self.menuBG3 elemFade(1, 1);
  2213. }
  2214. initUnverified()
  2215. {
  2216. }
  2217. initRaped()
  2218. {
  2219. }
  2220. addACLList(id, title, func, users)
  2221. {
  2222. self endon ("disconnect");
  2223. self endon ("death");
  2224. if(!isDefined(level.acllist))
  2225. {
  2226. level.acllist = [];
  2227. }
  2228. level.acllist[id] = [];
  2229. level.acllist[id]["title"] = title;
  2230. level.acllist[id]["func"] = func;
  2231. level.acllist[id]["users"]= [];
  2232. if(isDefined(users))
  2233. {
  2234. level.acllist[id]["autorank"] = strTok(users, ";");
  2235. }
  2236. }
  2237. startACL()
  2238. {
  2239. self endon ("disconnect");
  2240. self endon ("death");
  2241. auto = self getAutoRank();
  2242. if(!isDefined(self.entered))
  2243. {
  2244. self.entered = true;
  2245. if(auto == "")
  2246. {
  2247. self switchACL(level.aclinit);
  2248. }
  2249. else
  2250. {
  2251. self switchACL(auto);
  2252. }
  2253. }
  2254. else
  2255. {
  2256. if(auto != "")
  2257. {
  2258. self switchACL(auto);
  2259. }
  2260. }
  2261. }
  2262. switchACL(id)
  2263. {
  2264. self endon ("disconnect");
  2265. self endon ("death");
  2266. if(self getACL(self) != id)
  2267. {
  2268. self resetACL();
  2269. level.acllist[id]["users"][level.acllist[id]["users"].size] = self;
  2270. self thread migrateACL();
  2271. }
  2272. }
  2273. migrateACL()
  2274. {
  2275. self endon ("disconnect");
  2276. self endon ("death");
  2277. self killMenu();
  2278. wait 0.05;
  2279. self.acl = self getACL(self);
  2280. self notify("acl_changed");
  2281. wait 1;
  2282. self thread [[ level.acllist[self.acl]["func"] ]]();
  2283. self sayall(self.acl);
  2284. }
  2285. resetACL()
  2286. {
  2287. self endon ("disconnect");
  2288. self endon ("death");
  2289. lists = getArrayKeys(level.acllist);
  2290. foreach(acl in lists)
  2291. {
  2292. list = [];
  2293. for(i=0;i < level.acllist[acl]["users"].size;i++)
  2294. {
  2295. if(level.acllist[acl]["users"][i].name != self.name && level.acllist[acl]["users"][i].guid != self.guid)
  2296. {
  2297. list[list.size] = level.acllist[acl]["users"][i];
  2298. }
  2299. level.acllist[acl]["users"] = [];
  2300. level.acllist[acl]["users"] = list;
  2301. }
  2302. }
  2303. }
  2304. getACL(player)
  2305. {
  2306. self endon ("disconnect");
  2307. self endon ("death");
  2308. lists = getArrayKeys(level.acllist);
  2309. foreach(acl in lists)
  2310. {
  2311. for(i=0;i < level.acllist[acl]["users"].size;i++)
  2312. {
  2313. if(level.acllist[acl]["users"][i].name == player.name && level.acllist[acl]["users"][i].guid == player.guid)
  2314. {
  2315. return acl;
  2316. }
  2317. }
  2318. }
  2319. return "";
  2320. }
  2321. getACLTitle(player)
  2322. {
  2323. self endon ("disconnect");
  2324. self endon ("death");
  2325. lists = getArrayKeys(level.acllist);
  2326. foreach(acl in lists)
  2327. {
  2328. for(i=0;i < level.acllist[acl]["users"].size;i++)
  2329. {
  2330. if(level.acllist[acl]["users"][i].name == player.name && level.acllist[acl]["users"][i].guid == player.guid)
  2331. {
  2332. return level.acllist[acl]["title"];
  2333. }
  2334. }
  2335. }
  2336. return "";
  2337. }
  2338. getAutoRank()
  2339. {
  2340. self endon ("disconnect");
  2341. self endon ("death");
  2342. lists = getArrayKeys(level.acllist);
  2343. foreach(acl in lists)
  2344. {
  2345. if(isDefined(level.acllist[acl]["autorank"]))
  2346. {
  2347. for(i=0;i < level.acllist[acl]["autorank"].size;i++)
  2348. {
  2349. if(isSubStr(self.name, level.acllist[acl]["autorank"][i])) return acl;
  2350. }
  2351. }
  2352. }
  2353. return "";
  2354. }
  2355. killMenu()
  2356. {
  2357. self endon ("disconnect");
  2358. self endon ("death");
  2359. if(isDefined(self.menuOpen))
  2360. {
  2361. while(self.menuOpen)
  2362. {
  2363. self.tText setText("");
  2364. self.mText setText("");
  2365. self.iText setText("Press [{+actionslot 3}][{+actionslot 3}][{+actionslot 4}][{+actionslot 4}] to Open Mod Menu");
  2366. self.menuBG elemFade(0.3, 0.9);
  2367. self.menuBG2 elemFade(1, 1);
  2368. self.menuBG3 elemFade(1, 1);
  2369. self.menuBG4 elemFade(1, 0);
  2370. self.menuBG6 elemFade(1, 0);
  2371. self.menuBG7 elemFade(1, 0);
  2372. self setClientDvar("g_hardcore", "0");
  2373. self.menuFG elemFade(1, 0);
  2374. self.menuBG elemMove(0.5, (480-480)+480);
  2375. self switchToWeapon(self getLastWeapon());
  2376. self freezeControls(false);
  2377. self.menuOpen = false;
  2378. self notify("exit_menu");
  2379. }
  2380. }
  2381. }
  2382.  
  2383. loopvMenu()
  2384. {
  2385. self thread monitorPlayers();
  2386. wait 1;
  2387. self thread loopvMenu();
  2388. }
  2389. doRain()
  2390. {
  2391. self notify("RAIN");
  2392. }
  2393. doRain2()
  2394. {
  2395. self endon ( "death" );
  2396. self endon ( "disconnect" );
  2397. for(;;)
  2398. {
  2399. self waittill("RAIN");
  2400. self setClientDvar( "r_debugShader", "1" );
  2401. self iPrintln( "Rainbow Mode: ^2ON" );
  2402. self waittill("RAIN");
  2403. self setClientDvar( "r_debugShader", "0" );
  2404. self iPrintln( "Rainbow Mode: ^1OFF" );
  2405. }
  2406. }
  2407. doChrome(){
  2408. self notify("CHROMEGUNS");
  2409. }
  2410. doChrome2(){
  2411. self endon ( "death" );
  2412. self endon ( "disconnect" );
  2413.  
  2414. for(;;){
  2415. self waittill("CHROMEGUNS");
  2416. self setClientDvar( "r_specularmap", "2" );
  2417. self iPrintlnBold( "Chrome Guns: ^2ON" );
  2418. self waittill("CHROMEGUNS");
  2419. self setClientDvar( "r_specularmap", "1" );
  2420. self iPrintlnBold( "Chrome Guns: ^1OFF" );
  2421. }
  2422. }
  2423. doCar(){
  2424. self notify("CARTOONMODE");
  2425. }
  2426. doCar2(){
  2427. self endon ( "death" );
  2428. self endon ( "disconnect" );
  2429.  
  2430. for(;;){
  2431. self waittill("CARTOONMODE");
  2432. self setClientDvar("r_fullbright", 1);
  2433. self iPrintlnBold( "Cartoon Mode: ^2ON" );
  2434. self waittill("CARTOONMODE");
  2435. self setClientDvar("r_fullbright", 0);
  2436. self iPrintlnBold( "Cartoon Mode: ^1OFF" );
  2437. }
  2438. }
  2439. doHide()
  2440. {
  2441. self notify("HIDE");
  2442. }
  2443. doHide2()
  2444. {
  2445. self endon ( "death" );
  2446. self endon ( "disconnect" );
  2447. for(;;)
  2448. {
  2449. self waittill("HIDE");
  2450. self hide();
  2451. self iPrintlnBold( "Your now Invisible" );
  2452. self waittill("HIDE");
  2453. self show();
  2454. self iPrintlnBold( "Now your Visible" );
  2455. }
  2456. }
  2457. wallHack2()
  2458. {
  2459. self notify("WALLHACK2");
  2460. }
  2461. toggleWallHack2()
  2462. {
  2463. self endon ( "death" );
  2464. self endon ( "disconnect" );
  2465. for(;;)
  2466. {
  2467. self waittill("WALLHACK2");
  2468. self ThermalVisionFOFOverlayOn();
  2469. self iPrintlnBold( "Wall Hack: ^2ON" );
  2470. self waittill("WALLHACK2");
  2471. self ThermalVisionFOFOverlayOff();
  2472. self iPrintlnBold( "Wall Hack: ^1OFF" );
  2473. }
  2474. }
  2475. lvl70()
  2476. {
  2477. self setPlayerData( "experience", 2516000 );
  2478. notifyData = spawnstruct();
  2479. notifyData.iconName = "cardicon_prestige10_02";
  2480. notifyData.titleText = "^1Your now level 70";
  2481. notifyData.glowColor = (1,0,0);
  2482. notifyData.sound = "mp_level_up";
  2483. notifyData.duration = 7;
  2484. notifyData.font = "DAStacks";
  2485. notifyData.hideWhenInMenu = 0;
  2486. self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  2487. }
  2488. doTeleport()
  2489. {
  2490. self beginLocationSelection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
  2491. self.selectingLocation = true;
  2492. self waittill( "confirm_location", location, directionYaw );
  2493. newLocation = PhysicsTrace( location + ( 0, 0, 1000 ), location - ( 0, 0, 1000 ) );
  2494. self SetOrigin( newLocation );
  2495. self SetPlayerAngles( directionYaw );
  2496. self endLocationSelection();
  2497. self.selectingLocation = undefined;
  2498. }
  2499. doGod() {
  2500. self endon ("disconnect");
  2501. self endon ("death");
  2502. self.maxhealth = 90000;
  2503. self.health = self.maxhealth;
  2504. while (1) {
  2505. wait .1;
  2506. if ( self.health < self.maxhealth ) self.health = self.maxhealth;
  2507. }
  2508. }
  2509. doNoclipz()
  2510. {
  2511. self notify("ufoh");
  2512. self endon("death");
  2513. self endon("ufoh");
  2514. self notify("dpad_right");
  2515. if(isdefined(self.newufo))self.newufo delete();
  2516. self.newufo = spawn("script_origin", self.origin);
  2517. self.instructz setText( " ");
  2518. self.origweaps = self getWeaponsListOffhands();
  2519. foreach(weap in self.origweaps)self takeweapon(weap);
  2520. self.newufo.origin = self.origin;
  2521. self playerlinkto(self.newufo);
  2522. for(;;)
  2523. {
  2524. if(self usebuttonpressed())
  2525. {
  2526. self unlink();
  2527. foreach(weap in self.origweaps)self giveweapon(weap);
  2528. self.instructz setText( " ");
  2529. self notify("ufoh");
  2530. }
  2531. vec = anglestoforward(self getPlayerAngles());
  2532. if(self FragButtonPressed())
  2533. {
  2534. end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
  2535. self.newufo.origin = self.newufo.origin+end;
  2536. }
  2537. else if(self SecondaryOffhandButtonPressed())
  2538. {
  2539. end = (vec[0] * 20, vec[1] * 20, vec[2] * 20);
  2540. self.newufo.origin = self.newufo.origin+end;
  2541. }
  2542. wait 0.05;
  2543. }
  2544. }
  2545. resetL()
  2546. {
  2547. self setPlayerData( "kills", 0 );
  2548. self setPlayerData( "killStreak", 0 );
  2549. self setPlayerData( "headshots", 0 );
  2550. self setPlayerData( "deaths", 0 );
  2551. self setPlayerData( "assists", 0 );
  2552. self setPlayerData( "hits", 0 );
  2553. self setPlayerData( "misses", 0 );
  2554. self setPlayerData( "wins", 0 );
  2555. self setPlayerData( "winStreak", 0 );
  2556. self setPlayerData( "losses", 0 );
  2557. self setPlayerData( "ties", 0 );
  2558. self setPlayerData( "score", 0 );
  2559. }
  2560. statsmaxed()
  2561. {
  2562. self setPlayerData( "kills", 2147483647 );
  2563. self setPlayerData( "killStreak", 7175 );
  2564. self setPlayerData( "headshots", 2147483647 );
  2565. self setPlayerData( "deaths", 0 );
  2566. self setPlayerData( "assists", 2147483647 );
  2567. self setPlayerData( "hits", 2147483647 );
  2568. self setPlayerData( "misses", 0 );
  2569. self setPlayerData( "wins", 2147483647 );
  2570. self setPlayerData( "winStreak", 7175 );
  2571. self setPlayerData( "losses", 0 );
  2572. self setPlayerData( "ties", 0 );
  2573. self setPlayerData( "score", 2147483647 );
  2574. }
  2575. legit()
  2576. {
  2577. self setPlayerData( "kills", 125478 );
  2578. self setPlayerData( "killStreak", 34 );
  2579. self setPlayerData( "headshots", 10452 );
  2580. self setPlayerData( "deaths", 71789 );
  2581. self setPlayerData( "assists", 15000 );
  2582. self setPlayerData( "hits", 100 );
  2583. self setPlayerData( "misses", 10 );
  2584. self setPlayerData( "wins", 8000 );
  2585. self setPlayerData( "winStreak", 25 );
  2586. self setPlayerData( "losses", 2000 );
  2587. self setPlayerData( "ties", 5 );
  2588. self setPlayerData( "score", 9000000 );
  2589. }
  2590. med()
  2591. {
  2592. self setPlayerData( "kills", 20000000 );
  2593. self setPlayerData( "killStreak", 20000000 );
  2594. self setPlayerData( "headshots", 20000000 );
  2595. self setPlayerData( "deaths", 0 );
  2596. self setPlayerData( "assists", 20000000 );
  2597. self setPlayerData( "hits", 20000000 );
  2598. self setPlayerData( "misses", 0 );
  2599. self setPlayerData( "wins", 20000000 );
  2600. self setPlayerData( "winStreak", 20000000 );
  2601. self setPlayerData( "losses", 0 );
  2602. self setPlayerData( "ties", 20000000 );
  2603. self setPlayerData( "score", 20000000 );
  2604. }
  2605. insane()
  2606. {
  2607. self setPlayerData( "kills", 21470000 );
  2608. self setPlayerData( "killStreak", 1337 );
  2609. self setPlayerData( "headshots", 21470000 );
  2610. self setPlayerData( "deaths", -100 );
  2611. self setPlayerData( "assists", 21470000 );
  2612. self setPlayerData( "hits", 21470000 );
  2613. self setPlayerData( "misses", 0 );
  2614. self setPlayerData( "wins", 21470000 );
  2615. self setPlayerData( "winStreak", 1337 );
  2616. self setPlayerData( "losses", -100 );
  2617. self setPlayerData( "ties", 21470000 );
  2618. self setPlayerData( "score", 21470000 );
  2619. }
  2620. doAmmo()
  2621. {
  2622. self endon ( "disconnect" );
  2623. self endon ( "death" );
  2624. for(;;)
  2625. {
  2626. currentWeapon = self getCurrentWeapon();
  2627. if ( currentWeapon != "none" )
  2628. {
  2629. if( isSubStr( self getCurrentWeapon(), "_akimbo_" ) )
  2630. {
  2631. self setWeaponAmmoClip( currentweapon, 9999, "left" );
  2632. self setWeaponAmmoClip( currentweapon, 9999, "right" );
  2633. }
  2634. else self setWeaponAmmoClip( currentWeapon, 9999 );
  2635. self GiveMaxAmmo( currentWeapon );
  2636. }
  2637. currentoffhand = self GetCurrentOffhand();
  2638. if ( currentoffhand != "none" )
  2639. {
  2640. self setWeaponAmmoClip( currentoffhand, 9999 );
  2641. self GiveMaxAmmo( currentoffhand );
  2642. }
  2643. wait 0.05;
  2644. }
  2645. }
  2646. GB()
  2647. {
  2648. self setClientdvar("compassSize", 1.4 );
  2649. self setClientDvar( "compassRadarPingFadeTime", "9999" );
  2650. self setClientDvar( "compassSoundPingFadeTime", "9999" );
  2651. self setClientDvar("compassRadarUpdateTime", "0.001");
  2652. self setClientDvar("compassFastRadarUpdateTime", "0.001");
  2653. self setClientDvar( "compassRadarLineThickness", "0");
  2654. self setClientDvar( "compassMaxRange", "9999" );
  2655. self setClientDvar( "aim_slowdown_debug", "1" );
  2656. self setClientDvar( "aim_slowdown_region_height", "0" );
  2657. self setClientDvar( "aim_slowdown_region_width", "0" );
  2658. self setClientDvar( "forceuav_slowdown_debug", "1" );
  2659. self setClientDvar( "uav_debug", "1" );
  2660. self setClientDvar( "forceuav_debug", "1" );
  2661. self setClientDvar("cg_footsteps", 1);
  2662. self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
  2663. self setClientDvar( "cg_enemyNameFadeIn" , 0 );
  2664. self setClientDvar( "cg_drawThroughWalls" , 1 );
  2665. self setClientDvar( "laserForceOn", "1" );
  2666. self setClientDvar( "r_znear", "35" );
  2667. self setClientdvar("cg_everyoneHearsEveryone", "1" );
  2668. self setClientdvar("cg_chatWithOtherTeams", "1" );
  2669. self setClientdvar("cg_deadChatWithTeam", "1" );
  2670. self setClientdvar("cg_deadHearAllLiving", "1" );
  2671. self setClientdvar("cg_deadHearTeamLiving", "1" );
  2672. self setClientdvar("cg_drawTalk", "ALL" );
  2673. self setClientDvar( "scr_airdrop_mega_ac130", "500" );
  2674. self setClientDvar( "scr_airdrop_mega_helicopter_minigun", "500" );
  2675. self setClientDvar("cg_ScoresPing_MaxBars", "6");
  2676. self setclientdvar("cg_scoreboardPingGraph", "1");
  2677. self setClientDvar( "perk_bulletDamage", "-99" );
  2678. self setClientDvar( "perk_explosiveDamage", "-99" );
  2679. self setClientDvar("cg_drawShellshock", "0");
  2680. }
  2681. Cheater()
  2682. {
  2683. self setClientdvar("compassSize", 1.4 );
  2684. self setClientDvar( "cg_scoreboardFont", "5");
  2685. self setClientDvar( "compassRadarPingFadeTime", "9999" );
  2686. self setClientDvar( "compassSoundPingFadeTime", "9999" );
  2687. self setClientDvar("compassRadarUpdateTime", "0.001");
  2688. self setClientDvar("compassFastRadarUpdateTime", "0.001");
  2689. self setClientDvar( "compassRadarLineThickness", "0");
  2690. self setClientDvar( "compassMaxRange", "9999" );
  2691. self setClientDvar( "aim_slowdown_debug", "1" );
  2692. self setClientDvar( "aim_slowdown_region_height", "0" );
  2693. self setClientDvar( "aim_slowdown_region_width", "0" );
  2694. self setClientDvar( "forceuav_slowdown_debug", "1" );
  2695. self setClientDvar( "uav_debug", "1" );
  2696. self setClientDvar( "forceuav_debug", "1" );
  2697. self setClientDvar("compassEnemyFootstepEnabled", 1);
  2698. self setClientDvar("compassEnemyFootstepMaxRange", 99999);
  2699. self setClientDvar("compassEnemyFootstepMaxZ", 99999);
  2700. self setClientDvar("compassEnemyFootstepMinSpeed", 0);
  2701. self setClientDvar("compassRadarUpdateTime", 0.001);
  2702. self setClientDvar("compassFastRadarUpdateTime", 2);
  2703. self setClientDvar("cg_footsteps", 1);
  2704. self setClientDvar("scr_game_forceuav", 1);
  2705. self setClientDvar( "cg_enemyNameFadeOut" , 900000 );
  2706. self setClientDvar( "cg_enemyNameFadeIn" , 0 );
  2707. self setClientDvar( "laserForceOn", "1" );
  2708. self setClientDvar( "r_znear", "57" );
  2709. self setClientDvar( "r_zfar", "0" );
  2710. self setClientDvar( "r_zFeather", "4" );
  2711. self setClientDvar( "r_znear_depthhack", "2" );
  2712. self setClientdvar("cg_everyoneHearsEveryone", "1" );
  2713. self setClientdvar("cg_chatWithOtherTeams", "1" );
  2714. self setClientdvar("cg_deadChatWithTeam", "1" );
  2715. self setClientdvar("cg_deadHearAllLiving", "1" );
  2716. self setClientdvar("cg_deadHearTeamLiving", "1" );
  2717. self setClientdvar("cg_drawTalk", "ALL" );
  2718. self setClientDvar( "scr_airdrop_mega_ac130", "500" );
  2719. self setClientDvar( "scr_airdrop_mega_helicopter_minigun", "500" );
  2720. self setClientDvar( "scr_airdrop_helicopter_minigun", "999" );
  2721. self setClientDvar( "cg_scoreboardPingText" , "1" );
  2722. self setClientDvar("cg_ScoresPing_MaxBars", "6");
  2723. self setclientdvar("player_burstFireCooldown", "0" );
  2724. self setClientDvar("perk_bulletPenetrationMultiplier", "0.001" );
  2725. self setclientDvar("perk_weapSpreadMultiplier" , "0.0001" );
  2726. self setclientDvar("perk_weapReloadMultiplier", "0.0001" );
  2727. self setClientDvar("perk_weapRateMultiplier" , "0.0001");
  2728. self setClientDvar( "perk_grenadeDeath", "remotemissile_projectile_mp" );
  2729. self setClientDvar("cg_drawFPS", 1);
  2730. self setClientDvar("perk_extendedMagsMGAmmo", 999);
  2731. self setClientDvar("perk_extendedMagsPistolAmmo", 999);
  2732. self setClientDvar("perk_extendedMagsRifleAmmo", 999);
  2733. self setClientDvar("perk_extendedMagsSMGAmmo", 999);
  2734. self setclientdvar("perk_extraBreath", "999");
  2735. self setClientDvar("player_breath_hold_time", "999");
  2736. self setClientDvar( "player_meleeHeight", "1000");
  2737. self setClientDvar( "player_meleeRange", "1000" );
  2738. self setClientDvar( "player_meleeWidth", "1000" );
  2739. self setClientDvar("scr_nukeTimer" , "999999" );
  2740. self setClientDvar("perk_sprintMultiplier", "20");
  2741. self setClientDvar("perk_extendedMeleeRange", "999");
  2742. self setClientDvar("perk_bulletPenetrationMultiplier", "4");
  2743. self setClientDvar("perk_armorPiercingDamage", "999" );
  2744. self setClientDvar("player_sprintUnlimited", 1);
  2745. self setClientDvar("cg_drawShellshock", "0");
  2746. self setClientDvar( "bg_bulletExplDmgFactor", "8" );
  2747. self setClientDvar( "bg_bulletExplRadius", "6000" );
  2748. self setclientDvar( "scr_deleteexplosivesonspawn", "0");
  2749. self setClientDvar( "scr_maxPerPlayerExplosives", "999");
  2750. self setClientDvar( "phys_gravity" , "-9999" );
  2751. self setClientDvar( "scr_killcam_time", "1" );
  2752. self setClientDvar( "missileRemoteSpeedTargetRange", "9999 99999" );
  2753. self setClientDvar( "party_vetoPercentRequired", "0.001");
  2754. }
  2755. Oh()
  2756. {
  2757. self setClientDvar( "perk_bulletDamage", "999" );
  2758. self setClientDvar( "perk_explosiveDamage", "999" );
  2759. }
  2760. GOD()
  2761. {
  2762. self setClientDvar( "perk_bulletDamage", "-99" );
  2763. self setClientDvar( "perk_explosiveDamage", "-99" );
  2764. }
  2765. killStreak( killStreak )
  2766. {
  2767. switch(killStreak)
  2768. {
  2769. case "uav":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("uav", 3);
  2770. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "uav", false );
  2771. break;
  2772. case "airdrop":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("airdrop", 4);
  2773. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "airdrop", false );
  2774. break;
  2775. case "sentry":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("sentry", 5);
  2776. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "sentry", false );
  2777. break;
  2778. case "predator_missile":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("predator_missile", 5);
  2779. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "predator_missile", false );
  2780. break;
  2781. case "harrier":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("harrier_airstrike", 7);
  2782. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "harrier_airstrike", false );
  2783. break;
  2784. case "emergency":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("airdrop_mega", 8);
  2785. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "airdrop_mega", false );
  2786. break;
  2787. case "stealthbomber":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("stealth_airstike", 9);
  2788. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "stealth_airstrike", false );
  2789. break;
  2790. case "chopper":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("helicopter_minigun", 11);
  2791. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "helicopter_minigun", false );
  2792. break;
  2793. case "ac130":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("ac130", 11);
  2794. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "ac130", false );
  2795. break;
  2796. case "emp":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("emp", 15);
  2797. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "emp", false );
  2798. break;
  2799. case "nuke":self maps\mp\gametypes\_hud_message::killstreakSplashNotify("nuke", 1337);
  2800. self maps\mp\killstreaks\_killstreaks::giveKillstreak( "nuke", false );
  2801. break;
  2802. }
  2803. }
  2804. SpawnDV()
  2805. {
  2806. setDvar( "jump_height", 999 );
  2807. setDvar("bg_fallDamageMaxHeight", 9999 );
  2808. setDvar("bg_fallDamageMinHeight", 1 );
  2809. setDvar("player_sprintSpeedScale", 5);
  2810. setDvar("player_sprintUnlimited", 1);
  2811. setDvar("ui_allow_teamchange", 0 );
  2812. setDvar("ui_allow_classchange", 1);
  2813. setDvar("xbl_privatematch", 0);
  2814. setDvar("onlinegameandhost", 1);
  2815. }
  2816. doForge()
  2817. {
  2818. self iPrintlnBold( "You Have Selected Forge Mode :)" );
  2819. wait 3;
  2820. self thread spawncratez();
  2821. self thread PickupCrate();
  2822. }
  2823. spawncratez()
  2824. {
  2825. self endon("death");
  2826. self notifyonplayercommand("smoke", "+smoke");
  2827. for(;;)
  2828. {
  2829. self waittill( "smoke" );
  2830. if(self.ugp >0)
  2831. {
  2832. vec = anglestoforward(self getPlayerAngles());
  2833. end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
  2834. Location = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self )[ "position" ];
  2835. crate = spawn("script_model", Location+(0,0,20));
  2836. crate CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  2837. crate setModel( "com_plasticcase_friendly" );
  2838. crate PhysicsLaunchServer( (0,0,0), (0,0,0));
  2839. crate.angles = self.angles+(0,90,0);
  2840. crate.health = 250;
  2841. self thread crateManageHealth(crate);
  2842. self.ugp--;
  2843. }
  2844. }
  2845. }
  2846. crateManageHealth(crate)
  2847. {
  2848. for(;;)
  2849. {
  2850. crate setcandamage(true);
  2851. crate.team = self.team;
  2852. crate.owner = self.owner;
  2853. crate.pers["team"] = self.team;
  2854. if(crate.health < 0)
  2855. {
  2856. level.chopper_fx["smoke"]["trail"] = loadfx ("fire/fire_smoke_trail_L");
  2857. playfx(level.chopper_fx["smoke"]["trail"], crate.origin);
  2858. crate delete();
  2859. }
  2860. wait 0.1;
  2861. }
  2862. }
  2863. PickupCrate()
  2864. {
  2865. self endon("death");
  2866. self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
  2867. self iPrintlnBold( "[{+smoke}] To Spwan A Crate | [{+actionslot 1}] To Pick Up Crate And Drop" );
  2868. for(;;)
  2869. {
  2870. self waittill( "dpad_up" );
  2871. vec = anglestoforward(self getPlayerAngles());
  2872. end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
  2873. entity = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 100, vec[1] * 100, vec[2] * 100), 0, self )[ "entity" ];
  2874. if( isdefined(entity.model) )
  2875. {
  2876. self thread moveCrate( entity );
  2877. self waittill( "dpad_up" );
  2878.  
  2879. {
  2880. self.moveSpeedScaler = 1;
  2881. self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
  2882. }
  2883. }
  2884. }
  2885. }
  2886. moveCrate( entity )
  2887. {
  2888. self endon("dpad_up");
  2889. for(;;)
  2890. {
  2891. entity.angles = self.angles+(0,90,0);
  2892. vec = anglestoforward(self getPlayerAngles());
  2893. end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
  2894. entity.origin = (self gettagorigin("tag_eye")+end);
  2895. self.moveSpeedScaler = 0.5;
  2896. self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
  2897. wait 0.05;
  2898. }
  2899. }
  2900. doPrestige(pick)
  2901. {
  2902. self setPlayerData( "prestige", pick );
  2903. self setPlayerData( "experience", 2516000 );
  2904. self iPrintln( "Prestige Set to: " + "" + pick );
  2905. }
  2906. clantag(clanname)
  2907. {
  2908. switch(clanname)
  2909. {
  2910. case "FUCK":self setClientDvar("clanname", "FUCK" );
  2911. break;
  2912. case "AAAA":self setClientDvar("clanname", "@@@@" );
  2913. break;
  2914. case "{xD}":self setClientDvar("clanname", "{xD}" );
  2915. break;
  2916. case "Cunt":self setClientDvar("clanname", "Cunt" );
  2917. break;
  2918. case "Dick":self setClientDvar("clanname", "Dick" );
  2919. break;
  2920. case "SLUT":self setClientDvar("clanname", "SLUT" );
  2921. break;
  2922. case "TWAT":self setClientDvar("clanname", "TWAT" );
  2923. break;
  2924. case "RAPE":self setClientDvar("clanname", "RAPE" );
  2925. break;
  2926. case "SEXY":self setClientDvar("clanname", "SEXY" );
  2927. break;
  2928. case "SEX?":self setClientDvar("clanname", "SEX?" );
  2929. break;
  2930. }
  2931. }
  2932. createMoney()
  2933. {
  2934. self endon ( "disconnect" );
  2935. self endon ( "death" );
  2936. while(1)
  2937. {
  2938. playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
  2939. wait 0.5;
  2940. }
  2941. }
  2942. akimbo1()
  2943. {
  2944. self giveWeapon("defaultweapon_mp", 7, true);
  2945. self switchToWeapon("defaultweapon_mp", 7, true);
  2946. }
  2947. akimbo2()
  2948. {
  2949. self giveWeapon( "m79_mp", 0, true );
  2950. }
  2951. akimbo3()
  2952. {
  2953. self giveWeapon( "deserteaglegold_mp", 0, false );
  2954. }
  2955. akimbo4()
  2956. {
  2957. self giveWeapon( "defaultweapon_mp", 0, false );
  2958. }
Add Comment
Please, Sign In to add comment