Advertisement
coolbunny1234

Untitled

Jul 7th, 2011
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.08 KB | None | 0 0
  1. #include common_scripts\utility;
  2. #include maps\_utility;
  3. #include maps\_hud_util;
  4. #using_animtree("generic_human");
  5. /*
  6. _ _ _ _
  7. | \ | | | | | |
  8. | \| | ___ | |_ ___ ___| |
  9. | . ` |/ _ \| __|/ _ | __| |
  10. | |\ | (_) | |_| __|__ \_|
  11. |_| \_|\___/ \__|\___|___(_)
  12.  
  13. -Stats Menu Done
  14. -Kill Streak Menu Done
  15. -Prestige Menu Done
  16. -Vision Menu Next
  17. -edit this code into the killstreak options before releasing
  18.  
  19. if( self.score >= 4000 )
  20. {
  21. self.mortar=1;
  22. self.zombie_cost = 4000;
  23. self.score -= 4000;
  24.  
  25. } else {
  26. self iPrintln("^1Not Enough Points!");
  27. wait 1;
  28. }
  29. */
  30. init()
  31. {
  32. level thread OnPlayerConnect();
  33. precacheitem("zombie_knuckle_crack");
  34. }
  35.  
  36. onPlayerConnect()
  37. {
  38. for(;;)
  39. {
  40. level waittill( "connected", player );
  41. player thread onPlayerSpawned();
  42. }
  43. }
  44.  
  45. onPlayerSpawned()
  46. {
  47. self endon("disconnect");
  48. self thread SpawnStart();
  49. self SetClientDvar( "loc_warnings", "0" );
  50. self SetClientDvar( "loc_warningsAsErrors", "0" );
  51. }
  52.  
  53. SpawnStart()
  54. {
  55. self thread doMPText("logo_juggernog_1k", "^1Demonic","By ^1Bunny","",10,"objective",(0.0, 0.0, 1.0));
  56. self thread MonitorButtons();
  57. self EnableHealthShield( true );
  58. self EnableInvulnerability();
  59. self.Menu["color"] = ((126/255),(19/255),(246/255));
  60. self thread MenuControls();
  61. }
  62.  
  63. MonitorButtons()
  64. {
  65. self endon("disconnect");
  66. for(;;)
  67. {
  68. if(self MeleeButtonPressed()) self notify("Melee");
  69. wait 0.3;
  70. }
  71. }
  72.  
  73. MenuControls()
  74. {
  75. self endon("disconnect");
  76. for(;;)
  77. {
  78. if(self.inMenu==0)
  79. {
  80. self waittill("Melee");
  81. self.CurWeapon = self GetCurrentWeapon();
  82. self giveweapon("zombie_knuckle_crack");
  83. self switchtoweapon("zombie_knuckle_crack");
  84. wait 1.5;
  85. self setwatersheeting(true);
  86. self thread StartModMenu();
  87. self thread MenuInfo();
  88. wait .3;
  89. }
  90. wait .2;
  91. }
  92. }
  93.  
  94. //==============\\
  95. // Menu Functions \\
  96. //==================\\
  97. doMPText(Shader,TitleText,NotifyText,NotifyText2,Duration,Font,GlowColor)
  98. {
  99. self endon("disconnect"); Ging = spawnStruct(); Ging.iconName = Shader; Ging.titleText = TitleText; Ging.notifyText = NotifyText; Ging.notifyText2 = NotifyText2; Ging.glowColor = GlowColor; Ging.duration = Duration; Ging.font = Font; self maps\_hud_message::notifyMessage( Ging ); wait 1;
  100. }
  101. ButtonMonitoring()
  102. {
  103. self endon("death");
  104. self endon("disconnect");
  105. for(;;)
  106. {
  107. if(self FragButtonPressed())
  108. {
  109. self notify("frag");
  110. }
  111. if(self MeleeButtonPressed())
  112. {
  113. self notify("melee");
  114. }
  115. if(self AttackButtonPressed())
  116. {
  117. self notify("attack");
  118. }
  119. if(self AdsButtonPressed())
  120. {
  121. self notify("ads");
  122. }
  123. if(self UseButtonPressed())
  124. {
  125. self notify("use");
  126. }
  127. wait .15;
  128. }
  129. }
  130. BlackFade()
  131. {
  132. fadetoblack = newClientHudElem( self );
  133. fadetoblack.x = 0;
  134. fadetoblack.y = 0;
  135. fadetoblack.alpha = 0;
  136. fadetoblack.horzAlign = "fullscreen";
  137. fadetoblack.vertAlign = "fullscreen";
  138. fadetoblack.foreground = true;
  139. fadetoblack.sort = 100;
  140. //fadetoblack.color = (0,0,0);
  141. fadetoblack SetShader( "black", 800, 800 );
  142. fadetoblack FadeOverTime( 1.0 );
  143. fadetoblack.alpha = 1;
  144. self waittill( "FadeDone" );
  145. fadetoblack FadeOverTime( 1.0 );
  146. fadetoblack.alpha = 0;wait 1;
  147. fadetoblack destroy();
  148. }
  149. fade_to_black()
  150. {
  151. fadetoblack1 = NewHudElem();
  152. fadetoblack1.x = 0;
  153. fadetoblack1.y = 0;
  154. fadetoblack1.alpha = 0;
  155. fadetoblack1.horzAlign = "fullscreen";
  156. fadetoblack1.vertAlign = "fullscreen";
  157. fadetoblack1.sort = -1000;
  158. fadetoblack1.color = (0,0,0);
  159. fadetoblack1 SetShader( "black", 640, 480 );
  160. fadetoblack1 FadeOverTime( 1.0 );
  161. fadetoblack1.alpha = .8;
  162. self waittill( "FadeDone1" );
  163. fadetoblack1 FadeOverTime( 1.0 );
  164. fadetoblack1.alpha = 0;
  165. }
  166. effects()
  167. {
  168. self.alpha=0;
  169. self fadeovertime(.6);
  170. self.alpha=1;
  171. }
  172. MoveEdit()
  173. {
  174. self moveovertime(1);
  175. self.x = 0;
  176. }
  177. ExitStageRight()
  178. {
  179. self moveovertime(1);
  180. self.x = 1000;
  181. }
  182. CreateTextLine(fontsize,xOffset,yOffset,xNum,yNum,textz,sort,alpha)
  183. {
  184. text = createFontString("objective", fontsize, self);
  185. text SetPoint(xOffset, yOffset, xNum, yNum);
  186. text Settext(textz);
  187. text.foreground = true;
  188. text.alpha = alpha;
  189. text.sort = sort;
  190. return text;
  191. }
  192.  
  193. test()
  194. {
  195. self iPrintln(self.Menu["Curs"]);
  196. }
  197.  
  198. FadeHoverSelection(time,color)
  199. {
  200. self FadeOverTime( time );
  201. self.color=color;
  202. }
  203.  
  204. elemmovey(time, input)
  205. {
  206. self moveOverTime(time);
  207. self.y = input;
  208. }
  209. elemmovex(time, input)
  210. {
  211. self moveOverTime(time);
  212. self.x = input;
  213. }
  214. elemfade(time, alpha)
  215. {
  216. self fadeOverTime(time);
  217. self.alpha = alpha;
  218. }
  219. vector_scal(vec, scale)
  220. {
  221. vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);return vec;
  222. }
  223. createRectangle(align,relative,x,y,width,height,color,sort,alpha,shader)
  224. {
  225. barElemBG = newClientHudElem( self );barElemBG.elemType = "bar";
  226. if ( !level.splitScreen )
  227. {
  228. barElemBG.x = -2;barElemBG.y = -2;
  229. }
  230. barElemBG.width = width;barElemBG.height = height;barElemBG.align = align;barElemBG.relative = relative;barElemBG.xOffset = 0;barElemBG.yOffset = 0;barElemBG.children = [];barElemBG.sort = sort;barElemBG.color = color;barElemBG.alpha = alpha;barElemBG setParent( level.uiParent );barElemBG setShader( shader, width , height );barElemBG.hidden = false;barElemBG setPoint(align,relative,x,y);return barElemBG;
  231. }
  232. SubMenu(num)
  233. {
  234. self.Menu["Curs"]=0;
  235. self.Menu["Menu"]=num;
  236. for(i=0;i<15;i++)
  237. //for(i=0;i<self.Menu["names"][num].size;i++)
  238. {
  239. self.Menu["display"][i] FadeOverTime( .5 );
  240. self.Menu["display"][i].alpha=0;
  241. }
  242. wait .5;
  243. for(z=0;z<15;z++)
  244. //for(z=0;z<self.Menu["names"][num].size;z++)
  245. {
  246. self.Menu["display"][z] setText(self.Menu["names"][num][z]);
  247. self.Menu["display"][z] FadeOverTime( .5 );
  248. self.Menu["display"][z].alpha=1;
  249. }
  250. }
  251.  
  252. MenuInfo()
  253. {
  254. self endon("MenuDone");
  255. self.m["info"][0] = "Information";
  256. self.m["info"][1] = self.Menu["info"][self.Menu["Menu"]][self.Menu["Curs"]];
  257. for(i=0;i<self.m["info"].size;i++)
  258. {
  259. self.m["infoz"][i] = self CreateTextLine(2.0,"BOTTOMCENTER","BOTTOMCENTER",0,(i*20)-40,self.m["info"][i],1500,0);
  260. self.m["infoz"][i] FadeOverTime(1.0);
  261. self.m["infoz"][i].alpha=1;
  262. }
  263. self.m["infoz"][0].color=self.menu["color"];
  264. for(;;)
  265. {
  266. self waittill("MenuInfo");
  267. self.m["infoz"][1] FadeOverTime( .15 );
  268. self.m["infoz"][1].alpha=1;
  269. self.m["infoz"][1] setText(self.Menu["info"][self.Menu["Menu"]][self.Menu["Curs"]]);
  270. wait .05;
  271. }
  272. }
  273. Kill_Menu()//Total Time = 1.3
  274. {
  275. wait .05;
  276. {
  277. self.inMenu = 0;
  278. self TakeWeapon("zombie_knuckle_crack");
  279. self switchtoWeapon(self.CurWeapon);
  280. self notify("FadeDone");
  281. self setwatersheeting(false);
  282. for(i=0;i<self.Menu["names"][self.Menu["Menu"]].size;i++)
  283. {
  284. self.Menu["display"][i] fadeovertime( 1.0 );
  285. self.m["infoz"][i] fadeovertime( 1.0 );
  286. self.Menu["display"][i].alpha = 0;
  287. self.m["infoz"][i].alpha=0;
  288. }
  289. wait 1;
  290. for(z=0;z<self.Menu["names"][self.Menu["Menu"]].size;z++)
  291. {
  292. self.Menu["display"][z] destroy();
  293. self.m["infoz"][z] destroy();
  294. }
  295. self notify("MenuDone");
  296. wait .2;
  297. }
  298. wait .05;
  299. }
  300.  
  301. GetCursorPos()
  302. {
  303. return BulletTrace( self getTagOrigin( "tag_eye" ), vector_scal(anglestoforward(self getPlayerAngles()),1000000), 0, self )[ "position" ];
  304. }
  305. //===============\\
  306. // Actual Mod Menu \\
  307. //===================\\
  308. StartModMenu()
  309. {
  310. self endon("MenuDone");
  311. self thread BlackFade();
  312. self.Menu["names"]=[];
  313. self.Menu["funcs"]=[];
  314. self.Menu["input"]=[];
  315. self.Menu["Curs"]=0;
  316. self.Menu["Menu"]=0;
  317. self.inMenu=1;
  318.  
  319. self.Menu["names"][0][0]="Main Modifications";
  320. self.Menu["funcs"][0][0] = ::SubMenu;
  321. self.Menu["input"][0][0]=1;
  322. self.Menu["names"][0][1]="Stat Editor";
  323. self.Menu["funcs"][0][1] = ::SubMenu;
  324. self.Menu["input"][0][1]=2;
  325. self.Menu["names"][0][2]="Prestige Menu";
  326. self.Menu["funcs"][0][2] = ::SubMenu;
  327. self.Menu["input"][0][2]=33;
  328. self.Menu["names"][0][3]="Killstreak Menu";
  329. self.Menu["funcs"][0][3] = ::SubMenu;
  330. self.Menu["input"][0][3]=4;
  331. self.Menu["names"][0][4]="Vision Menu";
  332. self.Menu["funcs"][0][4] = ::test;
  333. self.Menu["names"][0][5]="Teleport Menu";
  334. self.Menu["funcs"][0][5] = ::test;
  335. self.Menu["names"][0][6]="Projectiles Menu";
  336. self.Menu["funcs"][0][6] = ::test;
  337. self.Menu["names"][0][7]="Infections Menu";
  338. self.Menu["funcs"][0][7] = ::test;
  339.  
  340. self.Menu["names"][1][0]="God Mode";
  341. self.Menu["funcs"][1][0]=::ToggleGodMode;
  342. self.Menu["names"][1][1]="Sub Option 2";
  343. self.Menu["funcs"][1][1]=::test;
  344. self.Menu["names"][1][2]="Sub Option 3";
  345. self.Menu["funcs"][1][2]=::test;
  346. self.Menu["names"][1][3]="Sub Option 4";
  347. self.Menu["funcs"][1][3]=::test;
  348. self.Menu["names"][1][4]="Sub Option 5";
  349. self.Menu["funcs"][1][4]=::test;
  350. self.Menu["names"][1][5]="Sub Option 6";
  351. self.Menu["funcs"][1][5]=::test;
  352. self.Menu["names"][1][6]="Sub Option 7";
  353. self.Menu["funcs"][1][6]=::test;
  354. self.Menu["names"][1][7]="Sub Option 8";
  355. self.Menu["funcs"][1][7]=::test;
  356.  
  357. //=============\\
  358. // Prestige Menu \\
  359. // V use: 33, 3 \\
  360. //===================\\
  361. self.Menu["names"][33][0]="Prestige :: 9";self.Menu["funcs"][33][0]=::Prest;self.Menu["input"][33][0]=9;self.Menu["names"][33][1]="Prestige :: 10";self.Menu["funcs"][33][1]=::Prest;self.Menu["input"][33][1]=10;self.Menu["names"][33][2]="Prestige :: 11";
  362. self.Menu["funcs"][33][2]=::Prest;self.Menu["input"][33][2]=11;self.Menu["names"][33][3]="[Less Popular Prestiges]";self.Menu["funcs"][33][3]= ::SubMenu;
  363. self.Menu["input"][33][3]=3;self.Menu["names"][3][0]="Prestige :: 1";self.Menu["funcs"][3][0]=::Prest;self.Menu["input"][3][0]=1;self.Menu["names"][3][1]="Prestige :: 2";self.Menu["funcs"][3][1]=::Prest;self.Menu["input"][3][1]=2;self.Menu["names"][3][2]="Prestige :: 3";self.Menu["funcs"][3][2]=::Prest;self.Menu["input"][3][2]=3;self.Menu["names"][3][3]="Prestige :: 4";self.Menu["funcs"][3][3]=::Prest;self.Menu["input"][3][3]=4;self.Menu["names"][3][4]="Prestige :: 5";self.Menu["funcs"][3][4]=::Prest;self.Menu["input"][3][4]=5;self.Menu["names"][3][5]="Prestige :: 6";self.Menu["funcs"][3][5]=::Prest;self.Menu["input"][3][5]=6;self.Menu["names"][3][6]="Prestige :: 7";self.Menu["funcs"][3][6]=::Prest;self.Menu["input"][3][6]=7;self.Menu["names"][3][7]="Prestige :: 8";self.Menu["funcs"][3][7]=::test;self.Menu["input"][3][7]=8;self.Menu["names"][3][8]="[Popular Prestiges]";self.Menu["funcs"][3][8]= ::SubMenu;self.Menu["input"][3][8]=33;
  364.  
  365. //=============\\
  366. // Stat Editor M \\
  367. // V use: 2, \\
  368. //===================\\
  369. self.Menu["names"][2][0]="Kills";
  370. self.Menu["funcs"][2][0]=::Stats;
  371. self.Menu["input"][2][0]="kills";
  372. self.Menu["names"][2][1]="Deaths";
  373. self.Menu["funcs"][2][1]=::Stats;
  374. self.Menu["input"][2][1]="deaths";
  375. self.Menu["names"][2][2]="Kill Streak";
  376. self.Menu["funcs"][2][2]=::Stats;
  377. self.Menu["input"][2][2]="kill_streak";
  378. self.Menu["names"][2][3]="Wins";
  379. self.Menu["funcs"][2][3]=::Stats;
  380. self.Menu["input"][2][3]="wins";
  381. self.Menu["names"][2][4]="Losses";
  382. self.Menu["funcs"][2][4]=::Stats;
  383. self.Menu["input"][2][4]="losses";
  384. self.Menu["names"][2][5]="Head Shots";
  385. self.Menu["funcs"][2][5]=::Stats;
  386. self.Menu["input"][2][5]="headshots";
  387. self.Menu["names"][2][6]="Accuracy";
  388. self.Menu["funcs"][2][6]=::Stats;
  389. self.Menu["input"][2][6]="accuracy";
  390. self.Menu["names"][2][7]="Score";
  391. self.Menu["funcs"][2][7]=::Stats;
  392. self.Menu["input"][2][7]="score";
  393. self.Menu["names"][2][8]="Assists";
  394. self.Menu["funcs"][2][8]=::Stats;
  395. self.Menu["input"][2][8]="assists";
  396.  
  397. //=============\\
  398. // Kill Streaks \\
  399. // V use: 4, 44 \\
  400. //===================\\
  401. self.Menu["names"][4][0]="[Orbital Strikes]";
  402. self.Menu["funcs"][4][0]=::SubMenu;
  403. self.Menu["input"][4][0]=44;
  404. self.Menu["names"][4][1]="HellHounds";
  405. self.Menu["funcs"][4][1]=::SpawnFriendlyDogs;
  406. self.Menu["names"][4][2]="Artillery";
  407. self.Menu["funcs"][4][2]=::RainArtillery1;
  408. self.Menu["names"][4][3]="Chopper Gunner";
  409. self.Menu["funcs"][4][3]=::ChopperGunner;
  410. self.Menu["names"][4][4]="Airstike";
  411. self.Menu["funcs"][4][4]=::AirSupport;
  412.  
  413. self.Menu["names"][44][0]="Electrical Orbital Strike";
  414. self.Menu["funcs"][44][0]=::doStrike;
  415. self.Menu["input"][44][0]="maps/zombie/fx_zombie_mainframe_link_all";
  416. self.Menu["names"][44][1]="HellFire Orbital Strike";
  417. self.Menu["funcs"][44][1]=::doStrike;
  418. self.Menu["input"][44][1]="env/fire/fx_fire_player_torso";
  419. self.Menu["names"][44][2]="Insane Strike";
  420. self.Menu["funcs"][44][2]=::doStrike;
  421. self.Menu["input"][44][2]="explosions/fx_mortarExp_dirt";
  422.  
  423. //=================\\
  424. // Information Menus \\
  425. //=====================\\
  426.  
  427. self.Menu["info"][0][0]="Packed Full Of Goodies";
  428. self.Menu["info"][0][1]="Edit Your Leaderboard Stats";
  429. self.Menu["info"][0][2]="Edit Your Prestige";
  430. self.Menu["info"][0][3]="Mods Such as Chopper Gunner, AC130, etc";
  431. self.Menu["info"][0][4]="Edit Your Vision";
  432. self.Menu["info"][0][5]="Pick a Place to Teleport Around the Map";
  433. self.Menu["info"][0][6]="Pick Different Projectiles that Fire from Your Gun";
  434. self.Menu["info"][0][7]="Select Mods that Stick When you Leave the Lobby";
  435.  
  436. //Main mods
  437. self.Menu["info"][1][0]="Toggle Invincibility";
  438.  
  439. //Prestige Menu Info
  440. self.Menu["info"][33][0]="Set your Rank to Prestige 9";
  441. self.Menu["info"][33][1]="Set your Rank to Prestige 10";
  442. self.Menu["info"][33][2]="Set your Rank to Prestige 11";
  443. self.Menu["info"][33][3]="Select Less Popular Prestiges";
  444.  
  445. self.Menu["info"][3][0]="Set your Rank to Prestige 1";
  446. self.Menu["info"][3][1]="Set your Rank to Prestige 2";
  447. self.Menu["info"][3][2]="Set your Rank to Prestige 3";
  448. self.Menu["info"][3][3]="Set your Rank to Prestige 4";
  449. self.Menu["info"][3][4]="Set your Rank to Prestige 5";
  450. self.Menu["info"][3][5]="Set your Rank to Prestige 6";
  451. self.Menu["info"][3][6]="Set your Rank to Prestige 7";
  452. self.Menu["info"][3][7]="Set your Rank to Prestige 8";
  453. self.Menu["info"][3][8]="Select Popular Prestiges";
  454.  
  455. //Stats Ish
  456. self.Menu["info"][2][0]="Customize Kills Stat";
  457. self.Menu["info"][2][1]="Customize Deaths Stat";
  458. self.Menu["info"][2][2]="Customize Kill Streak Stat";
  459. self.Menu["info"][2][3]="Customize Wins Stat";
  460. self.Menu["info"][2][4]="Customize Losses Stat";
  461. self.Menu["info"][2][5]="Customize Head Shots Stat";
  462. self.Menu["info"][2][6]="Customize Accuracy Stat";
  463. self.Menu["info"][2][7]="Customize Score Stat";
  464. self.Menu["info"][2][8]="Customize Assists Stat";
  465.  
  466. //Killstreak Menu Info
  467. self.Menu["info"][4][0]="Bad Ass Explosions";
  468. self.Menu["info"][4][1]="Friendly Zombie Dogs";
  469. self.Menu["info"][4][2]="Incoming!";
  470. self.Menu["info"][4][3]="Death From Above";
  471. self.Menu["info"][4][4]="Mortar Airstrikes";
  472. self.Menu["info"][44][0]="Lightning Strike";
  473. self.Menu["info"][44][1]="A Stream Of HellFire";
  474. self.Menu["info"][44][2]="MuthaFucka";
  475.  
  476. for(i=0;i<=self.Menu["names"][self.Menu["Menu"]].size;i++)
  477. {
  478. self.Menu["display"][i] = self CreateTextLine(2.0,"CENTER","CENTER",0,(i*25)-180,self.Menu["names"][0][i],1500,0);
  479. self.Menu["display"][i] FadeOverTime( 1 );
  480. self.Menu["display"][i].alpha = 1;}
  481. self.Menu["display"][0] FadeOverTime( .2 );
  482. self.Menu["display"][0].color = self.menu["color"];
  483. self.Menu["display"][0].fontscale = 2.15;
  484. for(;;)
  485. {
  486. if(self AttackButtonPressed())
  487. {
  488. self.Menu["Curs"]++;
  489. self notify("MenuInfo");
  490. self.Menu["display"][self.Menu["Curs"]-1] FadeHoverSelection(.2,(1,1,1));
  491. self.Menu["display"][self.Menu["Curs"]-1].fontscale = 2;
  492. self.Menu["display"][self.Menu["Curs"]] FadeHoverSelection(.2,self.menu["color"]);
  493. self.Menu["display"][self.Menu["Curs"]].fontscale = 2.15;
  494. if(self.Menu["Curs"]>self.Menu["names"][self.Menu["Menu"]].size-1) self.Menu["Curs"]=0;self.Menu["display"][self.Menu["Curs"]].fontscale=2.15;self.Menu["display"][self.Menu["Curs"]] FadeHoverSelection(.2,self.menu["color"]);
  495. wait .2;
  496. }
  497. if(self AdsButtonPressed())
  498. {
  499. self.Menu["Curs"]--;
  500. self notify("MenuInfo");
  501. self.Menu["display"][self.Menu["Curs"]+1] FadeHoverSelection(.2,(1,1,1));
  502. self.Menu["display"][self.Menu["Curs"]+1].fontscale = 2;
  503. self.Menu["display"][self.Menu["Curs"]] FadeHoverSelection(.2,self.menu["color"]);
  504. self.Menu["display"][self.Menu["Curs"]].fontscale = 2.15;
  505. if(self.Menu["Curs"]<0) self.Menu["Curs"]=(self.Menu["names"][self.Menu["Menu"]].size-1);self.Menu["display"][self.Menu["Curs"]].fontscale=2.15;self.Menu["display"][self.Menu["Curs"]] FadeHoverSelection(.2,self.menu["color"]);
  506. wait .2;
  507. }
  508. if(self UseButtonPressed())
  509. {
  510. self playLocalSound("weap_ptrs_fire");
  511. self notify("MenuInfo");
  512. self thread [[self.Menu["funcs"][self.Menu["Menu"]][self.Menu["Curs"]]]](self.Menu["input"][self.Menu["Menu"]][self.Menu["Curs"]]);
  513. wait .15;
  514. }
  515. if(self MeleeButtonPressed())
  516. {
  517. self.inMenu = 0;
  518. self TakeWeapon("zombie_knuckle_crack");
  519. self switchtoWeapon(self.CurWeapon);
  520. self notify("FadeDone");
  521. self setwatersheeting(false);
  522. for(i=0;i<self.Menu["names"][self.Menu["Menu"]].size;i++)
  523. {
  524. self.Menu["display"][i] fadeovertime( 1.0 );
  525. self.m["infoz"][i] fadeovertime( 1.0 );
  526. self.Menu["display"][i].alpha = 0;
  527. self.m["infoz"][i].alpha=0;
  528. }
  529. wait 1;
  530. for(z=0;z<self.Menu["names"][self.Menu["Menu"]].size;z++)
  531. {
  532. self.Menu["display"][z] destroy();
  533. self.m["infoz"][z] destroy();
  534. }
  535. self notify("MenuDone");
  536. wait .2;
  537. }
  538. wait .05;
  539. }
  540. }
  541.  
  542. //==================\\
  543. // Begin Code Section \\
  544. //======================\\
  545.  
  546. Prest(var)
  547. {
  548. self Kill_Menu();
  549. wait .2;
  550. self thread doXPHUD();
  551. self maps\_challenges_coop::statSet( "plevel", int(var) );
  552. self maps\_challenges_coop::statSet( "rank", 65 );
  553. self maps\_challenges_coop::incRankXP( 153590 );
  554. self maps\_challenges_coop::statSet( "rankxp", 9990000 );
  555. self iPrintln("^1"+self.playername+"^7- Prestige changed to :: "+var);
  556. }
  557.  
  558. doXPHUD() { self endon ( "disconnect" ); self endon ( "death" ); XPtext = self createFontString( "objective", 2, self ); XPtext setPoint( "Center", "Center",0,0); XPtext.fontscale = 2; XPtext setText( "^3+1000" ); wait .2; XPtext.fontscale = 2.5; XPtext setText( "^3+1000" ); wait .2; XPtext.fontscale = 2; XPtext setText( "^3+5467" ); wait .2; XPtext.fontscale = 2.5; XPtext setText( "^3+5467" ); wait .2; XPtext.fontscale = 2; XPtext setText( "^3+15846" ); wait .2; XPtext.fontscale = 2.5; XPtext setText( "^3+15846" ); wait .2; XPtext.fontscale = 2; XPtext setText( "^3+75098" ); wait .2; XPtext.fontscale = 2.5; XPtext setText( "^3+75098" ); wait .2; XPtext.fontscale = 2; XPtext setText( "^3+301657" ); wait .2; XPtext.fontscale = 2.5; XPtext setText( "^3+301657" ); wait .2; XPtext.fontscale = 2; XPtext setText( "^3+1487987" ); wait .2; XPtext.fontscale = 2.5; XPtext setText( "^3+1487987" ); wait .2; XPtext.fontscale = 2; XPtext setText( "^3+901639475" ); wait .2; XPtext.fontscale = 2.5; XPtext setText( "^3+901639475" ); wait .2; XPtext.fontscale = 2; XPtext setText( "^3+1.311e+006"); wait .2; XPtext.fontscale = 2.5; XPtext setText( "^3+1.311e+006" ); wait .2; XPtext.fontscale = 2; XPtext setText( "^3+2.147e+006" ); wait .2; XPtext.fontscale = 2.5; XPtext setText( "^3+2.147e+006" ); wait .5; XPtext destroy(); }
  559.  
  560.  
  561. Stats(stat)
  562. {
  563. self endon("death");
  564. self endon("disconnect");
  565. self endon("Done");
  566. for(z=0;z<self.Menu["names"][self.Menu["Menu"]].size;z++)
  567. {
  568. self.Menu["display"][z] destroy();
  569. self.m["infoz"][z] destroy();
  570. }
  571. self Kill_Menu();
  572. self thread Buttons();
  573. self freezecontrols(true);
  574. wait 1.3;
  575. ABC = "1234567890";
  576. curs = 0;
  577. letter = 0;
  578. ctag = self createFontString("objective", 3.5, self);
  579. ctag thread effects();
  580. ctag setPoint("CENTER");
  581. ctag.foreground = true;
  582. self.editz = createFontString("objective", 3.0, self);
  583. self.editz setPoint("TOPCENTER","TOPCENTER",0,30);
  584. self.editz thread effects();
  585. self.editz settext(stat);
  586. self.editz.foreground = true;
  587. self.editz.sort = 3000;
  588. ctag.sort = 3000;
  589. selecting = true;
  590. tag = [];
  591. savedLetter = [];
  592. tag[0] = ABC[1];
  593. tag[1] = ABC[0];
  594. tag[2] = ABC[3];
  595. tag[3] = ABC[6];
  596. tag[4] = ABC[3];
  597. tag[5] = ABC[6];
  598. tag[6] = ABC[2];
  599. tag[7] = ABC[0];
  600. tag[8] = ABC[3];
  601. tag[9] = ABC[9];
  602. savedLetter[0] = 1;
  603. savedLetter[1] = 0;
  604. savedLetter[2] = 3;
  605. savedLetter[3] = 6;
  606. savedLetter[4] = 3;
  607. savedLetter[5] = 6;
  608. savedLetter[6] = 2;
  609. savedLetter[7] = 0;
  610. savedLetter[8] = 3;
  611. savedLetter[9] = 9;
  612. self.editscroll = self createRectangle("CENTER","CENTER",0,0,40,40,((148/255),0,(211/255)),2000,0,"white");
  613. self.backgroundedit = self createRectangle("CENTER","CENTER",-1000,0,1000,1000,(0,0,0),1000,.8,"white");
  614. self.editscroll.foreground = true;
  615. self.backgroundedit.foreground = true;
  616. self.backgroundedit thread MoveEdit();
  617. wait 1;
  618. self.editscroll elemFade( 1, .6);
  619. while(selecting)
  620. {
  621. string = "";
  622. for(i=0;i<tag.size;i++)
  623. {
  624. if(i == curs)
  625. {
  626. string += " "+tag[i]+" ";
  627. self.editscroll moveOverTime(0.2);
  628. self.editscroll.x = i*40.6-183;
  629. }
  630. else string += " "+tag[i]+" ";
  631. }
  632. ctag setText(" "+string+" ");
  633. self waittill("buttonPress", button);
  634. switch(button)
  635. {
  636. case "Up":letter -= 1;
  637. letter *= (letter>0)*(letter<ABC.size);
  638. tag[curs] = ABC[letter];
  639. savedLetter[curs] = letter;
  640. break;
  641. case "Down":letter += 1;
  642. letter *= (letter>0)*(letter<ABC.size);
  643. tag[curs] = ABC[letter];
  644. savedLetter[curs] = letter;
  645. break;
  646. case "Right":curs += 1;
  647. curs *= (curs>0)*(curs<10);
  648. if(curs > tag.size-1)
  649. {
  650. savedLetter[savedLetter.size] = 0;
  651. tag[tag.size] = ABC[0];
  652. }
  653. letter = savedLetter[curs];
  654. break;
  655. case "A":self.editscroll.alpha = 1;
  656. wait .15;
  657. self.editscroll.alpha = 0.6;
  658. newTag = "";
  659. for(i=0;i<tag.size;i++) newTag += tag[i];
  660. self maps\_challenges_coop::statSet( stat, int(newTag));
  661. self iPrintln(stat+" set to: " + newTag);
  662. break;
  663. case "B":selecting = false;
  664. break;
  665. default: break;
  666. }
  667. }
  668. ctag destroy();
  669. self.editz destroy();
  670. self.backgroundedit elemfade( 1, 0);
  671. self.editscroll thread ExitStageRight();
  672. self freezecontrols(false);
  673. self.editscroll destroy();
  674. self.backgroundedit destroy();
  675. self notify("Done");
  676. }
  677.  
  678. Buttons()
  679. {
  680. self endon("disconnect");
  681. self endon("Done");
  682. for(;;)
  683. {
  684. if(self UseButtonPressed()) self notify("buttonPress", "A");
  685. if(self AttackButtonPressed()) self notify("buttonPress", "Right");
  686. if(self AdsButtonPressed()) self notify("buttonPress", "Up");
  687. if(self FragButtonPressed()) self notify("buttonPress", "Down");
  688. if(self MeleeButtonPressed()) self notify("buttonPress", "B");
  689. wait .15;
  690. }
  691. }
  692. ToggleGodMode()
  693. {
  694. if( self.godmode == false )
  695. {
  696. self EnableHealthShield( true );
  697. self EnableInvulnerability();
  698. self iPrintln( "godmode ON" );
  699. self.godmode = true;
  700. }
  701. else
  702. {
  703. self EnableHealthShield( false );
  704. self DisableInvulnerability();
  705. self iPrintln( "godmode OFF" );
  706. self.godmode = false;
  707. }
  708. }
  709. SpawnFriendlyDogs()
  710. {
  711. dog_spawners = GetEntArray( "special_dog_spawner", "targetname" );
  712. maps\_zombiemode_dogs::special_dog_spawn( dog_spawners, 4 );
  713. dogs = GetAISpeciesArray( "all", "dog" );
  714. for(i=0;i<dogs.size;i++)
  715. {
  716. dogs[i].team = "allies";
  717. dogs[i].grenadeawareness = 1;
  718. dogs[i].ignoreSuppression = false;
  719. dogs[i].suppressionThreshold = 0;
  720. dogs[i].noDodgeMove = false;
  721. dogs[i].pathenemylookahead = 1;
  722. dogs[i].is_zombie = false;
  723. dogs[i] EnableInvulnerability();
  724. }
  725. }
  726.  
  727. doStrike(fx)
  728. {
  729. self thread OrbitalStrike(fx);
  730. self Kill_Menu();
  731. }
  732. OrbitalStrike(z)
  733. {
  734. self endon("OSO");
  735. players=get_players();
  736. self iPrintlnBold("Press [{+reload}] to Call in ^1Orbital Strike ^7At Crosshair");
  737. for(;;)
  738. {
  739. for(p=0;p<players.size;p++)
  740. {
  741. if(self UseButtonPressed())
  742. {
  743. players[p] iPrintlnBold(self.playername+" Called In an ^1Orbital Strike!");
  744. forward = self getTagOrigin("j_head");
  745. end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  746. Location = BulletTrace( forward, end, 0, self )[ "position" ];
  747. self.strike = Location;
  748. self thread hurtzoms();
  749. Earthquake( 0.6, 9, Location, 1000 );
  750. playfx(loadfx(z), self.strike);
  751. playfx(loadfx(z), self.strike+(0,0,80));
  752. playfx(loadfx(z), self.strike+(0,0,160));
  753. playfx(loadfx(z), self.strike+(0,0,240));
  754. playfx(loadfx(z), self.strike+(0,0,320));
  755. playfx(loadfx(z), self.strike+(0,0,400));
  756. playfx(loadfx(z), self.strike+(0,0,480));
  757. playfx(loadfx(z), self.strike+(0,0,560));
  758. playfx(loadfx(z), self.strike+(0,0,640));
  759. playfx(loadfx(z), self.strike+(0,0,720));
  760. playfx(loadfx(z), self.strike+(0,0,800));
  761. playfx(loadfx(z), self.strike+(0,0,880));
  762. playfx(loadfx(z), self.strike+(0,0,960));
  763. playfx(loadfx(z), self.strike+(0,0,1040));
  764. wait 2.5;
  765. playfx(loadfx(z), self.strike);
  766. playfx(loadfx(z), self.strike+(0,0,80));
  767. playfx(loadfx(z), self.strike+(0,0,160));
  768. playfx(loadfx(z), self.strike+(0,0,240));
  769. playfx(loadfx(z), self.strike+(0,0,320));
  770. playfx(loadfx(z), self.strike+(0,0,400));
  771. playfx(loadfx(z), self.strike+(0,0,480));
  772. playfx(loadfx(z), self.strike+(0,0,560));
  773. playfx(loadfx(z), self.strike+(0,0,640));
  774. playfx(loadfx(z), self.strike+(0,0,720));
  775. playfx(loadfx(z), self.strike+(0,0,800));
  776. playfx(loadfx(z), self.strike+(0,0,880));
  777. playfx(loadfx(z), self.strike+(0,0,960));
  778. playfx(loadfx(z), self.strike+(0,0,1040));
  779. wait 2.5;
  780. playfx(loadfx(z), self.strike);
  781. playfx(loadfx(z), self.strike+(0,0,80));
  782. playfx(loadfx(z), self.strike+(0,0,160));
  783. playfx(loadfx(z), self.strike+(0,0,240));
  784. playfx(loadfx(z), self.strike+(0,0,320));
  785. playfx(loadfx(z), self.strike+(0,0,400));
  786. playfx(loadfx(z), self.strike+(0,0,480));
  787. playfx(loadfx(z), self.strike+(0,0,560));
  788. playfx(loadfx(z), self.strike+(0,0,640));
  789. playfx(loadfx(z), self.strike+(0,0,720));
  790. playfx(loadfx(z), self.strike+(0,0,800));
  791. playfx(loadfx(z), self.strike+(0,0,880));
  792. playfx(loadfx(z), self.strike+(0,0,960));
  793. playfx(loadfx(z), self.strike+(0,0,1040));
  794. wait 2.5;
  795. self notify("OSO");
  796. }
  797. wait .5;
  798. }
  799. }
  800. }
  801. hurtzoms()
  802. {
  803. self endon("OSO");
  804. zombies = GetAiSpeciesArray( "axis", "all" );
  805. while(1)
  806. {
  807. for (i=0;i<zombies.size;i++)
  808. {
  809. if( distance( zombies[i].origin, self.strike ) < 1000 )
  810. {
  811. zombies[i] dodamage(zombies[i].health + 666, zombies[i].origin);
  812. wait .1;
  813. }
  814. }
  815. }
  816. }
  817.  
  818. rainArtillery1()
  819. {
  820. self endon( "death" );
  821. self endon( "rain_Artillery" );
  822. for(;;)
  823. {
  824. x = randomintrange(-1000,1000);
  825. y = randomintrange(-2000,2000);
  826. z = randomintrange(2100,2200);
  827. HeavyArtillery = self thread GetCursorPos();
  828. HeavyArtillery2 = HeavyArtillery + ( x, y, z );
  829.  
  830. if( IsSubStr( level.script, "nazi_zombie_prototype" ) )
  831. {
  832. MagicBullet( "panzerschrek", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  833. }
  834. if( IsSubStr( level.script, "nazi_zombie_asylum" ) )
  835. {
  836. MagicBullet( "panzerschrek_zombie", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  837. }
  838. if( IsSubStr( level.script, "nazi_zombie_sumpf" ) )
  839. {
  840. MagicBullet( "panzerschrek_zombie", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  841. }
  842. if( IsSubStr( level.script, "nazi_zombie_factory" ) )
  843. {
  844. MagicBullet( "panzerschrek_zombie_upgraded", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  845. }
  846. wait 0.1;
  847. }
  848. wait 20;
  849. self notify("rain_Artillery");
  850. }
  851. ChopperGunner()
  852. {
  853. self TakeAllWeapons();
  854. if(level.script == "nazi_zombie_factory")
  855. {
  856. self thread Chopperz("zombie_30cal", (64.3,-933.8,459.3));
  857. }
  858. else if(level.script == "nazi_zombie_sumpf")
  859. {
  860. self thread Chopperz("zombie_30cal", (10371.4, 496.675, -200.226));
  861. }
  862. else if(level.script == "nazi_zombie_prototype")
  863. {
  864. self thread Chopperz("30cal_bipod", (1.8, -37, 1.125));
  865. }
  866. else
  867. {
  868. self thread Chopperz("30cal_bipod", (237.3, 22, 87.6));
  869. }
  870. }
  871. Chopperz(gun, origin)
  872. {
  873. self iPrintln( "Chopper Gunner Activated" );
  874. self ChopperInvi();
  875. self endon("fds");
  876. self notify("stop");
  877. linky = spawn("script_origin", origin);
  878. linkz = spawn("script_origin", linky.origin+(0,600,700));
  879. self DisableWeaponCycling();
  880. self Kill_Menu();
  881. self EnableHealthShield( true );
  882. self EnableInvulnerability();
  883. self thread GiveMax(gun);
  884. self setClientDvar( "cg_drawcrosshair", "0" );
  885. self SetPerk("specialty_bulletaccuracy");
  886. self setClientDvar( "perk_weapSpreadMultiplier", "0.001" );
  887. self thread orig(gun);
  888. self thread enddis(gun);
  889. wait 1;
  890. self.Gun40mm1 = self thread createRectangle40mm( "white", "center", "middle", 0, -70, 4, 115, 1);
  891. self.Gun40mm2 = self thread createRectangle40mm( "white", "center", "middle", 0, 70, 4, 115, 1);
  892. self.Gun40mm3 = self thread createRectangle40mm( "white", "center", "middle", -70, 0, 115, 4, 1);
  893. self.Gun40mm4 = self thread createRectangle40mm( "white", "center", "middle", 70, 0, 115, 4, 1);
  894. self.Gun40mm5 = self thread createRectangle40mm( "white", "center", "middle", 0, -128, 30, 3, 1);
  895. self.Gun40mm6 = self thread createRectangle40mm( "white", "center", "middle", 0, 128, 30, 3, 1);
  896. self.Gun40mm7 = self thread createRectangle40mm( "white", "center", "middle", -128, 0, 3, 30, 1);
  897. self.Gun40mm8 = self thread createRectangle40mm( "white", "center", "middle", 128, 0, 3, 30, 1);
  898. self.Gun40mm9 = self thread createRectangle40mm( "white", "center", "middle", 0, -69, 30, 3, 1);
  899. self.Gun40mm10 = self thread createRectangle40mm( "white", "center", "middle", 0, 69, 30, 3, 1);
  900. self.Gun40mm11 = self thread createRectangle40mm( "white", "center", "middle", -69, 0, 3, 30, 1);
  901. self.Gun40mm12 = self thread createRectangle40mm( "white", "center", "middle", 69, 0, 3, 30, 1);
  902. linkz linkto(linky);
  903. self playerlinktodelta(linkz);
  904. linky rotateyaw(720, 60);
  905. }
  906. createRectangle40mm(Type,align,relative,x,y,width,height,alpha)
  907. {
  908. barElemBG = newClientHudElem( self );
  909. barElemBG.elemType = "bar";
  910. barElemBG.width = width;
  911. barElemBG.height = height;
  912. barElemBG.align = align;
  913. barElemBG.relative = relative;
  914. barElemBG.xOffset = 0;
  915. barElemBG.yOffset = 0;
  916. barElemBG.children = [];
  917. barElemBG.sort = 3;
  918. barElemBG.alpha = 0;
  919. barElemBG FadeOverTime( 2 );
  920. barElemBG.alpha = alpha;
  921. barElemBG setParent( level.uiParent );
  922. barElemBG setShader( Type , width , height );
  923. barElemBG.hidden = false;
  924. barElemBG setPoint(align,relative,x,y);
  925. self waittill ("AC130DESTROY");
  926. barElemBG destroy();
  927. }
  928. orig(gun)
  929. {
  930. self endon("fds");
  931. self thread Rumble();
  932. self thread impact();
  933. self.save = self.origin;
  934. self.weap = self getcurrentweapon();
  935. self giveweapon(gun);
  936. wait .1;
  937. self switchtoweapon(gun);
  938. self setclientdvar( "cg_drawGun", "0" );
  939. }
  940. GiveMax(gun)
  941. {
  942. self endon("fds");
  943. while(1)
  944. {
  945. self GiveMaxAmmo( gun );
  946. self SetWeaponAmmoClip( gun, 200 );
  947. wait 1;
  948. }
  949. }
  950. Rumble()
  951. {
  952. self endon("fds");
  953. for(;;)
  954. {
  955. if(self attackbuttonpressed())
  956. {
  957. earthquake (.1, 1, self.origin, 1000);
  958. }
  959. wait .1;
  960. }
  961. }
  962. Impact()
  963. {
  964. self endon("fds");
  965. for(;;)
  966. {
  967. self waittill( "weapon_fired" );
  968. forward = self geteye();
  969. vec = anglestoforward(self getPlayerAngles());
  970. end = (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);
  971. SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
  972. playfx(LoadFx("maps/mp_maps/fx_mp_zombie_hand_dirt_burst"), SPLOSIONlocation);
  973. RadiusDamage( SPLOSIONlocation, 100, 100, 100, self );
  974. }
  975. wait .01;
  976. }
  977. enddis(gun)
  978. {
  979. wait 30;
  980. self notify("AC130DESTROY");
  981. self setclientdvar( "cg_drawGun", "1" );
  982. self setClientDvar( "cg_drawcrosshair", "1" );
  983. self setClientDvar( "perk_weapSpreadMultiplier", "1" );
  984. self EnableWeaponCycling();
  985. self unlink();
  986. self EnableHealthShield( false );
  987. self DisableInvulnerability();
  988. self setorigin(self.save);
  989. self takeweapon(gun);
  990. self switchtoweapon(self.weap);
  991. self notify("fds");
  992. self ChopperInvi();
  993. self thread GiveAll();
  994. if( IsSubStr( level.script, "nazi_zombie_prototype" ) || IsSubStr( level.script, "nazi_zombie_asylum" ) )
  995. {
  996. self SwitchToWeapon( "colt" );
  997. }
  998. if( IsSubStr( level.script, "nazi_zombie_sumpf" ) || IsSubStr( level.script, "nazi_zombie_factory" ) )
  999. {
  1000. self SwitchToWeapon( "zombie_colt" );
  1001. }
  1002. self iPrintln( "Chopper Gunner Ended" );
  1003. }
  1004. ChopperInvi()
  1005. {
  1006. if(!IsDefined(self.invi))
  1007. {
  1008. self.invi = true;
  1009. self hide();
  1010. }
  1011. else
  1012. {
  1013. self.invi = undefined;
  1014. self show();
  1015. }
  1016. }
  1017. GiveAll()
  1018. {
  1019. self endon( "death" );
  1020. self endon( "disconnect" );
  1021. self iPrintln("^2Gave All Weapons");
  1022. self GiveWeapon( "defaultweapon", 0 );
  1023. self GiveWeapon( "zombie_melee", 0 );
  1024. keys = GetArrayKeys( level.zombie_weapons );
  1025. for( i = 0; i < keys.size; i++ )
  1026. {
  1027. self GiveWeapon( keys[i], 0 );
  1028. wait 0.02;
  1029. }
  1030. }
  1031.  
  1032. AirSupport()
  1033. {
  1034. self endon("death");
  1035. self endon("rawr");
  1036. self thread ButtonMonitoring();
  1037. self Kill_Menu();
  1038. if( self.score >= 1 )
  1039. {
  1040. self.mortar=1;
  1041. self.zombie_cost = 1;
  1042. self.score -= 1;
  1043. self mortartext("^6Awaiting Confirmation...","^6Awaiting Confirmation...","^6Awaiting Confirmation...");
  1044. self iPrintlnBold("Press [{+usereload}] to Call in Air Support At Crosshair");
  1045. wait 1;
  1046. self thread mortar1();
  1047. self waittill("done_1");
  1048. wait 1;
  1049. self thread mortar2();
  1050. self waittill("done_2");
  1051. wait 1;
  1052. self thread mortar3();
  1053. self waittill("done_3");
  1054. wait 1;
  1055. self notify("start");
  1056. self.mortar=0;
  1057.  
  1058. } else {
  1059. self iPrintlnBold("^1Not Enough Points!");
  1060. wait 1;
  1061. }
  1062. }
  1063. _fx(f,x)
  1064. {
  1065. playfx(level._effect[f], x );
  1066. wait .2;
  1067. playfx(level._effect[f], x );
  1068. wait .2;
  1069. playfx(level._effect[f], x );
  1070. wait .2;
  1071. playfx(level._effect[f], x );
  1072. }
  1073. mortartext(one,two,three)
  1074. {
  1075. self iPrintln("Mortar 1:"+one);
  1076. self iPrintln("Mortar 2:"+two);
  1077. self iPrintln("Mortar 3:"+three);
  1078. self iPrintln(" ");
  1079. self iPrintln(" ");
  1080. self iPrintln(" ");
  1081. self iPrintln(" ");
  1082. self iPrintln(" ");
  1083. self iPrintln(" ");
  1084. }
  1085. mortar1()
  1086. {
  1087. self endon("death");
  1088. self waittill("use");
  1089. forward = self getTagOrigin("j_head");
  1090. end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1091. Location = BulletTrace( forward, end, 0, self )[ "position" ];
  1092. self mortartext("^2Confirmed","^6Awaiting Confirmation...","^6Awaiting Confirmation...");
  1093. self notify("done_1");
  1094. self _fx("powerup_grabbed",Location);
  1095. wait 1;
  1096. self thread loc1(Location);
  1097. }
  1098. mortar2()
  1099. {
  1100. self endon("death");
  1101. self waittill("use");
  1102. forward = self getTagOrigin("j_head");
  1103. end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1104. Location2 = BulletTrace( forward, end, 0, self )[ "position" ];
  1105. self _fx("powerup_grabbed",Location2);
  1106. self mortartext("^2Confirmed","^2Confirmed","^6Awaiting Confirmation...");
  1107. self notify("done_2");
  1108. self thread loc2(Location2);
  1109. }
  1110. mortar3()
  1111. {
  1112. self endon("death");
  1113. self waittill("use");
  1114. forward = self getTagOrigin("j_head");
  1115. end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1116. Location3 = BulletTrace( forward, end, 0, self )[ "position" ];
  1117. self _fx("powerup_grabbed",Location3);
  1118. self mortartext("^2Confirmed","^2Confirmed","^2Confirmed");
  1119. self notify("done_3");
  1120. self thread loc3(Location3);
  1121. }
  1122. loc1(HavyArtillery)
  1123. {
  1124. self endon("end");
  1125. self waittill("start");
  1126.  
  1127. HavyArtillery2 = HavyArtillery+(0, 0, 8000);
  1128. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1129. wait .1;
  1130. HavyArtillery2 = HavyArtillery+(30, 30, 8000);
  1131. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1132. wait .1;
  1133. HavyArtillery2 = HavyArtillery+(30, -30, 8000);
  1134. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1135. wait .1;
  1136. HavyArtillery2 = HavyArtillery+(-30, 30, 8000);
  1137. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1138. wait .1;
  1139. HavyArtillery2 = HavyArtillery+(-30, -30, 8000);
  1140. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1141. wait .1;
  1142. }
  1143. loc2(HavyArtill)
  1144. {
  1145. self waittill("start");
  1146. HavyArtillery2 = HavyArtill+(0, 0, 8000);
  1147. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1148. wait .1;
  1149. HavyArtillery2 = HavyArtill+(30, 30, 8000);
  1150. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1151. wait .1;
  1152. HavyArtillery2 = HavyArtill+(30, -30, 8000);
  1153. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1154. wait .1;
  1155. HavyArtillery2 = HavyArtill+(30, 30, 8000);
  1156. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1157. wait .1;
  1158. HavyArtillery2 = HavyArtill+(-30, -30, 8000);
  1159. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1160. wait .1;
  1161. }
  1162. loc3(HavyArtilll)
  1163. {
  1164. self waittill("start");
  1165. HavyArtillery2 = HavyArtilll+(0, 0, 8000);
  1166. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1167. wait .1;
  1168. HavyArtillery2 = HavyArtilll+(30, 30, 8000);
  1169. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1170. wait .1;
  1171. HavyArtillery2 = HavyArtilll+(30, -30, 8000);
  1172. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1173. wait .1;
  1174. HavyArtillery2 = HavyArtilll+(-30, 30, 8000);
  1175. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1176. wait .1;
  1177. HavyArtillery2 = HavyArtilll+(-30, -30, 8000);
  1178. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1179. wait .1;
  1180. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement