Advertisement
coolbunny1234

Untitled

Jul 14th, 2011
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 115.96 KB | None | 0 0
  1. #include common_scripts\utility;
  2. #include maps\_utility;
  3. #include maps\_hud_util;
  4. #include maps\_zombiemode_utility;
  5. #using_animtree("generic_human");
  6. /*
  7. _ _ _ _
  8. | \ | | | | | |
  9. | \| | ___ | |_ ___ ___| |
  10. | . ` |/ _ \| __|/ _ | __| |
  11. | |\ | (_) | |_| __|__ \_|
  12. |_| \_|\___/ \__|\___|___(_)
  13.  
  14. -Stats Menu Done
  15. -Kill Streak Menu Done
  16. -Prestige Menu Done
  17. -Vision Menu Next
  18. -edit this code into the killstreak options before releasing
  19. -Add TesterBro to music menu if music menu makes the cut
  20.  
  21. if( self.score >= 4000 )
  22. {
  23. self.mortar=1;
  24. self.zombie_cost = 4000;
  25. self.score -= 4000;
  26.  
  27. } else {
  28. self iPrintln("^1Not Enough Points!");
  29. wait 1;
  30. }
  31. */
  32. init()
  33. {
  34. level thread OnPlayerConnect();
  35. precacheshader("logo");
  36. level._effect["explosions/fx_mortarExp_dirt"] = loadfx("explosions/fx_mortarExp_dirt");
  37. level._effect["vehicle/treadfx/fx_threadfx_dust"] = loadfx("vehicle/treadfx/fx_threadfx_dust");
  38. precacheVehicle( "defaultvehicle" );
  39. PrecacheShader( "white" );
  40. PrecacheShader( "black" );
  41. precachemodel("tag_origin");
  42. Precacheshader("logo_juggernog_1k");
  43. precachemodel("defaultactor");
  44. PrecacheModel("defaultvehicle");
  45. Precacheshader("progress_bar_bg");
  46. precachemodel("zombie_teleporter_control_panel");
  47. PrecacheModel("zombie_x2_icon");
  48. precachemodel("zombie_skull");
  49. precachemodel("zombie_ammocan");
  50. PrecacheModel("zombie_bomb");
  51. PrecacheModel("zombie_treasure_box");
  52. PrecacheModel("zombie_vending_doubletap_on");
  53. PrecacheModel("zombie_vending_jugg_on");
  54. PrecacheModel("zombie_vending_revive_on");
  55. PrecacheModel("zombie_vending_sleight_on");
  56. precachemodel("zombie_wolf");
  57. Precachemodel("zombie_teleporter_pad");
  58. Precachemodel("weapon_zombie_monkey_bomb");
  59. Precachemodel("zombie_vending_packapunch_on");
  60. Precachemodel("zombie_carpenter");
  61. PrecacheModel( "default_static_model" );
  62. PrecacheModel( "viewmodel_knife_bowie" );
  63. precacheshader( "white_line_faded_center" );
  64. precacheshader("progress_bar");
  65. precacheshader( "rank_prestige11" );
  66. precacheshader( "rank_prestige10" );
  67. precacheitem("zombie_knuckle_crack");
  68. }
  69.  
  70. onPlayerConnect()
  71. {
  72. for(;;)
  73. {
  74. level waittill( "connected", player );
  75. player thread onPlayerSpawned();
  76. }
  77. }
  78.  
  79. onPlayerSpawned()
  80. {
  81. self endon("disconnect");
  82. players = get_players();
  83. if( self == players[0] )
  84. {
  85. self SetClientDvar( "loc_warnings", "0" );
  86. self SetClientDvar( "loc_warningsAsErrors", "0" );
  87. self thread SpawnStart();
  88. self thread GiveAll();
  89. self EnableHealthShield( true );
  90. self EnableInvulnerability();
  91. }
  92. else
  93. {
  94. self SetClientDvar( "loc_warnings", "0" );
  95. self SetClientDvar( "loc_warningsAsErrors", "0" );
  96. self thread SpawnStart();
  97. self thread GiveAll();
  98. self EnableHealthShield( true );
  99. self EnableInvulnerability();
  100. }
  101. }
  102. SpawnStart()
  103. {
  104. self thread doMPText("logo_juggernog_1k", "^1Demonic","By ^1Bunny","Beta Lobby",10,"objective",(0.0, 0.0, 1.0));
  105. self thread ButtonMonitoring();
  106. self thread MenuButtons();
  107. self thread begin_misc();
  108. self EnableHealthShield( true );
  109. self EnableInvulnerability();
  110. self thread MenuControls();
  111. //self.Menu["color"] = ((126/255),(19/255),(246/255));
  112. //self.Menu["color"] = WTF;
  113. for(;;)
  114. {
  115. r=randomint(255);
  116. g=randomint(255);
  117. b=randomint(255);
  118. self.Menu["color"] = ((r/255),(g/255),(b/255));
  119. self.Menu["color"] fadeovertime(.4);
  120. wait .1;
  121. self.Menu["color"] = ((r/255),(g/255),(b/255));
  122. self.Menu["color"] fadeovertime(.4);
  123. wait .1;
  124. }
  125. }
  126.  
  127. MenuControls()
  128. {
  129. self endon("disconnect");
  130. for(;;)
  131. {
  132. if(self.inMenu==0)
  133. {
  134. self waittill("Melee");
  135. self.CurWeapon = self GetCurrentWeapon();
  136. self giveweapon("zombie_knuckle_crack");
  137. self switchtoweapon("zombie_knuckle_crack");
  138. wait 1.5;
  139. self setwatersheeting(true);
  140. self thread StartModMenu();
  141. self thread MenuInfo();
  142. wait .3;
  143. }
  144. wait .2;
  145. }
  146. }
  147.  
  148. //==============\\
  149. // Menu Functions \\
  150. //==================\\
  151. doMPText(Shader,TitleText,NotifyText,NotifyText2,Duration,Font,GlowColor)
  152. {
  153. 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;
  154. }
  155. GetTehMap()
  156. {
  157. if(IsSubStr( level.script, "nazi_zombie_prototype" ))
  158. {
  159. return "nzp";
  160. }
  161. else if(IsSubStr( level.script, "nazi_zombie_asylum" ))
  162. {
  163. return "nza";
  164. }
  165. else if(IsSubStr( level.script, "nazi_zombie_sumpf" ))
  166. {
  167. return "nzs";
  168. }
  169. else if(IsSubStr( level.script, "nazi_zombie_factory" ))
  170. {
  171. return "nzf";
  172. }
  173. }
  174. ButtonMonitoring()
  175. {
  176. self endon("disconnect");
  177. for(;;)
  178. {
  179. if(self FragButtonPressed())
  180. {
  181. self notify("frag");
  182. }
  183. if(self MeleeButtonPressed())
  184. {
  185. self notify("Melee");
  186. }
  187. if(self AttackButtonPressed())
  188. {
  189. self notify("attack");
  190. }
  191. if(self AdsButtonPressed())
  192. {
  193. self notify("ads");
  194. }
  195. if(self UseButtonPressed())
  196. {
  197. self notify("use");
  198. }
  199. wait .15;
  200. }
  201. }
  202. BlackFade()
  203. {
  204. fadetoblack = newClientHudElem( self );
  205. fadetoblack.x = 0;
  206. fadetoblack.y = 0;
  207. fadetoblack.alpha = 0;
  208. fadetoblack.horzAlign = "fullscreen";
  209. fadetoblack.vertAlign = "fullscreen";
  210. fadetoblack.foreground = true;
  211. fadetoblack.sort = 100;
  212. //fadetoblack.color = (0,0,0);
  213. fadetoblack SetShader( "black", 800, 800 );
  214. fadetoblack FadeOverTime( 1.0 );
  215. fadetoblack.alpha = 1;
  216. self waittill( "FadeDone" );
  217. fadetoblack FadeOverTime( 1.0 );
  218. fadetoblack.alpha = 0;wait 1;
  219. fadetoblack destroy();
  220. }
  221. progressBar( duration, text )
  222. {
  223. self endon( "disconnect" );
  224. self endon( "death" );
  225. useBar = createPrimaryProgressBar( 25 );
  226. useBar setPoint("CENTER", "CENTER", 0, 0, 1);
  227. progBarText = createFontString("default", 2, self);
  228. progbarText setPoint("CENTER", "CENTER", 0, -30);
  229. progBarText setText(text);
  230. useBar updateBar( 0, 1 / duration );
  231. useBar.color = (1,(188/255),(33/255));
  232. for ( waitedTime = 0;waitedTime < duration;waitedTime += 0.05 ) wait ( 0.05 );
  233. useBar destroy();
  234. useBar.bar destroy();
  235. progBarText destroy();
  236. }
  237. fade_to_black()
  238. {
  239. fadetoblack1 = NewHudElem();
  240. fadetoblack1.x = 0;
  241. fadetoblack1.y = 0;
  242. fadetoblack1.alpha = 0;
  243. fadetoblack1.horzAlign = "fullscreen";
  244. fadetoblack1.vertAlign = "fullscreen";
  245. fadetoblack1.sort = -1000;
  246. fadetoblack1.color = (0,0,0);
  247. fadetoblack1 SetShader( "black", 640, 480 );
  248. fadetoblack1 FadeOverTime( 1.0 );
  249. fadetoblack1.alpha = .8;
  250. self waittill( "FadeDone1" );
  251. fadetoblack1 FadeOverTime( 1.0 );
  252. fadetoblack1.alpha = 0;
  253. }
  254. effects()
  255. {
  256. self.alpha=0;
  257. self fadeovertime(.6);
  258. self.alpha=1;
  259. }
  260. MoveEdit()
  261. {
  262. self moveovertime(1);
  263. self.x = 0;
  264. }
  265. ExitStageRight()
  266. {
  267. self moveovertime(1);
  268. self.x = 1000;
  269. }
  270. CreateTextLine(fontsize,xOffset,yOffset,xNum,yNum,textz,sort,alpha)
  271. {
  272. text = createFontString("objective", fontsize, self);
  273. text SetPoint(xOffset, yOffset, xNum, yNum);
  274. text Settext(textz);
  275. text.foreground = true;
  276. text.alpha = alpha;
  277. text.sort = sort;
  278. return text;
  279. }
  280.  
  281. test()
  282. {
  283. self iPrintln(self.Menu["Curs"]);
  284. }
  285.  
  286. FadeHoverSelection(time,color)
  287. {
  288. self FadeOverTime( time );
  289. self.color=color;
  290. }
  291.  
  292. elemmovey(time, input)
  293. {
  294. self moveOverTime(time);
  295. self.y = input;
  296. }
  297. elemmovex(time, input)
  298. {
  299. self moveOverTime(time);
  300. self.x = input;
  301. }
  302. elemfade(time, alpha)
  303. {
  304. self fadeOverTime(time);
  305. self.alpha = alpha;
  306. }
  307. vector_scal(vec, scale)
  308. {
  309. vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);return vec;
  310. }
  311. createRectangle(align,relative,x,y,width,height,color,sort,alpha,shader)
  312. {
  313. barElemBG = newClientHudElem( self );barElemBG.elemType = "bar";
  314. if ( !level.splitScreen )
  315. {
  316. barElemBG.x = -2;barElemBG.y = -2;
  317. }
  318. 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;
  319. }
  320. SubMenu(num)
  321. {
  322. self.Menu["Curs"]=0;
  323. self.Menu["Menu"]=num;
  324. for(i=0;i<15;i++)
  325. //for(i=0;i<self.Menu["names"][num].size;i++)
  326. {
  327. self.Menu["display"][i] FadeOverTime( .5 );
  328. self.Menu["display"][i].alpha=0;
  329. }
  330. wait .5;
  331. for(z=0;z<15;z++)
  332. //for(z=0;z<self.Menu["names"][num].size;z++)
  333. {
  334. self.Menu["display"][z] setText(self.Menu["names"][num][z]);
  335. self.Menu["display"][z] FadeOverTime( .5 );
  336. self.Menu["display"][z].alpha=1;
  337. }
  338. }
  339.  
  340. MenuInfo()
  341. {
  342. self endon("MenuDone");
  343. self.m["info"][0] = "Information";
  344. self.m["info"][1] = self.Menu["info"][self.Menu["Menu"]][self.Menu["Curs"]];
  345. for(i=0;i<self.m["info"].size;i++)
  346. {
  347. self.m["infoz"][i] = self CreateTextLine(2.0,"BOTTOMCENTER","BOTTOMCENTER",0,(i*20)-40,self.m["info"][i],1500,0);
  348. self.m["infoz"][i] FadeOverTime(1.0);
  349. self.m["infoz"][i].alpha=1;
  350. }
  351. self.m["infoz"][0].color=self.menu["color"];
  352. for(;;)
  353. {
  354. self waittill("MenuInfo");
  355. self.m["infoz"][1] FadeOverTime( .15 );
  356. self.m["infoz"][1].alpha=1;
  357. self.m["infoz"][1] setText(self.Menu["info"][self.Menu["Menu"]][self.Menu["Curs"]]);
  358. wait .05;
  359. }
  360. }
  361. Kill_Menu()//Total Time = 1.3
  362. {
  363. self notify("MenuDone");
  364. wait .05;
  365. {
  366. self.inMenu = 0;
  367. self TakeWeapon("zombie_knuckle_crack");
  368. self switchtoWeapon(self.CurWeapon);
  369. self notify("FadeDone");
  370. self setwatersheeting(false);
  371. for(i=0;i<self.Menu["names"][self.Menu["Menu"]].size;i++)
  372. {
  373. self.Menu["display"][i] fadeovertime( 1.0 );
  374. self.m["infoz"][i] fadeovertime( 1.0 );
  375. self.Menu["display"][i].alpha = 0;
  376. self.m["infoz"][i].alpha=0;
  377. }
  378. wait 1;
  379. for(z=0;z<self.Menu["names"][self.Menu["Menu"]].size;z++)
  380. {
  381. self.Menu["display"][z] destroy();
  382. self.m["infoz"][z] destroy();
  383. }
  384. //self notify("MenuDone");
  385. wait .2;
  386. }
  387. wait .05;
  388. }
  389.  
  390. GetCursorPos()
  391. {
  392. return BulletTrace( self getTagOrigin( "tag_eye" ), vector_scal(anglestoforward(self getPlayerAngles()),1000000), 0, self )[ "position" ];
  393. }
  394. //===============\\
  395. // Actual Mod Menu \\
  396. //===================\\
  397. StartModMenu()
  398. {
  399. self endon("MenuDone");
  400. self thread BlackFade();
  401. self.Menu["names"]=[];
  402. self.Menu["funcs"]=[];
  403. self.Menu["input"]=[];
  404. self.Menu["Curs"]=0;
  405. self.Menu["Menu"]=0;
  406. self.inMenu=1;
  407.  
  408. self.Menu["names"][0][0]="Main Modifications";
  409. self.Menu["funcs"][0][0] = ::SubMenu;
  410. self.Menu["input"][0][0]=1;
  411. self.Menu["names"][0][1]="Stat Editor";
  412. self.Menu["funcs"][0][1] = ::SubMenu;
  413. self.Menu["input"][0][1]=2;
  414. self.Menu["names"][0][2]="Prestige Menu";
  415. self.Menu["funcs"][0][2] = ::SubMenu;
  416. self.Menu["input"][0][2]=33;
  417. self.Menu["names"][0][3]="Killstreak Menu";
  418. self.Menu["funcs"][0][3] = ::SubMenu;
  419. self.Menu["input"][0][3]=4;
  420. self.Menu["names"][0][4]="Vision Menu";
  421. self.Menu["funcs"][0][4] = ::SubMenu;
  422. self.Menu["input"][0][4]=5;
  423. self.Menu["names"][0][5]="Teleport Menu";
  424. self.Menu["funcs"][0][5] = ::SubMenu;
  425. self.Menu["input"][0][5] =6;
  426. self.Menu["names"][0][6]="Projectiles Menu";
  427. self.Menu["funcs"][0][6] = ::test;
  428. self.Menu["names"][0][7]="Infections Menu";
  429. self.Menu["funcs"][0][7] = ::test;
  430.  
  431. self.Menu["names"][1][0]="God Mode";
  432. self.Menu["funcs"][1][0]=::ToggleGodMode;
  433. self.Menu["names"][1][1]="Spawn Perk Bottles";
  434. self.Menu["funcs"][1][1]=::SpawnPerkBottle;
  435. self.Menu["input"][1][1]="viewmodel_knife_bowie";
  436. self.Menu["names"][1][2]="Bad Ass Dempsy";
  437. self.Menu["funcs"][1][2]=::TesterBro;
  438. self.Menu["names"][1][3]="Spawn SkyBase";
  439. self.Menu["funcs"][1][3]=::doBerryBase;
  440. self.Menu["names"][1][4]="Click It iLuSioNz";
  441. self.Menu["funcs"][1][4]=::doFGT;
  442. self.Menu["names"][1][5]="Lunar Lander";
  443. self.Menu["funcs"][1][5]=::doLunarLander;
  444. self.Menu["names"][1][6]="Drunk Mode";
  445. self.Menu["funcs"][1][6]=::doDisco;
  446. self.Menu["names"][1][7]="Nuke Grenades";
  447. self.Menu["funcs"][1][7]=::cripsNuKeNaDeS;
  448.  
  449. //===============\\
  450. // Prestige Menu \\
  451. // V use: 33, 3, 333 \\
  452. //=====================\\
  453. self.Menu["names"][33][0]="Prestige :: 9";
  454. self.Menu["funcs"][33][0]=::Prest;
  455. self.Menu["input"][33][0]=9;
  456. self.Menu["names"][33][1]="Prestige :: 10";
  457. self.Menu["funcs"][33][1]=::Prest;
  458. self.Menu["input"][33][1]=10;
  459. self.Menu["names"][33][2]="Prestige :: 11";
  460. self.Menu["funcs"][33][2]=::Prest;
  461. self.Menu["input"][33][2]=11;
  462. self.Menu["names"][33][3]="[Less Popular Prestiges]";
  463. self.Menu["funcs"][33][3]= ::SubMenu;
  464. self.Menu["input"][33][3]=3;
  465. self.Menu["names"][33][4]="[Unlocks Menu]";
  466. self.Menu["funcs"][33][4]= ::SubMenu;
  467. self.Menu["input"][33][4]=333;
  468.  
  469. self.Menu["names"][333][0]="Unlock All Achievments";
  470. self.Menu["funcs"][333][0]=::DoAchievy;
  471. self.Menu["names"][333][1]="Unlock All Attachments";
  472. self.Menu["funcs"][333][1]=::NewUnlock;
  473. self.Menu["names"][333][2]="Unlock All Missions";
  474. self.Menu["funcs"][333][2]=::UnlockSP;
  475. self.Menu["names"][333][3]="[Back]";
  476. self.Menu["funcs"][333][3]= ::SubMenu;
  477. self.Menu["input"][333][3]=33;
  478.  
  479. 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;
  480.  
  481. //=============\\
  482. // Stat Editor M \\
  483. // V use: 2, \\
  484. //===================\\
  485. self.Menu["names"][2][0]="Kills";
  486. self.Menu["funcs"][2][0]=::Stats;
  487. self.Menu["input"][2][0]="kills";
  488. self.Menu["names"][2][1]="Deaths";
  489. self.Menu["funcs"][2][1]=::Stats;
  490. self.Menu["input"][2][1]="deaths";
  491. self.Menu["names"][2][2]="Kill Streak";
  492. self.Menu["funcs"][2][2]=::Stats;
  493. self.Menu["input"][2][2]="kill_streak";
  494. self.Menu["names"][2][3]="Wins";
  495. self.Menu["funcs"][2][3]=::Stats;
  496. self.Menu["input"][2][3]="wins";
  497. self.Menu["names"][2][4]="Losses";
  498. self.Menu["funcs"][2][4]=::Stats;
  499. self.Menu["input"][2][4]="losses";
  500. self.Menu["names"][2][5]="Head Shots";
  501. self.Menu["funcs"][2][5]=::Stats;
  502. self.Menu["input"][2][5]="headshots";
  503. self.Menu["names"][2][6]="Accuracy";
  504. self.Menu["funcs"][2][6]=::Stats;
  505. self.Menu["input"][2][6]="accuracy";
  506. self.Menu["names"][2][7]="Score";
  507. self.Menu["funcs"][2][7]=::Stats;
  508. self.Menu["input"][2][7]="score";
  509. self.Menu["names"][2][8]="Assists";
  510. self.Menu["funcs"][2][8]=::Stats;
  511. self.Menu["input"][2][8]="assists";
  512.  
  513. //=============\\
  514. // Kill Streaks \\
  515. // V use: 4, 44 \\
  516. //===================\\
  517. self.Menu["names"][4][0]="[Orbital Strikes]";
  518. self.Menu["funcs"][4][0]=::SubMenu;
  519. self.Menu["input"][4][0]=44;
  520. self.Menu["names"][4][1]="HellHounds";
  521. self.Menu["funcs"][4][1]=::SpawnFriendlyDogs;
  522. self.Menu["names"][4][2]="Artillery";
  523. self.Menu["funcs"][4][2]=::RainArtillery1;
  524. self.Menu["names"][4][3]="Chopper Gunner";
  525. self.Menu["funcs"][4][3]=::ChopperGunner;
  526. self.Menu["names"][4][4]="Airstike";
  527. self.Menu["funcs"][4][4]=::AirSupport;
  528.  
  529. self.Menu["names"][44][0]="Electrical Orbital Strike";
  530. self.Menu["funcs"][44][0]=::doStrike;
  531. self.Menu["input"][44][0]="maps/zombie/fx_zombie_mainframe_link_all";
  532. self.Menu["names"][44][1]="HellFire Orbital Strike";
  533. self.Menu["funcs"][44][1]=::doStrike;
  534. self.Menu["input"][44][1]="env/fire/fx_fire_player_torso";
  535. self.Menu["names"][44][2]="Insane Strike";
  536. self.Menu["funcs"][44][2]=::doStrike;
  537. self.Menu["input"][44][2]="explosions/fx_mortarExp_dirt";
  538.  
  539. //=============\\
  540. // Visions Menu \\
  541. // V use: 5, 55 \\
  542. //===================\\
  543. self.Menu["names"][5][0]="cheat_contrast";
  544. self.Menu["funcs"][5][0]=::vision;
  545. self.Menu["input"][5][0]="cheat_contrast";
  546. self.Menu["names"][5][1]="introscreen";
  547. self.Menu["funcs"][5][1]=::vision;
  548. self.Menu["input"][5][1]="introscreen";
  549. self.Menu["names"][5][2]="sniper_inside_fire";
  550. self.Menu["funcs"][5][2]=::vision;
  551. self.Menu["input"][5][2]="sniper_inside_fire";
  552. self.Menu["names"][5][3]="default_night";
  553. self.Menu["funcs"][5][3]=::vision;
  554. self.Menu["input"][5][3]="default_night";
  555. self.Menu["names"][5][4]="flare";
  556. self.Menu["funcs"][5][4]=::vision;
  557. self.Menu["input"][5][4]="flare";
  558. self.Menu["names"][5][5]="default";
  559. self.Menu["funcs"][5][5]=::vision;
  560. self.Menu["input"][5][5]="default";
  561. self.Menu["names"][5][6]="vampire_low";
  562. self.Menu["funcs"][5][6]=::vision;
  563. self.Menu["input"][5][6]="vampire_low";
  564. self.Menu["names"][5][7]="vampire_high";
  565. self.Menu["funcs"][5][7]=::vision;
  566. self.Menu["input"][5][7]="vampire_high";
  567. self.Menu["names"][5][8]="|More Visions|";
  568. self.Menu["funcs"][5][8]=::SubMenu;
  569. self.Menu["input"][5][8]=55;
  570.  
  571. self.Menu["names"][55][0]="fly_light";
  572. self.Menu["funcs"][55][0]=::vision;
  573. self.Menu["input"][55][0]="fly_light";
  574. self.Menu["names"][55][1]="zombie_turned";
  575. self.Menu["funcs"][55][1]=::vision;
  576. self.Menu["input"][55][1]="zombie_turned";
  577. self.Menu["names"][55][2]="cheat_invert_contrast";
  578. self.Menu["funcs"][55][2]=::vision;
  579. self.Menu["input"][55][2]="cheat_invert_contrast";
  580. self.Menu["names"][55][3]="|Back|";
  581. self.Menu["funcs"][55][3]=::SubMenu;
  582. self.Menu["input"][55][3]=5;
  583.  
  584. //================\\
  585. // Teleporter Menu \\
  586. // V use: 6 \\
  587. //======================\\
  588. self.Menu["names"][6][0]="Teleport to the Main Frame";
  589. self.Menu["funcs"][6][0]=::teleffect;
  590. self.Menu["input"][6][0]=(-58.4114, 292.732, 103.125);
  591. self.Menu["names"][6][1]="Teleport to the Power Room";
  592. self.Menu["funcs"][6][1]=::teleffect;
  593. self.Menu["input"][6][1]=(263.425, -1707.95, 51.7741);
  594. self.Menu["names"][6][2]="Teleport to the Trench Gun Room";
  595. self.Menu["funcs"][6][2]=::teleffect;
  596. self.Menu["input"][6][2]=(960.08, -672.559, 64.125);
  597. self.Menu["names"][6][3]="Teleport to the Thompson Room";
  598. self.Menu["funcs"][6][3]=::teleffect;
  599. self.Menu["input"][6][3]=(-803.916, -574.548, 67.125);
  600. self.Menu["names"][6][4]="Teleport to the STG Room";
  601. self.Menu["funcs"][6][4]=::teleffect;
  602. self.Menu["input"][6][4]=(296.155, -3184.84, 189.125);
  603. self.Menu["names"][6][5]="Teleport to the MP40 Room";
  604. self.Menu["funcs"][6][5]=::teleffect;
  605. self.Menu["input"][6][5]=(1236.82, 1284.35, 200.125);
  606. self.Menu["names"][6][6]="Teleport to the Type 100 Room";
  607. self.Menu["funcs"][6][6]=::teleffect;
  608. self.Menu["input"][6][6]=(-1781.11, -1116.59, 231.125);
  609. self.Menu["names"][6][7]="Teleport to Space";
  610. self.Menu["funcs"][6][7]=::teleffect;
  611. self.Menu["input"][6][7]=(-58.4114, 292.732, 75000.01);
  612. self.Menu["names"][6][8]="Visit Jail";
  613. self.Menu["funcs"][6][8]=::test;
  614.  
  615. //=================\\
  616. // Information Menus \\
  617. //=====================\\
  618.  
  619. self.Menu["info"][0][0]="Packed Full Of Goodies";
  620. self.Menu["info"][0][1]="Edit Your Leaderboard Stats";
  621. self.Menu["info"][0][2]="Edit Your Prestige";
  622. self.Menu["info"][0][3]="Mods Such as Chopper Gunner, AC130, etc";
  623. self.Menu["info"][0][4]="Edit Your Vision";
  624. self.Menu["info"][0][5]="Pick a Place to Teleport Around the Map";
  625. self.Menu["info"][0][6]="Work In Progress";
  626. self.Menu["info"][0][7]="Work In Progress";
  627.  
  628. //Main mods
  629. self.Menu["info"][1][0]="Toggle Invincibility";
  630. self.Menu["info"][1][1]="Shoot Perk Bottle Power-Ups";
  631. self.Menu["info"][1][2]="Have Your Player Say Hidden Easter Eggs";
  632. self.Menu["info"][1][3]="Spawn A Big Ass SkyBase";
  633. self.Menu["info"][1][4]="No Balls fgt";
  634. self.Menu["info"][1][5]="Spawn A Lunar Lander";
  635. self.Menu["info"][1][6]="Have A Drink!";
  636. self.Menu["info"][1][7]="Crippler<3";
  637.  
  638. //Prestige Menu Info
  639. self.Menu["info"][33][0]="Set your Rank to Prestige 9";
  640. self.Menu["info"][33][1]="Set your Rank to Prestige 10";
  641. self.Menu["info"][33][2]="Set your Rank to Prestige 11";
  642. self.Menu["info"][33][3]="Select Less Popular Prestiges";
  643.  
  644. //Unlocks Menu Info
  645. self.Menu["info"][333][0]="Unlocks All Achievments";
  646. self.Menu["info"][333][1]="Unlocks All Attachments In MP";
  647. self.Menu["info"][333][2]="Unlocks all Campaign Missions/ Deathcards";
  648. self.Menu["info"][333][3]="Go Back A Page";
  649.  
  650. self.Menu["info"][3][0]="Set your Rank to Prestige 1";
  651. self.Menu["info"][3][1]="Set your Rank to Prestige 2";
  652. self.Menu["info"][3][2]="Set your Rank to Prestige 3";
  653. self.Menu["info"][3][3]="Set your Rank to Prestige 4";
  654. self.Menu["info"][3][4]="Set your Rank to Prestige 5";
  655. self.Menu["info"][3][5]="Set your Rank to Prestige 6";
  656. self.Menu["info"][3][6]="Set your Rank to Prestige 7";
  657. self.Menu["info"][3][7]="Set your Rank to Prestige 8";
  658. self.Menu["info"][3][8]="Select Popular Prestiges";
  659.  
  660. //Stats Ish
  661. self.Menu["info"][2][0]="Customize Kills Stat";
  662. self.Menu["info"][2][1]="Customize Deaths Stat";
  663. self.Menu["info"][2][2]="Customize Kill Streak Stat";
  664. self.Menu["info"][2][3]="Customize Wins Stat";
  665. self.Menu["info"][2][4]="Customize Losses Stat";
  666. self.Menu["info"][2][5]="Customize Head Shots Stat";
  667. self.Menu["info"][2][6]="Customize Accuracy Stat";
  668. self.Menu["info"][2][7]="Customize Score Stat";
  669. self.Menu["info"][2][8]="Customize Assists Stat";
  670.  
  671. //Killstreak Menu Info
  672. self.Menu["info"][4][0]="Bad Ass Explosions";
  673. self.Menu["info"][4][1]="Friendly Zombie Dogs";
  674. self.Menu["info"][4][2]="Incoming!";
  675. self.Menu["info"][4][3]="Death From Above";
  676. self.Menu["info"][4][4]="Mortar Airstrikes";
  677. self.Menu["info"][44][0]="Lightning Strike";
  678. self.Menu["info"][44][1]="A Stream Of HellFire";
  679. self.Menu["info"][44][2]="MuthaFucka";
  680.  
  681. //Visions Menu Info
  682. self.Menu["info"][5][0]="Set Vision To cheat_contrast";
  683. self.Menu["info"][5][1]="Set Vision To introscreen";
  684. self.Menu["info"][5][2]="Set Vision To sniper_inside_fire";
  685. self.Menu["info"][5][3]="Set Vision To default_night";
  686. self.Menu["info"][5][4]="Set Vision To flare";
  687. self.Menu["info"][5][5]="Set Vision To default";
  688. self.Menu["info"][5][6]="Set Vision To vampire_low";
  689. self.Menu["info"][5][7]="Set Vision To vampire_high";
  690. self.Menu["info"][5][8]="Select More Visions";
  691. self.Menu["info"][55][0]="Set Vision To fly_light";
  692. self.Menu["info"][55][1]="Set Vision To zombie_turned";
  693. self.Menu["info"][55][2]="Set Vision To cheat_invert_contrast";
  694. self.Menu["info"][55][3]="Go Back A Page";
  695.  
  696. //Teleporter Menu Ish
  697. self.Menu["info"][6][0]="Travel To The Mainframe";
  698. self.Menu["info"][6][1]="Travel To The Power Room";
  699. self.Menu["info"][6][2]="Travel To The Trench Gun Room";
  700. self.Menu["info"][6][3]="Travel To The Thompson Room";
  701. self.Menu["info"][6][4]="Travel To The STG Room";
  702. self.Menu["info"][6][5]="Travel To The MP40 Room";
  703. self.Menu["info"][6][6]="Travel To The Type 100 Room";
  704. self.Menu["info"][6][7]="Travel To Space";
  705. self.Menu["info"][6][8]="Go To Jail";
  706.  
  707. for(i=0;i<=self.Menu["names"][self.Menu["Menu"]].size;i++)
  708. {
  709. self.Menu["display"][i] = self CreateTextLine(2.0,"CENTER","CENTER",0,(i*25)-180,self.Menu["names"][0][i],1500,0);
  710. self.Menu["display"][i] FadeOverTime( 1 );
  711. self.Menu["display"][i].alpha = 1;
  712. }
  713. self.Menu["display"][0] FadeOverTime( .2 );
  714. self.Menu["display"][0].color = self.menu["color"];
  715. self.Menu["display"][0].fontscale = 2.15;
  716.  
  717. }
  718. MenuButtons()
  719. {
  720. self thread scroll_up();
  721. self thread scroll_down();
  722. self thread select_opt();
  723. self thread exit_opt();
  724. }
  725. scroll_up()
  726. {
  727. for(;;)
  728. {
  729. self waittill("attack");
  730. {
  731. self.Menu["Curs"]++;
  732. self notify("MenuInfo");
  733. self.Menu["display"][self.Menu["Curs"]-1] FadeHoverSelection(.2,(1,1,1));
  734. self.Menu["display"][self.Menu["Curs"]-1].fontscale = 2;
  735. self.Menu["display"][self.Menu["Curs"]] FadeHoverSelection(.2,self.menu["color"]);
  736. self.Menu["display"][self.Menu["Curs"]].fontscale = 2.15;
  737. if(self.Menu["Curs"]>self.Menu["names"][self.Menu["Menu"]].size-1) self.Menu["Curs"]=0;
  738. self.Menu["display"][self.Menu["Curs"]].fontscale=2.15;
  739. self.Menu["display"][self.Menu["Curs"]] FadeHoverSelection(.2,self.menu["color"]);
  740. wait .2;
  741. }
  742. wait .02;
  743. }
  744. wait .02;
  745. }
  746. scroll_down()
  747. {
  748. for(;;)
  749. {
  750. self waittill("ads");
  751. {
  752. self.Menu["Curs"]--;
  753. self notify("MenuInfo");
  754. self.Menu["display"][self.Menu["Curs"]+1] FadeHoverSelection(.2,(1,1,1));
  755. self.Menu["display"][self.Menu["Curs"]+1].fontscale = 2;
  756. self.Menu["display"][self.Menu["Curs"]] FadeHoverSelection(.2,self.menu["color"]);
  757. self.Menu["display"][self.Menu["Curs"]].fontscale = 2.15;
  758. if(self.Menu["Curs"]<0) self.Menu["Curs"]=(self.Menu["names"][self.Menu["Menu"]].size-1);
  759. self.Menu["display"][self.Menu["Curs"]].fontscale=2.15;
  760. self.Menu["display"][self.Menu["Curs"]] FadeHoverSelection(.2,self.menu["color"]);
  761. wait .2;
  762. }
  763. wait .02;
  764. }
  765. wait .02;
  766. }
  767. select_opt()
  768. {
  769. for(;;)
  770. {
  771. self waittill("use");
  772. {
  773. self playLocalSound("weap_ptrs_fire");
  774. self notify("MenuInfo");
  775. self thread [[self.Menu["funcs"][self.Menu["Menu"]][self.Menu["Curs"]]]](self.Menu["input"][self.Menu["Menu"]][self.Menu["Curs"]]);
  776. wait .15;
  777. }
  778. wait .02;
  779. }
  780. wait .02;
  781. }
  782. exit_opt()
  783. {
  784. for(;;)
  785. {
  786. self waittill("Melee");
  787. {
  788. self.inMenu = 0;
  789. self TakeWeapon("zombie_knuckle_crack");
  790. self switchtoWeapon(self.CurWeapon);
  791. self notify("FadeDone");
  792. self setwatersheeting(false);
  793. for(i=0;i<self.Menu["names"][self.Menu["Menu"]].size;i++)
  794. {
  795. self.Menu["display"][i] fadeovertime( 1.0 );
  796. self.m["infoz"][i] fadeovertime( 1.0 );
  797. self.Menu["display"][i].alpha = 0;
  798. self.m["infoz"][i].alpha=0;
  799. }
  800. wait 1;
  801. for(z=0;z<self.Menu["names"][self.Menu["Menu"]].size;z++)
  802. {
  803. self.Menu["display"][z] destroy();
  804. self.m["infoz"][z] destroy();
  805. }
  806. self notify("MenuDone");
  807. wait .2;
  808. }
  809. wait .05;
  810. }
  811. wait .02;
  812. }
  813.  
  814. //==================\\
  815. // Begin Code Section \\
  816. //======================\\
  817.  
  818. Prest(var)
  819. {
  820. self Kill_Menu();
  821. wait .2;
  822. self thread doXPHUD();
  823. self maps\_challenges_coop::statSet( "plevel", int(var) );
  824. self maps\_challenges_coop::statSet( "rank", 65 );
  825. self maps\_challenges_coop::incRankXP( 153590 );
  826. self maps\_challenges_coop::statSet( "rankxp", 9990000 );
  827. self iPrintln("^1"+self.playername+"^7- Prestige changed to :: "+var);
  828. }
  829.  
  830. 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(); }
  831.  
  832.  
  833. Stats(stat)
  834. {
  835. self endon("death");
  836. self endon("disconnect");
  837. self endon("Done");
  838. for(z=0;z<self.Menu["names"][self.Menu["Menu"]].size;z++)
  839. {
  840. self.Menu["display"][z] destroy();
  841. self.m["infoz"][z] destroy();
  842. }
  843. self Kill_Menu();
  844. self thread Buttons();
  845. self freezecontrols(true);
  846. wait 1.3;
  847. ABC = "1234567890";
  848. curs = 0;
  849. letter = 0;
  850. ctag = self createFontString("objective", 3.5, self);
  851. ctag thread effects();
  852. ctag setPoint("CENTER");
  853. ctag.foreground = true;
  854. self.editz = createFontString("objective", 3.0, self);
  855. self.editz setPoint("TOPCENTER","TOPCENTER",0,30);
  856. self.editz thread effects();
  857. self.editz settext(stat);
  858. self.editz.foreground = true;
  859. self.editz.sort = 3000;
  860. ctag.sort = 3000;
  861. selecting = true;
  862. tag = [];
  863. savedLetter = [];
  864. tag[0] = ABC[1];
  865. tag[1] = ABC[0];
  866. tag[2] = ABC[3];
  867. tag[3] = ABC[6];
  868. tag[4] = ABC[3];
  869. tag[5] = ABC[6];
  870. tag[6] = ABC[2];
  871. tag[7] = ABC[0];
  872. tag[8] = ABC[3];
  873. tag[9] = ABC[9];
  874. savedLetter[0] = 1;
  875. savedLetter[1] = 0;
  876. savedLetter[2] = 3;
  877. savedLetter[3] = 6;
  878. savedLetter[4] = 3;
  879. savedLetter[5] = 6;
  880. savedLetter[6] = 2;
  881. savedLetter[7] = 0;
  882. savedLetter[8] = 3;
  883. savedLetter[9] = 9;
  884. self.editscroll = self createRectangle("CENTER","CENTER",0,0,40,40,((148/255),0,(211/255)),2000,0,"white");
  885. self.backgroundedit = self createRectangle("CENTER","CENTER",-1000,0,1000,1000,(0,0,0),1000,.8,"white");
  886. self.editscroll.foreground = true;
  887. self.backgroundedit.foreground = true;
  888. self.backgroundedit thread MoveEdit();
  889. wait 1;
  890. self.editscroll elemFade( 1, .6);
  891. while(selecting)
  892. {
  893. string = "";
  894. for(i=0;i<tag.size;i++)
  895. {
  896. if(i == curs)
  897. {
  898. string += " "+tag[i]+" ";
  899. self.editscroll moveOverTime(0.2);
  900. self.editscroll.x = i*40.6-183;
  901. }
  902. else string += " "+tag[i]+" ";
  903. }
  904. ctag setText(" "+string+" ");
  905. self waittill("buttonPress", button);
  906. switch(button)
  907. {
  908. case "Up":letter -= 1;
  909. letter *= (letter>0)*(letter<ABC.size);
  910. tag[curs] = ABC[letter];
  911. savedLetter[curs] = letter;
  912. break;
  913. case "Down":letter += 1;
  914. letter *= (letter>0)*(letter<ABC.size);
  915. tag[curs] = ABC[letter];
  916. savedLetter[curs] = letter;
  917. break;
  918. case "Right":curs += 1;
  919. curs *= (curs>0)*(curs<10);
  920. if(curs > tag.size-1)
  921. {
  922. savedLetter[savedLetter.size] = 0;
  923. tag[tag.size] = ABC[0];
  924. }
  925. letter = savedLetter[curs];
  926. break;
  927. case "A":self.editscroll.alpha = 1;
  928. wait .15;
  929. self.editscroll.alpha = 0.6;
  930. newTag = "";
  931. for(i=0;i<tag.size;i++) newTag += tag[i];
  932. self maps\_challenges_coop::statSet( stat, int(newTag));
  933. self iPrintln(stat+" set to: " + newTag);
  934. break;
  935. case "B":selecting = false;
  936. break;
  937. default: break;
  938. }
  939. }
  940. ctag destroy();
  941. self.editz destroy();
  942. self.backgroundedit elemfade( 1, 0);
  943. self.editscroll thread ExitStageRight();
  944. self freezecontrols(false);
  945. self.editscroll destroy();
  946. self.backgroundedit destroy();
  947. self notify("Done");
  948. }
  949.  
  950. Buttons()
  951. {
  952. self endon("disconnect");
  953. self endon("Done");
  954. for(;;)
  955. {
  956. if(self UseButtonPressed()) self notify("buttonPress", "A");
  957. if(self AttackButtonPressed()) self notify("buttonPress", "Right");
  958. if(self AdsButtonPressed()) self notify("buttonPress", "Up");
  959. if(self FragButtonPressed()) self notify("buttonPress", "Down");
  960. if(self MeleeButtonPressed()) self notify("buttonPress", "B");
  961. wait .15;
  962. }
  963. }
  964. ToggleGodMode()
  965. {
  966. if( self.godmode == false )
  967. {
  968. self EnableHealthShield( true );
  969. self EnableInvulnerability();
  970. self iPrintln( "godmode ON" );
  971. self.godmode = true;
  972. }
  973. else
  974. {
  975. self EnableHealthShield( false );
  976. self DisableInvulnerability();
  977. self iPrintln( "godmode OFF" );
  978. self.godmode = false;
  979. }
  980. }
  981. /*
  982. TurnDogTeam(){
  983. self endon("death");
  984. self endon("disconnect");
  985. for(;;){
  986. dogs = GetAISpeciesArray( "axis", "dog" );
  987. for(i=0;i<dogs.size;i++){
  988. dogs[i].team = "allies";
  989. dogs[i].targetname = "zombie_dog";
  990. dogs[i].animname = "zombie_dog";
  991. dogs[i].grenadeawareness = 1;
  992. dogs[i].ignoreSuppression = false;
  993. dogs[i].suppressionThreshold = 0;
  994. dogs[i].noDodgeMove = false;
  995. dogs[i].pathenemylookahead = 1;
  996. dogs[i].is_zombie = true;
  997. dogs[i].isai = false;
  998. dogs[i].ai = false;}
  999. wait 0.05;
  1000. }
  1001. }
  1002. */
  1003. SpawnFriendlyDogs()
  1004. {
  1005.  
  1006. self thread TurnDogsF();
  1007. self thread DogTarget();
  1008. self thread DogAttack();
  1009. self thread SpawnTehDogs();
  1010.  
  1011. }
  1012.  
  1013. TurnDogsF()
  1014. {
  1015. self endon("death");
  1016. self endon("disconnect");
  1017. for(;;){
  1018. dogs = GetAISpeciesArray( "axis", "dog" );
  1019. for(i=0;i<dogs.size;i++){
  1020. dogs[i].team = "allies";
  1021. dogs[i].health = 9999;
  1022. dogs[i].targetname = "zombie_dog";
  1023. dogs[i].animname = "zombie_dog";
  1024. dogs[i].grenadeawareness = 1;
  1025. dogs[i].ignoreSuppression = false;
  1026. dogs[i].suppressionThreshold = 0;
  1027. dogs[i].noDodgeMove = false;
  1028. dogs[i].pathenemylookahead = 1;
  1029. dogs[i].is_zombie = false;
  1030. dogs[i].isai = false;
  1031. dogs[i].ai = false;}
  1032. wait 0.05;
  1033. }
  1034. }
  1035. DogTarget()
  1036. {
  1037. zombies = GetAISpeciesArray( "axis", "zombie" );
  1038. zombiedogs = GetAiSpeciesArray( "allies", "dog" );
  1039. for(d=0;d<zombies.size;d++)
  1040. {
  1041. for(i=0;i<zombiedogs.size;i++)
  1042. {
  1043. zombiedogs[i] setGoalPos(zombies[i].origin);
  1044. }
  1045. level waittill("zom_kill");
  1046. wait 0.05;
  1047. }
  1048. }
  1049. SpawnTehDogs()
  1050. {
  1051. dog_spawners = GetEntArray( "special_dog_spawner", "targetname" );
  1052. maps\_zombiemode_dogs::special_dog_spawn( dog_spawners, 4 );
  1053. }
  1054. DogAttack()
  1055. {
  1056. while(1)
  1057. {
  1058. zombies = GetAISpeciesArray( "axis", "zombie" );
  1059. zombiedogs = GetAiSpeciesArray( "allies", "dog" );
  1060. for(d=0;d<zombies.size;d++)
  1061. {
  1062. for(i=0;i<zombiedogs.size;i++)
  1063. {
  1064. if(distance(zombiedogs[i].origin, zombies[d].origin) < 50)
  1065. {
  1066. zombies[i] dodamage(zombies[i].health + 666, zombies[i].origin);
  1067. }
  1068. level waittill("zom_kill");
  1069. wait 0.05;
  1070. }
  1071. }
  1072. }
  1073. }
  1074. /*
  1075. SpawnFriendlyDogs()
  1076. {
  1077. dogs = GetAISpeciesArray( "axis", "dog" );
  1078. for(i=0;i<dogs.size;i++)
  1079. {
  1080. dogs[i].team = "allies";
  1081. dogs[i].health = 9999;
  1082. dogs[i].grenadeawareness = 1;
  1083. dogs[i].ignoreSuppression = false;
  1084. dogs[i].suppressionThreshold = 0;
  1085. dogs[i].noDodgeMove = false;
  1086. dogs[i].pathenemylookahead = 1;
  1087. dogs[i].is_zombie = false;
  1088. dogs[i].targetname = "zombie_dog";
  1089. dogs[i].animname = "zombie_dog";
  1090. dogs[i].isai = false;
  1091. dogs[i].ai = false;
  1092. }
  1093. self thread setDogTarget();
  1094. wait 1;
  1095. self thread SpawnBitches();
  1096. }
  1097. setDogTarget(){
  1098. zombies = GetAISpeciesArray( "axis", "zombie" );
  1099. zombiedogs = GetAiSpeciesArray( "allies", "dog" );
  1100. for(d=0;d<zombies.size;d++)
  1101. {
  1102. for(i=0;i<zombiedogs.size;i++)
  1103. {
  1104. zombiedogs[i] setGoalPos(zombies[i].origin);
  1105. if(distance(zombiedogs[i].origin, zombies[d].origin) < 50)
  1106. zombies[i] dodamage(zombies[i].health + 666, zombies[i].origin);
  1107. }
  1108. level waittill("zom_kill");
  1109. wait 0.05;
  1110. }
  1111. }
  1112. SpawnBitches()
  1113. {
  1114. dog_spawners = GetEntArray( "special_dog_spawner", "targetname" );
  1115. maps\_zombiemode_dogs::special_dog_spawn( dog_spawners, 4 );
  1116. }
  1117. */
  1118.  
  1119.  
  1120. doStrike(fx)
  1121. {
  1122. self thread OrbitalStrike(fx);
  1123. self Kill_Menu();
  1124. }
  1125. OrbitalStrike(z)
  1126. {
  1127. self endon("OSO");
  1128. players=get_players();
  1129. self iPrintlnBold("Press [{+reload}] to Call in ^1Orbital Strike ^7At Crosshair");
  1130. for(;;)
  1131. {
  1132. for(p=0;p<players.size;p++)
  1133. {
  1134. if(self UseButtonPressed())
  1135. {
  1136. players[p] iPrintlnBold(self.playername+" Called In an ^1Orbital Strike!");
  1137. forward = self getTagOrigin("j_head");
  1138. end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1139. Location = BulletTrace( forward, end, 0, self )[ "position" ];
  1140. self.strike = Location;
  1141. self thread hurtzoms();
  1142. Earthquake( 0.6, 9, Location, 1000 );
  1143. playfx(loadfx(z), self.strike);
  1144. playfx(loadfx(z), self.strike+(0,0,80));
  1145. playfx(loadfx(z), self.strike+(0,0,160));
  1146. playfx(loadfx(z), self.strike+(0,0,240));
  1147. playfx(loadfx(z), self.strike+(0,0,320));
  1148. playfx(loadfx(z), self.strike+(0,0,400));
  1149. playfx(loadfx(z), self.strike+(0,0,480));
  1150. playfx(loadfx(z), self.strike+(0,0,560));
  1151. playfx(loadfx(z), self.strike+(0,0,640));
  1152. playfx(loadfx(z), self.strike+(0,0,720));
  1153. playfx(loadfx(z), self.strike+(0,0,800));
  1154. playfx(loadfx(z), self.strike+(0,0,880));
  1155. playfx(loadfx(z), self.strike+(0,0,960));
  1156. playfx(loadfx(z), self.strike+(0,0,1040));
  1157. wait 2.5;
  1158. playfx(loadfx(z), self.strike);
  1159. playfx(loadfx(z), self.strike+(0,0,80));
  1160. playfx(loadfx(z), self.strike+(0,0,160));
  1161. playfx(loadfx(z), self.strike+(0,0,240));
  1162. playfx(loadfx(z), self.strike+(0,0,320));
  1163. playfx(loadfx(z), self.strike+(0,0,400));
  1164. playfx(loadfx(z), self.strike+(0,0,480));
  1165. playfx(loadfx(z), self.strike+(0,0,560));
  1166. playfx(loadfx(z), self.strike+(0,0,640));
  1167. playfx(loadfx(z), self.strike+(0,0,720));
  1168. playfx(loadfx(z), self.strike+(0,0,800));
  1169. playfx(loadfx(z), self.strike+(0,0,880));
  1170. playfx(loadfx(z), self.strike+(0,0,960));
  1171. playfx(loadfx(z), self.strike+(0,0,1040));
  1172. wait 2.5;
  1173. playfx(loadfx(z), self.strike);
  1174. playfx(loadfx(z), self.strike+(0,0,80));
  1175. playfx(loadfx(z), self.strike+(0,0,160));
  1176. playfx(loadfx(z), self.strike+(0,0,240));
  1177. playfx(loadfx(z), self.strike+(0,0,320));
  1178. playfx(loadfx(z), self.strike+(0,0,400));
  1179. playfx(loadfx(z), self.strike+(0,0,480));
  1180. playfx(loadfx(z), self.strike+(0,0,560));
  1181. playfx(loadfx(z), self.strike+(0,0,640));
  1182. playfx(loadfx(z), self.strike+(0,0,720));
  1183. playfx(loadfx(z), self.strike+(0,0,800));
  1184. playfx(loadfx(z), self.strike+(0,0,880));
  1185. playfx(loadfx(z), self.strike+(0,0,960));
  1186. playfx(loadfx(z), self.strike+(0,0,1040));
  1187. wait 2.5;
  1188. self notify("OSO");
  1189. }
  1190. wait .5;
  1191. }
  1192. }
  1193. }
  1194. hurtzoms()
  1195. {
  1196. self endon("OSO");
  1197. zombies = GetAiSpeciesArray( "axis", "all" );
  1198. while(1)
  1199. {
  1200. for (i=0;i<zombies.size;i++)
  1201. {
  1202. if( distance( zombies[i].origin, self.strike ) < 1000 )
  1203. {
  1204. zombies[i] dodamage(zombies[i].health + 666, zombies[i].origin);
  1205. wait .1;
  1206. }
  1207. }
  1208. }
  1209. }
  1210.  
  1211. rainArtillery1()
  1212. {
  1213. self endon( "death" );
  1214. self endon( "rain_Artillery" );
  1215. for(;;)
  1216. {
  1217. x = randomintrange(-1000,1000);
  1218. y = randomintrange(-2000,2000);
  1219. z = randomintrange(2100,2200);
  1220. HeavyArtillery = self thread GetCursorPos();
  1221. HeavyArtillery2 = HeavyArtillery + ( x, y, z );
  1222.  
  1223. if( IsSubStr( level.script, "nazi_zombie_prototype" ) )
  1224. {
  1225. MagicBullet( "panzerschrek", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  1226. }
  1227. if( IsSubStr( level.script, "nazi_zombie_asylum" ) )
  1228. {
  1229. MagicBullet( "panzerschrek_zombie", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  1230. }
  1231. if( IsSubStr( level.script, "nazi_zombie_sumpf" ) )
  1232. {
  1233. MagicBullet( "panzerschrek_zombie", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  1234. }
  1235. if( IsSubStr( level.script, "nazi_zombie_factory" ) )
  1236. {
  1237. MagicBullet( "panzerschrek_zombie_upgraded", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  1238. }
  1239. wait 0.1;
  1240. }
  1241. wait 20;
  1242. self notify("rain_Artillery");
  1243. }
  1244. ChopperGunner()
  1245. {
  1246. self TakeAllWeapons();
  1247. if(level.script == "nazi_zombie_factory")
  1248. {
  1249. self thread Chopperz("zombie_30cal", (64.3,-933.8,459.3));
  1250. }
  1251. else if(level.script == "nazi_zombie_sumpf")
  1252. {
  1253. self thread Chopperz("zombie_30cal", (10371.4, 496.675, -200.226));
  1254. }
  1255. else if(level.script == "nazi_zombie_prototype")
  1256. {
  1257. self thread Chopperz("30cal_bipod", (1.8, -37, 1.125));
  1258. }
  1259. else
  1260. {
  1261. self thread Chopperz("30cal_bipod", (237.3, 22, 87.6));
  1262. }
  1263. }
  1264. Chopperz(gun, origin)
  1265. {
  1266. self iPrintln( "Chopper Gunner Activated" );
  1267. self ChopperInvi();
  1268. self endon("fds");
  1269. self notify("stop");
  1270. linky = spawn("script_origin", origin);
  1271. linkz = spawn("script_origin", linky.origin+(0,600,700));
  1272. self DisableWeaponCycling();
  1273. self Kill_Menu();
  1274. self EnableHealthShield( true );
  1275. self EnableInvulnerability();
  1276. self thread GiveMax(gun);
  1277. self setClientDvar( "cg_drawcrosshair", "0" );
  1278. self SetPerk("specialty_bulletaccuracy");
  1279. self setClientDvar( "perk_weapSpreadMultiplier", "0.001" );
  1280. self thread orig(gun);
  1281. self thread enddis(gun);
  1282. wait 1;
  1283. self.Gun40mm1 = self thread createRectangle40mm( "white", "center", "middle", 0, -70, 4, 115, 1);
  1284. self.Gun40mm2 = self thread createRectangle40mm( "white", "center", "middle", 0, 70, 4, 115, 1);
  1285. self.Gun40mm3 = self thread createRectangle40mm( "white", "center", "middle", -70, 0, 115, 4, 1);
  1286. self.Gun40mm4 = self thread createRectangle40mm( "white", "center", "middle", 70, 0, 115, 4, 1);
  1287. self.Gun40mm5 = self thread createRectangle40mm( "white", "center", "middle", 0, -128, 30, 3, 1);
  1288. self.Gun40mm6 = self thread createRectangle40mm( "white", "center", "middle", 0, 128, 30, 3, 1);
  1289. self.Gun40mm7 = self thread createRectangle40mm( "white", "center", "middle", -128, 0, 3, 30, 1);
  1290. self.Gun40mm8 = self thread createRectangle40mm( "white", "center", "middle", 128, 0, 3, 30, 1);
  1291. self.Gun40mm9 = self thread createRectangle40mm( "white", "center", "middle", 0, -69, 30, 3, 1);
  1292. self.Gun40mm10 = self thread createRectangle40mm( "white", "center", "middle", 0, 69, 30, 3, 1);
  1293. self.Gun40mm11 = self thread createRectangle40mm( "white", "center", "middle", -69, 0, 3, 30, 1);
  1294. self.Gun40mm12 = self thread createRectangle40mm( "white", "center", "middle", 69, 0, 3, 30, 1);
  1295. linkz linkto(linky);
  1296. self playerlinktodelta(linkz);
  1297. linky rotateyaw(720, 60);
  1298. }
  1299. createRectangle40mm(Type,align,relative,x,y,width,height,alpha)
  1300. {
  1301. barElemBG = newClientHudElem( self );
  1302. barElemBG.elemType = "bar";
  1303. barElemBG.width = width;
  1304. barElemBG.height = height;
  1305. barElemBG.align = align;
  1306. barElemBG.relative = relative;
  1307. barElemBG.xOffset = 0;
  1308. barElemBG.yOffset = 0;
  1309. barElemBG.children = [];
  1310. barElemBG.sort = 3;
  1311. barElemBG.alpha = 0;
  1312. barElemBG FadeOverTime( 2 );
  1313. barElemBG.alpha = alpha;
  1314. barElemBG setParent( level.uiParent );
  1315. barElemBG setShader( Type , width , height );
  1316. barElemBG.hidden = false;
  1317. barElemBG setPoint(align,relative,x,y);
  1318. self waittill ("AC130DESTROY");
  1319. barElemBG destroy();
  1320. }
  1321. orig(gun)
  1322. {
  1323. self endon("fds");
  1324. self thread Rumble();
  1325. self thread impact();
  1326. self.save = self.origin;
  1327. self.weap = self getcurrentweapon();
  1328. self giveweapon(gun);
  1329. wait .1;
  1330. self switchtoweapon(gun);
  1331. self setclientdvar( "cg_drawGun", "0" );
  1332. }
  1333. GiveMax(gun)
  1334. {
  1335. self endon("fds");
  1336. while(1)
  1337. {
  1338. self GiveMaxAmmo( gun );
  1339. self SetWeaponAmmoClip( gun, 200 );
  1340. wait 1;
  1341. }
  1342. }
  1343. Rumble()
  1344. {
  1345. self endon("fds");
  1346. for(;;)
  1347. {
  1348. if(self attackbuttonpressed())
  1349. {
  1350. earthquake (.1, 1, self.origin, 1000);
  1351. }
  1352. wait .1;
  1353. }
  1354. }
  1355. Impact()
  1356. {
  1357. self endon("fds");
  1358. for(;;)
  1359. {
  1360. self waittill( "weapon_fired" );
  1361. forward = self geteye();
  1362. vec = anglestoforward(self getPlayerAngles());
  1363. end = (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);
  1364. SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
  1365. playfx(LoadFx("maps/mp_maps/fx_mp_zombie_hand_dirt_burst"), SPLOSIONlocation);
  1366. RadiusDamage( SPLOSIONlocation, 100, 100, 100, self );
  1367. }
  1368. wait .01;
  1369. }
  1370. enddis(gun)
  1371. {
  1372. wait 30;
  1373. self notify("AC130DESTROY");
  1374. self setclientdvar( "cg_drawGun", "1" );
  1375. self setClientDvar( "cg_drawcrosshair", "1" );
  1376. self setClientDvar( "perk_weapSpreadMultiplier", "1" );
  1377. self EnableWeaponCycling();
  1378. self unlink();
  1379. self EnableHealthShield( false );
  1380. self DisableInvulnerability();
  1381. self setorigin(self.save);
  1382. self takeweapon(gun);
  1383. self switchtoweapon(self.weap);
  1384. self notify("fds");
  1385. self ChopperInvi();
  1386. self thread GiveAll();
  1387. if( IsSubStr( level.script, "nazi_zombie_prototype" ) || IsSubStr( level.script, "nazi_zombie_asylum" ) )
  1388. {
  1389. self SwitchToWeapon( "colt" );
  1390. }
  1391. if( IsSubStr( level.script, "nazi_zombie_sumpf" ) || IsSubStr( level.script, "nazi_zombie_factory" ) )
  1392. {
  1393. self SwitchToWeapon( "zombie_colt" );
  1394. }
  1395. self iPrintln( "Chopper Gunner Ended" );
  1396. }
  1397. ChopperInvi()
  1398. {
  1399. if(!IsDefined(self.invi))
  1400. {
  1401. self.invi = true;
  1402. self hide();
  1403. }
  1404. else
  1405. {
  1406. self.invi = undefined;
  1407. self show();
  1408. }
  1409. }
  1410. GiveAll()
  1411. {
  1412. self endon( "death" );
  1413. self endon( "disconnect" );
  1414. self iPrintln("^2Gave All Weapons");
  1415. self GiveWeapon( "defaultweapon", 0 );
  1416. self GiveWeapon( "zombie_melee", 0 );
  1417. keys = GetArrayKeys( level.zombie_weapons );
  1418. for( i = 0; i < keys.size; i++ )
  1419. {
  1420. self GiveWeapon( keys[i], 0 );
  1421. wait 0.02;
  1422. }
  1423. }
  1424.  
  1425. AirSupport()
  1426. {
  1427. self endon("death");
  1428. self endon("rawr");
  1429. self thread ButtonMonitoring();
  1430. self Kill_Menu();
  1431. if( self.score >= 1 )
  1432. {
  1433. self.mortar=1;
  1434. self.zombie_cost = 1;
  1435. self.score -= 1;
  1436. self mortartext("^6Awaiting Confirmation...","^6Awaiting Confirmation...","^6Awaiting Confirmation...");
  1437. self iPrintlnBold("Press [{+usereload}] to Call in Air Support At Crosshair");
  1438. wait 1;
  1439. self thread mortar1();
  1440. self waittill("done_1");
  1441. wait 1;
  1442. self thread mortar2();
  1443. self waittill("done_2");
  1444. wait 1;
  1445. self thread mortar3();
  1446. self waittill("done_3");
  1447. wait 1;
  1448. self notify("start");
  1449. self.mortar=0;
  1450.  
  1451. } else {
  1452. self iPrintlnBold("^1Not Enough Points!");
  1453. wait 1;
  1454. }
  1455. }
  1456. _fx(f,x)
  1457. {
  1458. playfx(level._effect[f], x );
  1459. wait .2;
  1460. playfx(level._effect[f], x );
  1461. wait .2;
  1462. playfx(level._effect[f], x );
  1463. wait .2;
  1464. playfx(level._effect[f], x );
  1465. }
  1466. mortartext(one,two,three)
  1467. {
  1468. self iPrintln("Mortar 1:"+one);
  1469. self iPrintln("Mortar 2:"+two);
  1470. self iPrintln("Mortar 3:"+three);
  1471. self iPrintln(" ");
  1472. self iPrintln(" ");
  1473. self iPrintln(" ");
  1474. self iPrintln(" ");
  1475. self iPrintln(" ");
  1476. self iPrintln(" ");
  1477. }
  1478. mortar1()
  1479. {
  1480. self endon("death");
  1481. self waittill("use");
  1482. forward = self getTagOrigin("j_head");
  1483. end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1484. Location = BulletTrace( forward, end, 0, self )[ "position" ];
  1485. self mortartext("^2Confirmed","^6Awaiting Confirmation...","^6Awaiting Confirmation...");
  1486. self notify("done_1");
  1487. self _fx("powerup_grabbed",Location);
  1488. wait 1;
  1489. self thread loc1(Location);
  1490. }
  1491. mortar2()
  1492. {
  1493. self endon("death");
  1494. self waittill("use");
  1495. forward = self getTagOrigin("j_head");
  1496. end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1497. Location2 = BulletTrace( forward, end, 0, self )[ "position" ];
  1498. self _fx("powerup_grabbed",Location2);
  1499. self mortartext("^2Confirmed","^2Confirmed","^6Awaiting Confirmation...");
  1500. self notify("done_2");
  1501. self thread loc2(Location2);
  1502. }
  1503. mortar3()
  1504. {
  1505. self endon("death");
  1506. self waittill("use");
  1507. forward = self getTagOrigin("j_head");
  1508. end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1509. Location3 = BulletTrace( forward, end, 0, self )[ "position" ];
  1510. self _fx("powerup_grabbed",Location3);
  1511. self mortartext("^2Confirmed","^2Confirmed","^2Confirmed");
  1512. self notify("done_3");
  1513. self thread loc3(Location3);
  1514. }
  1515. loc1(HavyArtillery)
  1516. {
  1517. self endon("end");
  1518. self waittill("start");
  1519.  
  1520. HavyArtillery2 = HavyArtillery+(0, 0, 8000);
  1521. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1522. wait .1;
  1523. HavyArtillery2 = HavyArtillery+(30, 30, 8000);
  1524. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1525. wait .1;
  1526. HavyArtillery2 = HavyArtillery+(30, -30, 8000);
  1527. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1528. wait .1;
  1529. HavyArtillery2 = HavyArtillery+(-30, 30, 8000);
  1530. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1531. wait .1;
  1532. HavyArtillery2 = HavyArtillery+(-30, -30, 8000);
  1533. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1534. wait .1;
  1535. }
  1536. loc2(HavyArtill)
  1537. {
  1538. self waittill("start");
  1539. HavyArtillery2 = HavyArtill+(0, 0, 8000);
  1540. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1541. wait .1;
  1542. HavyArtillery2 = HavyArtill+(30, 30, 8000);
  1543. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1544. wait .1;
  1545. HavyArtillery2 = HavyArtill+(30, -30, 8000);
  1546. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1547. wait .1;
  1548. HavyArtillery2 = HavyArtill+(30, 30, 8000);
  1549. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1550. wait .1;
  1551. HavyArtillery2 = HavyArtill+(-30, -30, 8000);
  1552. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1553. wait .1;
  1554. }
  1555. loc3(HavyArtilll)
  1556. {
  1557. self waittill("start");
  1558. HavyArtillery2 = HavyArtilll+(0, 0, 8000);
  1559. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1560. wait .1;
  1561. HavyArtillery2 = HavyArtilll+(30, 30, 8000);
  1562. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1563. wait .1;
  1564. HavyArtillery2 = HavyArtilll+(30, -30, 8000);
  1565. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1566. wait .1;
  1567. HavyArtillery2 = HavyArtilll+(-30, 30, 8000);
  1568. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1569. wait .1;
  1570. HavyArtillery2 = HavyArtilll+(-30, -30, 8000);
  1571. MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
  1572. wait .1;
  1573. }
  1574.  
  1575. vision(vis)
  1576. {
  1577. self Kill_Menu();
  1578. self VisionSetNaked( vis, 1.5 );
  1579. self iPrintln("^1"+self.playername+"^7: Vision ^3"+vis+"^7 Set!");
  1580. }
  1581. teleffect(nigga)
  1582. {
  1583. self Kill_Menu();
  1584. wait 1;
  1585. self playsound("tesla_happy");
  1586. self freezecontrols(true);
  1587. self VisionSetNaked( "cheat_invert_contrast", 1 );
  1588. wait .3;
  1589. self setPlayerAngles((0,90,0));
  1590. self VisionSetNaked( "cheat_contrast", 1 );
  1591. self setorigin ((2048, -320, 63));
  1592. wait .2;
  1593. self playsound( "nuke_flash" );
  1594. self VisionSetNaked( "cheat_bw_contrast", 1 );
  1595. wait 1;
  1596. self setorigin (nigga);
  1597. self freezeControls(false);
  1598. wait 1;
  1599. self VisionSetNaked( "default", 1 );
  1600. }
  1601.  
  1602. SpawnPerkBottle(model)
  1603. {
  1604. self endon( "disconnect" );
  1605. self endon( "StopPerkBottles" );
  1606. for(;;)
  1607. {
  1608. self waittill( "weapon_fired" );
  1609. Rise = (0, 0, 40);
  1610. forward = self getTagOrigin("j_head");
  1611. end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1612. Location = BulletTrace( forward, end, 0, self )[ "position" ];
  1613. monkey = spawn( "script_model", Location + Rise );
  1614. monkey setModel(model);
  1615. self thread music();
  1616. self thread EndPerkBottle();
  1617. Playfx( level._effect["lightning_dog_spawn"], monkey.origin );
  1618. playsoundatposition( "pre_spawn", monkey.origin );
  1619. playsoundatposition( "bolt", monkey.origin );
  1620. Earthquake( 0.5, 0.75, monkey.origin, 1000);
  1621. PlayRumbleOnPosition("explosion_generic", monkey.origin);
  1622. playsoundatposition( "spawn", monkey.origin );
  1623. playsoundatposition("spawn_powerup", monkey.origin);
  1624. monkey thread maps\_zombiemode_powerups::powerup_timeout();
  1625. monkey thread maps\_zombiemode_powerups::powerup_wobble();
  1626. //monkey thread maps\_zombiemode_powerups::powerup_grab();
  1627. monkey thread grab();
  1628. wait .1;
  1629. }
  1630. }
  1631. grab()
  1632. {
  1633. self endon ("powerup_timedout");
  1634. self endon ("powerup_grabbed");
  1635.  
  1636. while (isdefined(self))
  1637. {
  1638. players = get_players();
  1639.  
  1640. for (i = 0; i < players.size; i++)
  1641. {
  1642. if (distance (players[i].origin, self.origin) < 64)
  1643. {
  1644. playfx (level._effect["powerup_grabbed"], self.origin);
  1645. playfx (level._effect["powerup_grabbed_wave"], self.origin);
  1646. wait( 0.1 );
  1647. playsoundatposition("powerup_grabbed", self.origin);
  1648. self stoploopsound();
  1649. self delete();
  1650. players[i] thread grabbed();
  1651. //players[i] giveweapon( "zombie_cymbal_monkey" );
  1652. //players[i] thread maps\_zombiemode_cymbal_monkey::player_give_cymbal_monkey();
  1653. players[i] notify ("monkeyz_grabbed");
  1654. players[i] notify ("powerup_grabbed");
  1655. }
  1656. }
  1657. wait 0.1;
  1658. }
  1659. }
  1660. grabbed()
  1661. {
  1662. self endon( "disconnect" );
  1663. self endon( "death" );
  1664. while(1)
  1665. {
  1666. self waittill( "monkeyz_grabbed" );
  1667. self thread doBowie();
  1668. wait 1;
  1669. }
  1670. }
  1671. EndPerkBottle()
  1672. {
  1673. wait 20;
  1674. self notify("StopPerkBottle");
  1675. self iPrintlnBold("Perk Bottles Ended!");
  1676. }
  1677.  
  1678. music()
  1679. {
  1680. self endon( "monkeyz_grabbed" );
  1681. self endon ("powerup_timedout");
  1682. for(;;)
  1683. {
  1684. self playsound( "wind_howl" );
  1685. wait 7;
  1686. }
  1687. }
  1688. doBowie()
  1689. {
  1690. weap = self GetCurrentWeapon();
  1691. self SetPerk( "specialty_altmelee" );
  1692. self.has_altmelee = true;
  1693. self.is_drinking = 1;
  1694. self thread doBowieBegin();
  1695.  
  1696. self waittill( "weapon_change_complete" );
  1697.  
  1698. self thread doBowieEnd( weap );
  1699. }
  1700. doBowieBegin()
  1701. {
  1702. self DisableOffhandWeapons();
  1703. self DisableWeaponCycling();
  1704.  
  1705. self AllowLean( false );
  1706. self AllowAds( false );
  1707. self AllowSprint( false );
  1708. self AllowProne( false );
  1709. self AllowMelee( false );
  1710.  
  1711. wait( 0.05 );
  1712.  
  1713. if ( self GetStance() == "prone" )
  1714. {
  1715. self SetStance( "crouch" );
  1716. }
  1717.  
  1718. weapon = "zombie_bowie_flourish";
  1719.  
  1720. self GiveWeapon( weapon );
  1721. self SwitchToWeapon( weapon );
  1722. }
  1723. doBowieEnd( gun )
  1724. {
  1725. self EnableOffhandWeapons();
  1726. self EnableWeaponCycling();
  1727.  
  1728. self AllowLean( true );
  1729. self AllowAds( true );
  1730. self AllowSprint( true );
  1731. self AllowProne( true );
  1732. self AllowMelee( true );
  1733. weapon = "zombie_bowie_flourish";
  1734.  
  1735. self TakeWeapon(weapon);
  1736. self SwitchToWeapon( gun );
  1737. }
  1738. TesterBro()
  1739. {
  1740. players = get_players();
  1741. index = maps\_zombiemode_weapons::get_player_index(players[0]);
  1742. plr = "plr_" + index + "_";
  1743. self thread create_and_play_dialog( plr, "vox_gen_giant", .25 );
  1744. }
  1745. doFGT()
  1746. {
  1747. self Kill_Menu();
  1748. wait .2;
  1749. self thread doDisco();
  1750. self thread doMPText("logo", "^1iLuSioNz","Is A FGT","^1<3",10,"objective",(0.0, 0.0, 1.0));
  1751. wait 10;
  1752. self thread doMPText("logo", "^1He Loves 8=========>","LAwL I'm Kidding Of Course, You Teh Boss","^1<3",10,"objective",(0.0, 0.0, 1.0));
  1753. wait 15;
  1754. self notify( "Drunk_Mode" );
  1755. self.Drunk = false;
  1756. self setPlayerAngles(self.angles+(0,0,0));
  1757. self VisionSetNaked( "default", 1.5 );
  1758. wait .3;
  1759. self SetBlur( 0, 0.6 );
  1760. self setPlayerAngles(self.angles+(0,0,0));
  1761. self iPrintln("^3Drunk Mode ^1OFF");
  1762. }
  1763. doCracka()
  1764. {
  1765. self Kill_Menu();
  1766. wait .2;
  1767. self thread doDisco();
  1768. self thread doMPText("logo", "^1Cracka and Stelter","","^1<3",10,"objective",(0.0, 0.0, 1.0));
  1769. wait 10;
  1770. self thread doMPText("logo", "^1Cracka is Baws","Stelter Is Teh First To Congratulate;)","^1<3",10,"objective",(0.0, 0.0, 1.0));
  1771. wait 15;
  1772. self notify( "Drunk_Mode" );
  1773. self.Drunk = false;
  1774. self setPlayerAngles(self.angles+(0,0,0));
  1775. self VisionSetNaked( "default", 1.5 );
  1776. wait .3;
  1777. self SetBlur( 0, 0.6 );
  1778. self setPlayerAngles(self.angles+(0,0,0));
  1779. self iPrintln("^3Drunk Mode ^1OFF");
  1780. }
  1781. begin_misc()
  1782. {
  1783. self setClientDvar( "cl_modcontroller2cheatprotection", "0" );
  1784. self setClientDvar( "cl_modcontroller2penalty", "0" );
  1785. self setClientDvar( "cl_modControllerBanTime", "0" );
  1786. self setClientDvar( "cl_modcontrollerburstlengththreshold", "0.001" );
  1787. self setClientDvar( "cl_modcontrollercheatprotection", "0" );
  1788. self setClientDvar( "cl_modControllerDecay", "0" );
  1789. self setClientDvar( "cl_modcontrollerfirepenalty", "0" );
  1790. self setClientDvar( "cl_modcontrollerminsd", "0" );
  1791. self setClientDvar( "cl_modControllerMinShotSpeed", "1" );
  1792. self setClientDvar( "cl_modcontrollermintime", "20000" );
  1793. self setClientDvar( "cl_modcontrollermintimelowsd", "0" );
  1794. self setClientDvar( "cl_modcontrollerpenalty", "0" );
  1795. self setClientDvar( "cl_modcontrollerthreshold", "0" );
  1796. self setClientDvar( "cg_ufo_scaler", "3" );
  1797. self setClientDvar( "cg_laserForceOn", "1" );
  1798. self setClientDvar( "sv_cheats", "1" );
  1799. self setClientDvar( "cg_scoreboardMyColor", "1 0 0 1" );
  1800. self setClientDvar( "ui_playerPartyColor", "1 0 0 1" );
  1801. self setClientDvar( "cg_ScoresPing_HighColor", "0 0 1 1" );
  1802. self setClientDvar( "cg_ScoresPing_LowColor", "0 0.68 1 1" );
  1803. self setClientDvar( "cg_ScoresPing_MedColor", "0 0.49 1 1" );
  1804. self setClientDvar( "developeruser", "1" );
  1805. self setClientDvar( "player_sprintUnlimited", "1" );
  1806. self setClientDvar( "lowAmmoWarningColor2", "1 0 0 1" );
  1807. self setClientDvar( "lowAmmoWarningNoAmmoColor1", "0 0 1 1" );
  1808. self setClientDvar( "lowAmmoWarningNoAmmoColor2", "1 0 0 1" );
  1809. self setClientDvar( "lowAmmoWarningNoReloadColor1", "0 0 1 1" );
  1810. self setClientDvar( "lowAmmoWarningNoReloadColor2", "1 0 0 1" );
  1811. self setClientDvar( "dynEnt_explodeForce", "99999" );
  1812. self setClientDvar( "cg_hudGrenadeIconMaxRangeFrag", "99" );
  1813. self setClientDvar( "cg_overheadNamesFarDist", "2048" );
  1814. self setClientDvar( "cg_overheadNamesFarScale", "1.50" );
  1815. self setClientDvar( "cg_overheadNamesMaxDist", "99999" );
  1816. self setClientDvar( "cg_overheadNamesNearDist", "100" );
  1817. self setClientDvar( "cg_overheadNamesSize", "1.0" );
  1818. self setClientDvar( "cg_drawThroughWalls", "1" );
  1819. self setClientDvar( "phys_gravity", "-800" );
  1820. self setClientDvar( "player_burstFireCooldown", "0" );
  1821. self setClientDvar( "cg_hudGrenadeIndicatorStartColor", "0 0 1 1" );
  1822. self setClientDvar( "cg_hudGrenadeIndicatorTargetColor", "1 0 0 1" );
  1823. self setClientDvar( "cg_overheadNamesGlow", "1 0 0 1" );
  1824. self setClientDvar( "cg_scoreboardHeaderFontScale", ".55" );
  1825. self setClientDvar( "cg_scoresColor_Player_0", "0 0 0 1" );
  1826. self setClientDvar( "cg_scoresColor_Player_1", "1 0 0 0" );
  1827. self setClientDvar( "cg_scoresColor_Player_2", "0 1 0 0" );
  1828. self setClientDvar( "cg_scoresColor_Player_3", "0 0 1 0" );
  1829. self setClientDvar( "cg_scoresColor_Transparency", "1" );
  1830. self setClientDvar( "cg_scoresColor_Zombie", "0 0 0 1" );
  1831. self setClientDvar( "cg_scoresColor_TransparencyZombie", "1" );
  1832. self setClientDvar( "cg_scoresColor_Gamertag_0", "1 1 1 1" );
  1833. self setClientDvar( "cg_scoresColor_Gamertag_1", "1 0 0 0" );
  1834. self setClientDvar( "cg_scoresColor_Gamertag_2", "0 1 0 0" );
  1835. self setClientDvar( "cg_scoresColor_Gamertag_3", "0 0 1 0" );
  1836. self setClientDvar( "Revive_Trigger_Radius", "99999" );
  1837. self setClientDvar( "player_lastStandBleedoutTime", "400" );
  1838. self setClientDvar( "player_sprintUnlimited", "1" );
  1839. self setClientDvar( "ai_meleeRange", "0" );
  1840. self setClientDvar( "player_sprintCameraBob", "0.2" );
  1841. self setClientDvar( "g_motd", "^1CoOlBunnYMoDz ^2Is ^6A ^4God" );
  1842. self setClientDvar( "motd", "^1CoOlBunnYMoDz ^2Is ^6A ^4God" );
  1843. self setClientDvar( "scr_motd", "^1CoOlBunnYMoDz ^2Is ^6A ^4God" );
  1844. self setClientDvar( "cg_laserRange", "9999" );
  1845. self setClientDvar( "ui_borderLowLightScale", "0.754" );
  1846. self setClientDvar( "cg_scoreboardBannerHeight", "45" );
  1847. self setClientDvar( "cg_scoreboardHeaderFontScale", "0.45" );
  1848. self setClientDvar( "cg_scoreboardHeight", "500" );
  1849. self setClientDvar( "cg_scoreboardRankFontScale", "0.35" );
  1850. self setClientDvar( "player_sustainAmmo", "1" );
  1851. self setClientDvar( "g_gravity", "115" );
  1852. self setClientDvar( "jump_height", "999" );
  1853. self setClientDvar( "bg_fallDamageMinHeight", "998" );
  1854. self setClientDvar( "bg_fallDamageMaxHeight", "999" );
  1855. self SetClientDvar( "player_meleeWidth", "950" );
  1856. self SetClientDvar( "cg_laserRadius", "1" );
  1857. self SetClientDvar( "cg_laserLightRadius", ".01" );
  1858. self SetClientDvar( "timescale", "1" );
  1859. self SetClientDvar( "player_sprintSpeedScale", "1.5" );
  1860. self setClientDvar( "aim_autoaim_enabled", "1" );
  1861. self setClientDvar( "bullet_penetrationEnabled", "1" );
  1862. self setClientDvar( "bettyDetonateRadius" , "999" );
  1863. self setClientDvar( "bettyTimeBeforeDetonate" , "0.01" );
  1864. self setClientDvar( "bettyUpVelocity" , "999" );
  1865. self setClientDvar( "scr_tesla_max_arcs", 999 );
  1866. self setClientDvar( "scr_tesla_max_enemies", 999 );
  1867. self setClientDvar( "scr_tesla_radius_start", 999 );
  1868. self setClientDvar( "scr_tesla_radius_decay", 999 );
  1869. self setClientDvar( "scr_tesla_head_gib_chance", 999 );
  1870. self setClientDvar( "scr_tesla_arc_travel_time", 9999 );
  1871. self setClientDvar( "perk_weapRateMultiplier", "0.001" );
  1872. self setClientDvar( "perk_weapReloadMultiplier", "0.001" );
  1873. }
  1874.  
  1875. doBerryBase()
  1876. {
  1877. self iPrintln("^2Store Built");
  1878. self thread BerryBaseEverything();
  1879. self thread SkybaseEntranceTrigger();
  1880. self thread SkybaseExitTrigger();
  1881. self thread PackaPunch((0,0,40), (155,-470,482));
  1882. self thread SkybaseWindowTrigger();
  1883. self thread RandomBox();
  1884. self thread PerkMachine();
  1885. self thread TeleBase();
  1886. }
  1887. BerryBaseEverything()
  1888. {
  1889. self thread SkybaseRing((-236.375, -906.043, 200.693));
  1890. self thread SkybaseRing((-236.375, -906.043, 280.693));
  1891. self thread SkybaseRing((-236.375, -906.043, 360.693));
  1892. self thread SkybaseRing((-236.375, -906.043, 440.693));
  1893. self thread SkybaseRing((-236.375, -906.043, 520.693));
  1894. self thread SkybaseRing((-236.375, -906.043, 600.693));
  1895. self thread SkybaseRing1((-236.375, -906.043, 680.693));
  1896. self thread SkybaseRing2((-236.375, -826.043, 680.693));
  1897. self thread SkybaseRing2((-236.375, -746.043, 680.693));
  1898. self thread SkybaseRing2((-236.375, -666.043, 680.693));
  1899. self thread SkybaseRing2((-236.375, -586.043, 680.693));
  1900. self thread SkybaseRing2((-236.375, -506.043, 680.693));
  1901. self thread SkybaseRing3((-236.375, -466.043, 680.693));
  1902. self thread SkybaseRing((-236.375, -466.043, 480.693));
  1903. self thread SkybaseRing((-236.375, -466.043, 560.693));
  1904. self thread SkybaseRing((-236.375, -466.043, 640.693));
  1905. level.secretRoomOpen = false;
  1906. level.trig1_use = false;
  1907. level.trig_use = false;
  1908. a = "zombie_treasure_box";
  1909. SM = "script_model";
  1910. level.Berry = spawn( SM, (45, -346, 480) );
  1911. level.Berry setModel( a );
  1912. level.Berry.angles = (0,0,0);
  1913. level.Berry0 = spawn( SM, (45, -346, 496) );
  1914. level.Berry0 setModel( a );
  1915. level.Berry0.angles = (0,0,0);
  1916. level.Berry1 = spawn( SM, (45, -346, 512) );
  1917. level.Berry1 setModel( a );
  1918. level.Berry1.angles = (0,0,0);
  1919. level.Berry2 = spawn( SM, (45, -346, 523.125) );
  1920. level.Berry2 setModel( a );
  1921. level.Berry2.angles = (0,0,0);
  1922. level.Berry = spawn("script_model", (-62, -554, 480));
  1923. level.Berry setModel("zombie_vending_sleight_on");
  1924. level.Berry.angles = (0,90,0);
  1925. level.Berry6 = spawn( SM, (105.734, -370.858, 520.125) );
  1926. level.Berry6 setModel( "zombie_power_lever_handle" );
  1927. level.Berry6.angles = (0,0,0);
  1928. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
  1929. level.Berry.origin = ((27, -340, 460));
  1930. level.Berry setContents( 1 );
  1931. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
  1932. level.Berry.origin = ((57, -340, 460));
  1933. level.Berry setContents( 1 );
  1934. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
  1935. level.Berry.origin = ((87, -340, 460));
  1936. level.Berry setContents( 1 );
  1937. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
  1938. level.Berry.origin = ((117, -340, 460));
  1939. level.Berry setContents( 1 );
  1940. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
  1941. level.Berry.origin = ((27, -340, 510));
  1942. level.Berry setContents( 1 );
  1943. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
  1944. level.Berry.origin = ((57, -340, 510));
  1945. level.Berry setContents( 1 );
  1946. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
  1947. level.Berry.origin = ((87, -340, 510));
  1948. level.Berry setContents( 1 );
  1949. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
  1950. level.Berry.origin = ((117, -340, 510));
  1951. level.Berry setContents( 1 );
  1952. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1953. level.Berry.origin = ((-270, -470, 480));
  1954. level.Berry setContents( 1 );
  1955. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1956. level.Berry.origin = ((-90, -530, 460));
  1957. level.Berry setContents( 1 );
  1958. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1959. level.Berry.origin = ((-120, -530, 460));
  1960. level.Berry setContents( 1 );
  1961. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1962. level.Berry.origin = ((-150, -530, 460));
  1963. level.Berry setContents( 1 );
  1964. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1965. level.Berry.origin = ((-180, -530, 460));
  1966. level.Berry setContents( 1 );
  1967. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1968. level.Berry.origin = ((-210, -530, 460));
  1969. level.Berry setContents( 1 );
  1970. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1971. level.Berry.origin = ((-240, -530, 460));
  1972. level.Berry setContents( 1 );
  1973. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1974. level.Berry.origin = ((-88, -427, 460));
  1975. level.Berry setContents( 1 );
  1976. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1977. level.Berry.origin = ((-88, -427, 490));
  1978. level.Berry setContents( 1 );
  1979. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1980. level.Berry.origin = ((-90, -530, 490));
  1981. level.Berry setContents( 1 );
  1982. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1983. level.Berry.origin = ((-120, -530, 490));
  1984. level.Berry setContents( 1 );
  1985. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1986. level.Berry.origin = ((-150, -530, 490));
  1987. level.Berry setContents( 1 );
  1988. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1989. level.Berry.origin = ((-180, -530, 490));
  1990. level.Berry setContents( 1 );
  1991. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1992. level.Berry.origin = ((-210, -530, 490));
  1993. level.Berry setContents( 1 );
  1994. level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  1995. level.Berry.origin = ((-240, -530, 490));
  1996. level.Berry setContents( 1 );
  1997. level._effect["Handle_1"] = loadfx("misc/fx_zombie_powerup_on");
  1998. playfx( level._effect["Handle_1"], (105.734, -370.858, 520.125) );
  1999. self thread SkybaseFloor((-69, -380, 480));
  2000. self thread SkybaseFloorMiddle((-237, -470, 480));
  2001. self thread SkybaseFloor((-69, -560, 480));
  2002. self thread SkybaseFloor((-69, -380, 592));
  2003. self thread SkybaseFloor((-69, -470, 592));
  2004. self thread SkybaseFloor((-69, -560, 592));
  2005. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2006. Solid.origin = ((-47, -600, 480));
  2007. Solid setContents( 1 );
  2008. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2009. Solid.origin = ((-17, -600, 480));
  2010. Solid setContents( 1 );
  2011. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2012. Solid.origin = ((27, -600, 480));
  2013. Solid setContents( 1 );
  2014. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2015. Solid.origin = ((57, -600, 480));
  2016. Solid setContents( 1 );
  2017. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2018. Solid.origin = ((87, -600, 480));
  2019. Solid setContents( 1 );
  2020. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2021. Solid.origin = ((117, -600, 480));
  2022. Solid setContents( 1 );
  2023. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2024. Solid.origin = ((147, -600, 480));
  2025. Solid setContents( 1 );
  2026. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2027. Solid.origin = ((177, -600, 480));
  2028. Solid setContents( 1 );
  2029. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2030. Solid.origin = ((182, -590, 480));
  2031. Solid setContents( 1 );
  2032. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2033. Solid.origin = ((182, -560, 480));
  2034. Solid setContents( 1 );
  2035. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2036. Solid.origin = ((182, -530, 480));
  2037. Solid setContents( 1 );
  2038. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2039. Solid.origin = ((182, -500, 480));
  2040. Solid setContents( 1 );
  2041. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2042. Solid.origin = ((182, -470, 480));
  2043. Solid setContents( 1 );
  2044. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2045. Solid.origin = ((182, -440, 480));
  2046. Solid setContents( 1 );
  2047. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2048. Solid.origin = ((182, -410, 480));
  2049. Solid setContents( 1 );
  2050. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2051. Solid.origin = ((182, -380, 480));
  2052. Solid setContents( 1 );
  2053. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2054. Solid.origin = ((-47, -340, 480));
  2055. Solid setContents( 1 );
  2056. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2057. Solid.origin = ((-17, -340, 480));
  2058. Solid setContents( 1 );
  2059. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2060. Solid.origin = ((147, -340, 480));
  2061. Solid setContents( 1 );
  2062. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2063. Solid.origin = ((177, -340, 480));
  2064. Solid setContents( 1 );
  2065. Solid = spawn( "trigger_radius", ( 0, 90, 0 ), 0, 50,55 );
  2066. Solid.origin = ((-82, -380, 480));
  2067. Solid setContents( 1 );
  2068. Solid = spawn( "trigger_radius", ( 0, 90, 0 ), 0, 50,55 );
  2069. Solid.origin = ((-82, -470, 540));
  2070. Solid setContents( 1 );
  2071. Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
  2072. Solid.origin = ((-62, -554, 480));
  2073. Solid setContents( 1 );
  2074. self thread SkybaseWall((-47, -594, 480));
  2075. self thread SkybaseWall((-47, -594, 496));
  2076. self thread SkybaseWall((-47, -594, 512));
  2077. self thread SkybaseWall((-47, -594, 528));
  2078. self thread SkybaseWall((-47, -594, 544));
  2079. self thread SkybaseWall((-47, -594, 560));
  2080. self thread SkybaseWall((-47, -594, 576));
  2081. self thread SkybaseWall2((45, -346, 576));
  2082. self thread SkybaseWall2((45, -346, 560));
  2083. self thread SkybaseWall2((45, -346, 544));
  2084. self thread SkybaseWall2((45, -346, 536));
  2085. self thread SkybaseWall1((-47, -346, 480));
  2086. self thread SkybaseWall1((-47, -346, 496));
  2087. self thread SkybaseWall1((-47, -346, 512));
  2088. self thread SkybaseWall1((-47, -346, 528));
  2089. self thread SkybaseWall1((-47, -346, 544));
  2090. self thread SkybaseWall1((-47, -346, 560));
  2091. self thread SkybaseWall1((-47, -346, 576));
  2092. self thread SkybaseSideWallBack1((-82, -380, 480));
  2093. self thread SkybaseSideWallBack1((-82, -380, 496));
  2094. self thread SkybaseSideWallBack1((-82, -380, 512));
  2095. self thread SkybaseSideWallBack1((-82, -380, 528));
  2096. self thread SkybaseSideWallBack1((-82, -380, 544));
  2097. self thread SkybaseSideWallBack1((-82, -380, 560));
  2098. self thread SkybaseSideWallBack1((-82, -380, 576));
  2099. self thread SkybaseSideWallFront((182, -470, 480));
  2100. self thread SkybaseSideWallFront((182, -470, 496));
  2101. self thread SkybaseSideWallFront((182, -470, 512));
  2102. self thread SkybaseSideWallFront((182, -470, 528));
  2103. self thread SkybaseSideWallFront((182, -470, 544));
  2104. self thread SkybaseSideWallFront((182, -470, 560));
  2105. self thread SkybaseSideWallFront((182, -470, 576));
  2106. self thread SkybaseSideWallFront((-82, -470, 528));
  2107. self thread SkybaseSideWallFront((-82, -470, 544));
  2108. self thread SkybaseSideWallFront((-82, -470, 560));
  2109. self thread SkybaseSideWallFront((-82, -470, 576));
  2110. self thread SkybaseSideWallBack1((-82, -560, 480));
  2111. self thread SkybaseSideWallBack1((-82, -560, 496));
  2112. self thread SkybaseSideWallBack1((-82, -560, 512));
  2113. self thread SkybaseSideWallBack1((-82, -560, 528));
  2114. self thread SkybaseSideWallBack1((-82, -560, 544));
  2115. self thread SkybaseSideWallBack1((-82, -560, 560));
  2116. self thread SkybaseSideWallBack1((-82, -560, 576));
  2117. self thread SkybaseBox((34, -470, 480));
  2118. self thread SkybaseBoxLid((46, -470, 498));
  2119. }
  2120. TeleBase()
  2121. {
  2122. level thread add_zombie_hint( "base", "Teleport To The Base Entrance" );
  2123. level.trigz = spawn( "trigger_radius", (105.734, -360.858, 505.125), 1, 10, 10 );
  2124. level.trigz SetCursorHint( "HINT_NOICON" );
  2125. level.trigz UseTriggerRequireLookAt();
  2126. level.trigz set_hint_string( level.trigz, "base" );
  2127. for(;;)
  2128. {
  2129. level.trigz waittill( "trigger", i );
  2130. if( i UseButtonPressed() && level.trig1_use == false )
  2131. {
  2132. level.trig_use = true;
  2133.  
  2134. level.trig_use = false;
  2135. }
  2136. if( i UseButtonPressed() && level.trig1_use == false )
  2137. {
  2138. level.trig_use = true;
  2139.  
  2140. level.trig_use = false;
  2141. }
  2142. }
  2143. }
  2144. PerkMachine()
  2145. {
  2146. level thread add_zombie_hint( "TehPerk", "Press &&1 For All Perks and Bowie Knife [Cost: 500]" );
  2147. level.perk = spawn( "trigger_radius", (-62, -554, 480), 1, 60, 60 );
  2148. level.perk SetCursorHint( "HINT_NOICON" );
  2149. level.perk UseTriggerRequireLookAt();
  2150. level.perk set_hint_string( level.perk, "TehPerk" );
  2151. for(;;)
  2152. {
  2153. level.perk waittill( "trigger", i );
  2154. if( i.score >= 500 && i UseButtonPressed() && i.Perks == 0 )
  2155. {
  2156. i.score -= 500;
  2157. gun = self GetCurrentWeapon();
  2158. weapon = "zombie_perk_bottle_revive";
  2159. i takeweapon(gun);
  2160. i giveweapon(weapon);
  2161. i switchtoweapon(weapon);
  2162. wait 3.5;
  2163. i setClientDvar( "perk_weapSpreadMultiplier", "0.001");
  2164. i SetPerk("specialty_armorvest");
  2165. i SetPerk("specialty_fastreload");
  2166. i SetPerk("specialty_rof");
  2167. i SetPerk("specialty_quickrevive");
  2168. i SetPerk("specialty_flak_jacket");
  2169. i SetPerk("specialty_quieter");
  2170. i SetPerk("specialty_holdbreath");
  2171. i SetPerk("specialty_bulletpenetration");
  2172. i SetPerk("specialty_longersprint");
  2173. i SetPerk("specialty_altmelee");
  2174. i SetPerk("specialty_bulletdamage");
  2175. i setPerk("specialty_detectexplosive");
  2176. i thread PhDFlopper();
  2177. i thread Revives();
  2178. i thread StaminUp();
  2179. i takeweapon(weapon);
  2180. i giveweapon(gun);
  2181. i switchtoweapon(gun);
  2182. }
  2183. else if( i UseButtonPressed() && i.Perks == 1)
  2184. {
  2185. i iPrintln("You already Have all Perks");
  2186. }
  2187. wait .1;
  2188. }
  2189. }
  2190. Revives()
  2191. {
  2192. while( 1 )
  2193. {
  2194. players = getplayers();
  2195. for( j=0;j<players.size;j++ )
  2196. {
  2197. if( players[j] HasPerk( "specialty_quieter" ) )
  2198. {
  2199. players[j] waittill_any( "player_downed", "second_chance" );
  2200. players[j] GiveWeapon("colt_dirty_harry");
  2201. players[j] SwitchToWeapon("colt_dirty_harry");
  2202. players[j] iprintlnbold( "You Have A Second Chance" );
  2203. wait 10;
  2204. players[j] maps\_laststand::revive_force_revive( self );
  2205. players[j] iprintlnbold( "Now Run" );
  2206. }
  2207. }
  2208. wait( 0.1 );
  2209. }
  2210. }
  2211. StaminUp()
  2212. {
  2213. while( 1 )
  2214. {
  2215. players = getplayers();
  2216. for( j=0;j<players.size;j++ )
  2217. {
  2218. if( players[j] HasPerk( "specialty_longersprint" ) )
  2219. {
  2220. players[j] setMoveSpeedScale( 1.3 );
  2221. }
  2222. }
  2223. wait( 2 );
  2224. }
  2225. }
  2226. PhDFlopper()
  2227. {
  2228. while( 1 )
  2229. {
  2230. players = getplayers();
  2231. for( j=0;j<players.size;j++ )
  2232. {
  2233. if( players[j] HasPerk( "specialty_detectexplosive" ) && self GetStance() == "prone")
  2234. {
  2235. RadiusDamage( players[j].origin,128, 128, 128, self);
  2236. playfx(loadfx( "explosions/default_explosion" ), players[j].origin);
  2237. self SetStance( "stand" );
  2238. }
  2239. }
  2240. wait( 0.1 );
  2241. }
  2242. }
  2243. PackaPunch(Rise, Origin)
  2244. {
  2245. current_weapon = self getCurrentWeapon();
  2246. level thread add_zombie_hint( "PackaPunch", "Press & Hold &&1 To Buy Pack a Punch Upgrade [Cost: 1000]" );
  2247. level.Ass = spawn("trigger_radius", Origin, 1, 50, 100 );
  2248. level.Ass SetCursorHint( "HINT_NOICON" );
  2249. level.Ass UseTriggerRequireLookAt();
  2250. level.Ass set_hint_string( level.Ass, "PackaPunch" );
  2251. Odd = spawn("trigger_radius", (0, 0, 0), 1, 40, 100 );
  2252. Odd.origin = Origin;
  2253. Odd setContents( 1 );
  2254. Packz = spawn("script_model", Origin);
  2255. Packz setModel("zombie_vending_packapunch_on");
  2256. Packz.angles = (0,-90,0);
  2257. weapon = "zombie_knuckle_crack";
  2258. for(;;)
  2259. {
  2260. level.Ass waittill("trigger", i);
  2261. if( i UseButtonPressed() && i.score >= 1000 )
  2262. {
  2263. i freezeControls( true );
  2264. i.score -= 1000;
  2265. gun = i GetCurrentWeapon();
  2266. forward = anglesToForward( i.angles );
  2267. interact_pos = i.origin + Rise;
  2268. worldgun = spawn( "script_model", interact_pos );
  2269. worldgun.angles = self.angles;
  2270. worldgun setModel( GetWeaponModel( gun ) );
  2271. i takeweapon(gun);
  2272. i giveweapon(weapon);
  2273. i switchtoweapon(weapon);
  2274. PlayFx( level._effect["packapunch_fx"], Packz.origin, (0,0,0));
  2275. worldgun rotateto( i.angles+(0,0,0), 0.35, 0, 0 );
  2276. wait( 0.5 );
  2277. worldgun moveto( Packz.origin+Rise, 1, 0, 0 );
  2278. Packz playsound( "packa_weap_upgrade" );
  2279. wait( 0.35 );
  2280. worldgun delete();
  2281. wait( 3 );
  2282. Packz playsound("packa_weap_ready");
  2283. worldgun = spawn( "script_model", packz.origin+Rise );
  2284. worldgun.angles = i.angles+(0,0,0);
  2285. worldgun setModel( GetWeaponModel( gun+"_upgraded" ) );
  2286. worldgun moveto( interact_pos, 1, 0, 0 );
  2287. i takeweapon(weapon);
  2288. i freezeControls( false );
  2289. wait( 1.5 );
  2290. worldgun delete();
  2291. i giveweapon( gun+"_upgraded" );
  2292. i switchtoweapon( gun+"_upgraded" );
  2293. wait .1;
  2294. }
  2295. wait .1;
  2296. }
  2297. }
  2298. RandomBox()
  2299. {
  2300. level thread add_zombie_hint( "TehBox", "Press &&1 For a Random Weapon [Cost: 500]" );
  2301. level.box = spawn( "trigger_radius", (34,-470,482), 1, 50, 10 );
  2302. level.box SetCursorHint( "HINT_NOICON" );
  2303. level.box UseTriggerRequireLookAt();
  2304. level.box set_hint_string( level.box, "TehBox" );
  2305. for(;;)
  2306. {
  2307. level.box waittill( "trigger", i );
  2308. if( i.score >= 500 && i UseButtonPressed() && level.trig_use1 == false )
  2309. {
  2310. i.gunList = [];
  2311. i.gunList[0] = "zombie_ray_gun";
  2312. i.gunList[1] = "zombie_mp40";
  2313. i.gunList[2] = "zombie_stg44";
  2314. i.gunList[3] = "zombie_thompson";
  2315. i.gunList[4] = "zombie_mp40";
  2316. i.gunList[5] = "m1garand_gl_zombie";
  2317. i.gunList[6] = "zombie_bar";
  2318. i.gunList[7] = "zombie_fg42";
  2319. i.gunList[8] = "zombie_30cal";
  2320. i.gunList[9] = "zombie_doublebarrel";
  2321. i.gunList[10] = "zombie_colt_dirty_harry";
  2322. i.gunList[11] = "zombie_kar98k_scoped_zombie";
  2323. i.gunList[12] = "zombie_m1carbine";
  2324. i.gunList[13] = "zombie_ptrs41_zombie";
  2325. i.gunList[14] = "zombie_defaultweapon";
  2326. i.gunList[15] = "zombie_doublebarrel_sawed_grip";
  2327. i.gunList[16] = "zombie_shotgun";
  2328. i.gunList[17] = "zombie_panzerschrek";
  2329. i.gunList[18] = "zombie_sm2_flamethrower_zombie";
  2330. i.gunList[19] = "zombie_walther";
  2331. i.gunList[20] = "zombie_zombie_melee";
  2332. i.gunList[21] = "zombie_mg42_bipod";
  2333. i.gunList[22] = "zombie_springfield_scoped_zombie";
  2334. i.gunList[23] = "zombie_doublebarrel_sawed_grip";
  2335. i.gunList[24] = "zombie_kar98k_scoped_zombie";
  2336. i.gunList[25] = "zombie_type99_lmg_bipod";
  2337. i.gunList[26] = "zombie_tesla_gun";
  2338. i.PickedWeapon = RandomInt( i.gunList.size );
  2339. i.score -= 500;
  2340. level.trig_use1 = true;
  2341. maps\_zombiemode_utility::play_sound_at_pos( "open_chest", i.origin );
  2342. maps\_zombiemode_utility::play_sound_at_pos( "music_chest", i.origin );
  2343. i giveWeapon( "zombie_knuckle_crack" );
  2344. i switchToWeapon( "zombie_knuckle_crack" );
  2345. wait 3.5;
  2346. i takeWeapon( "zombie_knuckle_crack" );
  2347. wait .1;
  2348. i giveweapon( i.gunList[i.PickedWeapon] );
  2349. i switchToWeapon( i.gunList[i.PickedWeapon] );
  2350. level.trig_use1 = false;
  2351. }
  2352. wait .1;
  2353. }
  2354. }
  2355. SkybaseWindowTrigger()
  2356. {
  2357. level thread add_zombie_hint( "Trigger_1", "Press &&1 To ^2Open^7/^1Close ^7The Window" );
  2358. level.trig = spawn( "trigger_radius", (105.734, -360.858, 505.125), 1, 10, 10 );
  2359. level.trig SetCursorHint( "HINT_NOICON" );
  2360. level.trig UseTriggerRequireLookAt();
  2361. level.trig set_hint_string( level.trig, "Trigger_1" );
  2362. for(;;)
  2363. {
  2364. level.trig waittill( "trigger", i );
  2365. if( i UseButtonPressed() && level.secretRoomOpen == false && level.trig1_use == false )
  2366. {
  2367. level.trig_use = true;
  2368. level.secretRoomOpen = true;
  2369. level.Berry6 rotateroll(-180,.7);
  2370. level.Berry moveTo ( level.Berry.origin + (0,0,55), 1.5 );
  2371. level.Berry0 moveTo ( level.Berry0.origin + (0,0,55), 1.5 );
  2372. level.Berry1 moveTo ( level.Berry1.origin + (0,0,55), 1.5 );
  2373. level.Berry2 moveTo ( level.Berry2.origin + (0,0,55), 1.5 );
  2374. i playsound( "door_slide_open" );
  2375. wait 2;
  2376. level.Berry6 rotateroll(180,.7);
  2377. wait .9;
  2378. level.trig_use = false;
  2379. }
  2380. if( i UseButtonPressed() && level.secretRoomOpen == true && level.trig1_use == false )
  2381. {
  2382. level.trig_use = true;
  2383. level.secretRoomOpen = false;
  2384. level.Berry6 rotateroll(-180,.7);
  2385. level.Berry moveTo ( level.Berry.origin + (0,0,-55), 1.5 );
  2386. level.Berry0 moveTo ( level.Berry0.origin + (0,0,-55), 1.5 );
  2387. level.Berry1 moveTo ( level.Berry1.origin + (0,0,-55), 1.5 );
  2388. level.Berry2 moveTo ( level.Berry2.origin + (0,0,-55), 1.5 );
  2389. i playsound( "door_slide_open" );
  2390. wait 2;
  2391. level.Berry6 rotateroll(180,.7);
  2392. wait .9;
  2393. level.trig_use = false;
  2394. }
  2395. }
  2396. }
  2397. SkybaseEntranceTrigger()
  2398. {
  2399. level thread add_zombie_hint( "Blue", "Press &&1 To Enter The SkyBase" );
  2400. level.ent = spawn( "trigger_radius", (-236.375, -906.043, 240.693), 1, 15, 15 );
  2401. level.ent SetCursorHint( "HINT_NOICON" );
  2402. level.ent UseTriggerRequireLookAt();
  2403. level.ent set_hint_string( level.ent, "Blue" );
  2404. for(;;)
  2405. {
  2406. level.ent waittill( "trigger", i );
  2407. if( i UseButtonPressed() && i.is_zombie == false && i.AlreadyBeingUsed == 1 )
  2408. {
  2409. i thread EnterTheBase();
  2410. wait 1;
  2411. }
  2412. }
  2413. }
  2414. SkybaseExitTrigger()
  2415. {
  2416. level thread add_zombie_hint( "BlueBerry", "Press &&1 To Exit the Skybase" );
  2417. level.exit = spawn( "trigger_radius", (-236.375, -466.043, 520.693), 1, 15, 15 );
  2418. level.exit SetCursorHint( "HINT_NOICON" );
  2419. level.exit UseTriggerRequireLookAt();
  2420. level.exit set_hint_string( level.exit, "BlueBerry" );
  2421. for(;;)
  2422. {
  2423. level.exit waittill( "trigger", i );
  2424. if( i UseButtonPressed() && i.is_zombie == false && i.AlreadyBeingUsed == 1 )
  2425. {
  2426. i thread ExitTheBase();
  2427. wait 1;
  2428. }
  2429. }
  2430. }
  2431. EnterTheBase()
  2432. {
  2433. self.AlreadyBeingUsed = 0;
  2434. self EnableHealthShield( true );
  2435. self EnableInvulnerability();
  2436. self setStance( "stand" );
  2437. self Hide();
  2438. self.Launcher = spawn( "script_origin", (-236.375, -906.043, 230.693) );
  2439. self playerlinkto( self.Launcher );
  2440. self.Launcher moveto ( (-236.375, -906.043, 630.693), 2.5, 1, 1 );
  2441. wait 2.5;
  2442. self.Launcher moveto ( (-236.375, -466.043, 630.693), 2.5, 1, 1 );
  2443. self.Launcher waittill( "movedone" );
  2444. self Show();
  2445. self.Launcher delete();
  2446. self unlink();
  2447. self.AlreadyBeingUsed = 1;
  2448. }
  2449. ExitTheBase()
  2450. {
  2451. self.AlreadyBeingUsed = 0;
  2452. self setStance( "stand" );
  2453. self Hide();
  2454. self.Launcher = spawn( "script_origin", (-236.375, -466.043, 520.693) );
  2455. self playerlinkto( self.Launcher );
  2456. self.Launcher moveto ( (-236.375, -466.043, 630.693), 2.5, 1, 1 );
  2457. self.Launcher waittill( "movedone" );
  2458. self.Launcher moveto ( (-236.375, -906.043, 630.693), 2.5, 1, 1 );
  2459. self.Launcher waittill( "movedone" );
  2460. self.Launcher moveto ( (-236.375, -906.043, 240.693), 2.5, 1, 1 );
  2461. self.Launcher waittill( "movedone" );
  2462. self Show();
  2463. self.Launcher delete();
  2464. self unlink();
  2465. self EnableHealthShield( true );
  2466. self EnableInvulnerability();
  2467. self.AlreadyBeingUsed = 1;
  2468. }
  2469. SkybaseFloor(origin)
  2470. {
  2471. for(i=0;i<12;i++)
  2472. {
  2473. model = spawn("script_model", (origin[0]+(i*24),origin[1],origin[2]));
  2474. model.angles = (0,90,0);
  2475. model setmodel("zombie_treasure_box_lid");
  2476. }
  2477. }
  2478. SkybaseFloorMiddle(origin)
  2479. {
  2480. for(i=0;i<19;i++)
  2481. {
  2482. model = spawn("script_model", (origin[0]+(i*24),origin[1],origin[2]));
  2483. model.angles = (0,90,0);
  2484. model setmodel("zombie_treasure_box_lid");
  2485. }
  2486. }
  2487. SkybaseWall(origin)
  2488. {
  2489. for(i=0;i<3;i++)
  2490. {
  2491. model = spawn("script_model", (origin[0]+(i*87),origin[1],origin[2]));
  2492. model.angles = (0,0,0);
  2493. model setmodel("zombie_treasure_box");
  2494. }
  2495. }
  2496. SkybaseWall1(origin)
  2497. {
  2498. for(i=0;i<2;i++)
  2499. {
  2500. model = spawn("script_model", (origin[0]+(i*185),origin[1],origin[2]));
  2501. model.angles = (0,0,0);
  2502. model setmodel("zombie_treasure_box");
  2503. }
  2504. }
  2505. SkybaseWall2(origin)
  2506. {
  2507. for(i=0;i<1;i++)
  2508. {
  2509. model = spawn("script_model", (origin[0],origin[1],origin[2]+(i*16)));
  2510. model.angles = (0,0,0);
  2511. model setmodel("zombie_treasure_box");
  2512. }
  2513. }
  2514. SkybaseBox(origin)
  2515. {
  2516. for(i=0;i<1;i++)
  2517. {
  2518. model = spawn("script_model", (origin[0]+(i*265),origin[1],origin[2]));
  2519. model.angles = (0,90,0);
  2520. model setmodel("zombie_treasure_box");
  2521. }
  2522. }
  2523. SkybaseBoxLid(origin)
  2524. {
  2525. for(i=0;i<1;i++)
  2526. {
  2527. model = spawn("script_model", (origin[0],origin[1],origin[2]));
  2528. model.angles = (0,90,0);
  2529. model setmodel("zombie_treasure_box_lid");
  2530. }
  2531. }
  2532. SkybaseSideWallFront(origin)
  2533. {
  2534. for(i=0;i<1;i++)
  2535. {
  2536. model = spawn("script_model", (origin[0]+(i*265),origin[1],origin[2]));
  2537. model.angles = (0,90,0);
  2538. model setmodel("zombie_treasure_box");
  2539. }
  2540. }
  2541. SkybaseSideWallBack1(origin)
  2542. {
  2543. for(i=0;i<2;i++)
  2544. {
  2545. model = spawn("script_model", (origin[0]+(i*265),origin[1],origin[2]));
  2546. model.angles = (0,90,0);
  2547. model setmodel("zombie_treasure_box");
  2548. }
  2549. }
  2550. SkybaseRing(origin)
  2551. {
  2552. for(i=0;i<1;i++)
  2553. {
  2554. Berry = spawn("script_model", (origin[0]+(i*87),origin[1],origin[2]));
  2555. Berry.angles = (0,0,0);
  2556. Berry setmodel("zombie_teleporter_mainframe_ring1");
  2557. self thread RotateThat(Berry);
  2558. }
  2559. }
  2560. SkybaseRing1(origin)
  2561. {
  2562. for(i=0;i<1;i++)
  2563. {
  2564. Berry = spawn("script_model", (origin[0]+(i*87),origin[1],origin[2]));
  2565. Berry.angles = (45,-90,0);
  2566. Berry setmodel("zombie_teleporter_mainframe_ring1");
  2567. }
  2568. }
  2569. SkybaseRing2(origin)
  2570. {
  2571. for(i=0;i<1;i++)
  2572. {
  2573. Berry = spawn("script_model", (origin[0]+(i*40),origin[1],origin[2]));
  2574. Berry.angles = (90,90,0);
  2575. Berry setmodel("zombie_teleporter_mainframe_ring1");
  2576. }
  2577. }
  2578. SkybaseRing3(origin)
  2579. {
  2580. for(i=0;i<1;i++)
  2581. {
  2582. Berry = spawn("script_model", (origin[0]+(i*87),origin[1],origin[2]));
  2583. Berry.angles = (-45,-90,0);
  2584. Berry setmodel("zombie_teleporter_mainframe_ring1");
  2585. }
  2586. }
  2587. RotateThat(Berry)
  2588. {
  2589. for(;;)
  2590. {
  2591. Berry rotateyaw(360,1.5);
  2592. wait 1.5;
  2593. }
  2594. }
  2595. UnlockSP()
  2596. {
  2597. self Kill_Menu();
  2598. for(a = 0;a < 13;a++)
  2599. {
  2600. SetClientSysState( "collectibles", a );
  2601. }
  2602. self VisionSetNaked( "cheat_invert_contrast", 1 );
  2603. wait .1;
  2604. self VisionSetNaked( "cheat_contrast", 1 );
  2605. wait .1;
  2606. self VisionSetNaked( "cheat_bw_contrast", 1 );
  2607. self thread progressBar( 10, "Unlocking All ^1Death Cards & Missions...");
  2608. SetMissionDvar( "mis_difficulty", 2 );
  2609. SetMissionDvar( "mis_01", 20 );
  2610. wait 10;
  2611. self VisionSetNaked( "default", 1 );
  2612. }
  2613. NewUnlock()
  2614. {
  2615. self Kill_Menu();
  2616. self VisionSetNaked( "cheat_invert_contrast", 1 );
  2617. wait .1;
  2618. self VisionSetNaked( "cheat_contrast", 1 );
  2619. wait .1;
  2620. self VisionSetNaked( "cheat_bw_contrast", 1 );
  2621. self thread progressBar( 10, "Unlocking All ^1Attachments...");
  2622. self freezecontrols(true);
  2623.  
  2624. weapons["bolts"] = strTok("springfield|type99rifle|kar98k|mosinrifle","|");
  2625. weapons["rifles"] = strTok("svt40|gewehr43|m1garand|stg44|m1carbine","|");
  2626. weapons["sub"] = strTok("thompson|mp40|type100smg|ppsh","|");
  2627. weapons["shotty"] = strTok("shotgun|doublebarreledshotgun","|");
  2628. weapons["machine"] = strTok("type99lmg|bar|dp28|mg42|fg42|30cal","|");
  2629. attachments["bolts"] = strTok("scope|bayonet|gl","|");
  2630. attachments["rifles"] = strTok("flash|silenced|reflex|aperture|telescopic|gl|scoped|bayonet|bigammo","|");
  2631. attachments["sub"] = strTok("silenced|aperture|reflex|bigammo","|");
  2632. attachments["shotty"] = strTok("grip|bayonet|sawoff","|");
  2633. attachments["machine"] = strTok("bipod|bayonet|telescopic","|");
  2634. keys = getArrayKeys( weapons );
  2635. self iPrintln("Unlocking all attachments, wait about 6 seconds.");
  2636. for(i=0;i<keys.size;i++)
  2637. {
  2638. for(w=0;w<weapons[keys[i]].size;w++)
  2639. {
  2640. for(a=0;a<attachments[keys[i]].size;a++)
  2641. {
  2642. maps\_challenges_coop::unlockAttachment(weapons[keys[i]][w]+" "+attachments[keys[i]][a]);
  2643. wait 0.01;
  2644. }
  2645. }
  2646. }
  2647.  
  2648. self freezecontrols(false);
  2649. self VisionSetNaked( "default", 1 );
  2650. }
  2651. DoAchievy()
  2652. {
  2653. self Kill_Menu();
  2654. self VisionSetNaked( "cheat_invert_contrast", 1 );
  2655. wait .1;
  2656. self VisionSetNaked( "cheat_contrast", 1 );
  2657. wait .1;
  2658. self VisionSetNaked( "cheat_bw_contrast", 1 );
  2659. self thread progressBar( 10, "Unlocking All ^1Achievements...");
  2660. self freezecontrols(true);
  2661. Achiev[1] = "DLC2_ZOMBIE_KILLS";
  2662. Achiev[2] = "DLC2_ZOMBIE_ALL_TRAPS";
  2663. Achiev[3] = "DLC2_ZOMBIE_HEADSHOTS";
  2664. Achiev[4] = "DLC2_ZOMBIE_MELEE_KILLS";
  2665. Achiev[5] = "DLC2_ZOMBIE_SURVIVOR";
  2666. Achiev[6] = "DLC2_ZOMBIE_ALL_PERKS";
  2667. Achiev[7] = "DLC2_ZOMBIE_REPAIR_BOARDS";
  2668. Achiev[8] = "DLC2_ZOMBIE_NUKE_KILLS";
  2669. Achiev[9] = "DLC2_ZOMBIE_POINTS";
  2670. Achiev[10] = "DLC3_ZOMBIE_PAP_ONCE";
  2671. Achiev[11] = "DLC3_ZOMBIE_USE_MONKEY";
  2672. Achiev[12] = "DLC3_ZOMBIE_FIVE_TELEPORTS";
  2673. Achiev[13] = "DLC3_ZOMBIE_BOWIE_KILLS";
  2674. Achiev[14] = "DLC3_ZOMBIE_TWO_UPGRADED";
  2675. Achiev[15] = "DLC3_ZOMBIE_ANTI_GRAVITY";
  2676. Achiev[16] = "DLC3_ZOMBIE_ALL_DOORS";
  2677. Achiev[17] = "DLC3_ZOMBIE_FAST_LINK";
  2678. Achiev[18] = "DLC3_ZOMBIE_RAY_TESLA";
  2679. Achiev[19] = "DLC3_ZOMBIE_NO_PERKS";
  2680. Achiev[20] = "MAKIN_ACHIEVEMENT";
  2681. Achiev[21] = "PELELIU_ACHIEVEMENT";
  2682. Achiev[22] = "OKINAWA_ACHIEVEMENT";
  2683. Achiev[23] = "BERLIN_ACHIEVEMENT";
  2684. Achiev[24] = "WON_THE_WAR";
  2685. Achiev[25] = "MAK_VETERAN_ACHIEVEMENT";
  2686. Achiev[26] = "PEL1_VETERAN_ACHIEVEMENT";
  2687. Achiev[27] = "PEL1A_VETERAN_ACHIEVEMENT";
  2688. Achiev[28] = "PEL1B_VETERAN_ACHIEVEMENT";
  2689. Achiev[29] = "PEL2_VETERAN_ACHIEVEMENT";
  2690. Achiev[30] = "PBY_FLY_VETERAN_ACHIEVEMENT";
  2691. Achiev[31] = "SEE1_VETERAN_ACHIEVEMENT";
  2692. Achiev[32] = "SEE2_VETERAN_ACHIEVEMENT";
  2693. Achiev[33] = "BER1_VETERAN_ACHIEVEMENT";
  2694. Achiev[34] = "SNIPER_VETERAN_ACHIEVEMENT";
  2695. Achiev[35] = "BER2_VETERAN_ACHIEVEMENT";
  2696. Achiev[36] = "BER3_VETERAN_ACHIEVEMENT";
  2697. Achiev[37] = "BER3B_VETERAN_ACHIEVEMENT";
  2698. Achiev[38] = "OKI2_VETERAN_ACHIEVEMENT";
  2699. Achiev[39] = "OKI3_VETERAN_ACHIEVEMENT";
  2700. Achiev[40] = "WON_THE_WAR_HARDCORE";
  2701. Achiev[41] = "MAK_ACHIEVEMENT_RYAN";
  2702. Achiev[42] = "PEL1_ACHIEVEMENT_MASS";
  2703. Achiev[43] = "PEL2_ACHIEVEMENT_TREE";
  2704. Achiev[44] = "SEE2_ACHIEVEMENT_TOWER";
  2705. Achiev[45] = "BER1_ACHIEVEMENT_KILL15";
  2706. Achiev[46] = "BER2_ACHIEVEMENT_KILL10";
  2707. Achiev[47] = "SNIPER_ACHIEVEMENT_AMSEL";
  2708. Achiev[48] = "SNIPER_ACHIEVEMENT_GUNSLING";
  2709. Achiev[49] = "PBY_ACHIEVEMENT_LIGHTSOUT";
  2710. Achiev[50] = "PBY_ACHIEVEMENT_ZEROS";
  2711. Achiev[51] = "OKI3_ACHIEVEMENT_KILL8";
  2712. Achiev[52] = "OKI3_ACHIEVEMENT_ANGEL";
  2713. Achiev[53] = "ANY_ACHIEVEMENT_FTONLY";
  2714. Achiev[54] = "ANY_ACHIEVEMENT_KILL3";
  2715. Achiev[55] = "ANY_ACHIEVEMENT_BANZAI";
  2716. Achiev[56] = "ANY_ACHIEVEMENT_GRASSJAP";
  2717. Achiev[57] = "ANY_ACHIEVEMENT_GRAVEFULL";
  2718. Achiev[58] = "ANY_ACHIEVEMENT_NOWEAPS";
  2719. Achiev[59] = "ANY_ACHIEVEMENT_NODEATH";
  2720. Achiev[60] = "ANY_ACHIEVEMENT_PURPLEHEART";
  2721. Achiev[61] = "COOP_ACHIEVEMENT_CAMPAIGN";
  2722. Achiev[62] = "COOP_ACHIEVEMENT_COMPETITIVE";
  2723. Achiev[63] = "COOP_ACHIEVEMENT_HIGHSCORE";
  2724. Achiev[64] = "MP_PRESTIGE_LVL1";
  2725. Achiev[65] = "MP_PRESTIGE_LVL10";
  2726. Achiev[66] = "DLC2_ZOMBIE_SECRET";
  2727.  
  2728. for( i=1; i<67; i++ )
  2729. {
  2730. self GiveAchievement( Achiev[i] );
  2731. wait 0.2;
  2732. }
  2733. self freezecontrols(false);
  2734. self VisionSetNaked( "default", 1 );
  2735. }
  2736.  
  2737. doLunarLander()
  2738. {
  2739. if(self GetTehMap() == "nzf")
  2740. {
  2741. self.LunasSpawned = true;
  2742. self thread platform_Models();
  2743. self thread platform_playerFalse();
  2744. self thread platform_R();
  2745. self thread platform_R2();
  2746. }
  2747. if(self GetTehMap() == "nzp" && self GetTehMap() == "nza" && self GetTehMap() == "nzs")
  2748. {
  2749. self iprintln("^1You Can Only Spawn The Lunar Lander On ^2Der Riese^1!");
  2750. }
  2751. }
  2752. platform_Models()
  2753. {
  2754. self endon("disconnect");
  2755. level.LunarInUse = false;
  2756. level.LunarPosition = "Spawn";
  2757. SpawnPos = ( 52, -440, 1.8 );
  2758. level.Lunar1 = spawn( "script_model", SpawnPos );
  2759. level.Lunar1 setmodel( "zombie_teleporter_pad" );
  2760. level.Lunar2 = spawn( "script_model", level.Lunar1.origin );
  2761. level.Lunar2 setModel( "zombie_teleporter_pad" );
  2762. level.Lunar2.angles = ( -180, 0, 0 );
  2763. level.Lunar2 linkto( level.Lunar1 );
  2764. level.CtrlPan2 = spawn( "script_model", level.Lunar1.origin + ( 0, 8, 25 ) );
  2765. level.CtrlPan2 setmodel( "zombie_teleporter_control_panel" );
  2766. level.CtrlPan2.angles = ( 0, 180, 0 );
  2767. level.CtrlPan2 linkto( level.Lunar1 );
  2768. level.CtrlPan = spawn( "script_model", level.Lunar1.origin + ( 0, -8, 25 ) );
  2769. level.CtrlPan setmodel( "zombie_teleporter_control_panel" );
  2770. level.CtrlPan linkto( level.Lunar1 );
  2771. level.PlayerOrig0 = spawn( "script_model", level.Lunar1.origin + ( 0, 50, 10 ) );
  2772. level.PlayerOrig0 linkto( level.Lunar1 );
  2773. level.PlayerOrig2 = spawn( "script_model", level.Lunar1.origin + ( 0, -50, 10 ) );
  2774. level.PlayerOrig2 linkto( level.Lunar1 );
  2775. level.PlayerOrig3 = spawn( "script_model", level.Lunar1.origin + ( 50, 0, 10 ) );
  2776. level.PlayerOrig3 linkto( level.Lunar1 );
  2777. level.PlayerOrig4 = spawn( "script_model", level.Lunar1.origin + ( -50, 0, 10 ) );
  2778. level.PlayerOrig4 linkto( level.Lunar1 );
  2779. level._effect["zombie_flashback_american"] = loadfx( "maps/zombie/fx_zombie_flashback_american" );
  2780. playfx( level._effect["zombie_flashback_american"], SpawnPos );
  2781. playfx( level._effect["zombie_flashback_american"], SpawnPos );
  2782. playfx( level._effect["zombie_flashback_american"], ( 300, -1740, 58 ) );
  2783. playfx( level._effect["zombie_flashback_american"], ( 300, -1740, 58 ) );
  2784. }
  2785. platform_R()
  2786. {
  2787. self endon("disconnect");
  2788. level thread add_zombie_hint( "Trigger_1", "Press &&1 To Use Lunar Lander" );
  2789. level.trig = spawn( "trigger_radius", level.Lunar1.origin, 1, 50, 20 );
  2790. level.trig SetCursorHint( "HINT_NOICON" );
  2791. level.trig UseTriggerRequireLookAt();
  2792. level.trig set_hint_string( level.trig, "Trigger_1" );
  2793. cost = 0;
  2794. for(;;)
  2795. {
  2796. level.trig waittill( "trigger", i );
  2797. if( i UseButtonPressed() && level.LunarPosition == "Spawn" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
  2798. {
  2799. if(i.score >= cost )
  2800. {
  2801. i.zombie_cost = 0;
  2802. i.score -= 0;
  2803. level.LunarInUse = true;
  2804. level.trig SetHintString( "Lunar Lander In Use" );
  2805. level.trig2 SetHintString( "Lunar Lander In Use" );
  2806. i platform_Spawn2Dest();
  2807. level.LunarPosition = "Destination";
  2808. level.LunarInUse = false;
  2809. level.trig SetHintString( "Press &&1 To Call Lunar Lander" );
  2810. level.trig2 SetHintString( "Press &&1 To Use Lunar Lander" );
  2811. }
  2812. else
  2813. {
  2814. i iPrintln("^1Not Enough Points");
  2815. }
  2816. }
  2817. if( i UseButtonPressed() && level.LunarPosition == "Destination" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
  2818. {
  2819. level.LunarInUse = true;
  2820. level.trig SetHintString( "Lunar Lander In Use" );
  2821. level.trig2 SetHintString( "Lunar Lander In Use" );
  2822. i platform_Dest2Spawn();
  2823. level.LunarPosition = "Spawn";
  2824. level.LunarInUse = false;
  2825. level.trig SetHintString( "Press &&1 To Use Lunar Lander" );
  2826. level.trig2 SetHintString( "Press &&1 To Call Lunar Lander" );
  2827. }
  2828. }
  2829. }
  2830. platform_R2()
  2831. {
  2832. self endon("disconnect");
  2833. DestPos = ( 300, -1740, 63 );
  2834. level thread add_zombie_hint( "Trigger_1", "Press &&1 To Use Lunar Lander" );
  2835. level.trig2 = spawn( "trigger_radius", DestPos, 1, 50, 20 );
  2836. level.trig2 SetCursorHint( "HINT_NOICON" );
  2837. level.trig2 UseTriggerRequireLookAt();
  2838. level.trig2 set_hint_string( level.trig2, "Trigger_2" );
  2839. cost = 0;
  2840. for(;;)
  2841. {
  2842. level.trig2 waittill( "trigger", i );
  2843. if( i UseButtonPressed() && level.LunarPosition == "Spawn" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
  2844. {
  2845. level.LunarInUse = true;
  2846. level.trig SetHintString( "Lunar Lander In Use" );
  2847. level.trig2 SetHintString( "Lunar Lander In Use" );
  2848. i platform_Spawn2Dest();
  2849. level.LunarPosition = "Destination";
  2850. level.LunarInUse = false;
  2851. level.trig SetHintString( "Press &&1 To Call Lunar Lander" );
  2852. level.trig2 SetHintString( "Press &&1 To Use Lunar Lander" );
  2853. }
  2854. if( i UseButtonPressed() && level.LunarPosition == "Destination" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
  2855. {
  2856. if(i.score >= cost )
  2857. {
  2858. i.zombie_cost = 0;
  2859. i.score -= 0;
  2860. level.LunarInUse = true;
  2861. level.trig SetHintString( "Lunar Lander In Use" );
  2862. level.trig2 SetHintString( "Lunar Lander In Use" );
  2863. i platform_Dest2Spawn();
  2864. level.LunarPosition = "Spawn";
  2865. level.LunarInUse = false;
  2866. level.trig SetHintString( "Press &&1 To Use Lunar Lander" );
  2867. level.trig2 SetHintString( "Press &&1 To Call Lunar Lander" );
  2868. }
  2869. else
  2870. {
  2871. i iPrintln("^1Not Enough Points");
  2872. }
  2873. }
  2874. }
  2875. }
  2876. platform_Spawn2Dest()
  2877. {
  2878. self endon("disconnect");
  2879. self PlayerCheck(0,level.PlayerOrig0);
  2880. self PlayerCheck(1,level.PlayerOrig2);
  2881. self PlayerCheck(2,level.PlayerOrig3);
  2882. self PlayerCheck(3,level.PlayerOrig4);
  2883. self thread platform_effect();
  2884. self thread platform_Sound();
  2885. self thread LunarFx( ( 52, -440, 1.8 ) );
  2886. level.Lunar1 moveto( ( 85, -450, 699 ), 3, .5 );
  2887. level.Lunar1 vibrate((0,-100,0), 1.5, .4, 3);
  2888. level.Lunar1 waittill( "movedone" );
  2889. wait .2;
  2890. level.Lunar1 moveto( ( 300, -1740, 699 ), 6 );
  2891. level.Lunar1 waittill( "movedone" );
  2892. wait .2;
  2893. self thread AllDeath1();
  2894. level.Lunar1 moveto( ( 300, -1740, 58 ), 3, 0, .5 );
  2895. level.Lunar1 vibrate((0,-100,0), 1.5, .4, 2.5);
  2896. level.Lunar1 waittill( "movedone" );
  2897. self PlayerUnlink(0);
  2898. self PlayerUnlink(1);
  2899. self PlayerUnlink(2);
  2900. self PlayerUnlink(3);
  2901. self notify( "platform_arived" );
  2902. }
  2903. platform_Dest2Spawn()
  2904. {
  2905. self endon("disconnect");
  2906. self PlayerCheck(0,level.PlayerOrig0);
  2907. self PlayerCheck(1,level.PlayerOrig2);
  2908. self PlayerCheck(2,level.PlayerOrig3);
  2909. self PlayerCheck(3,level.PlayerOrig4);
  2910. self thread platform_effect();
  2911. self thread platform_Sound();
  2912.  
  2913. self thread LunarFx( ( 300, -1740, 63 ) );
  2914. level.Lunar1 moveto( ( 300, -1740, 699 ), 3, .5 );
  2915. level.Lunar1 vibrate((0,-100,0), 1.5, .4, 3);
  2916. level.Lunar1 waittill( "movedone" );
  2917. wait .2;
  2918. level.Lunar1 moveto( ( 52, -440, 699 ), 6 );
  2919. level.Lunar1 waittill( "movedone" );
  2920. wait .2;
  2921. self thread AllDeath2();
  2922. level.Lunar1 moveto( ( 52, -440, 1.8 ), 3, 0, .5 );
  2923. level.Lunar1 vibrate((0,-100,0), 1.5, .4, 2.5);
  2924. level.Lunar1 waittill( "movedone" );
  2925. self PlayerUnlink(0);
  2926. self PlayerUnlink(1);
  2927. self PlayerUnlink(2);
  2928. self PlayerUnlink(3);
  2929. self notify( "platform_arived" );
  2930. }
  2931. PlayerCheck(num, origin)
  2932. {
  2933. self endon("disconnect");
  2934. P = get_players();
  2935. if( distance( P[num].origin, level.Lunar1.origin ) < 100 )
  2936. {
  2937. P[num] EnableHealthShield( true );
  2938. P[num] EnableInvulnerability();
  2939. P[num] playerLinkTo( origin );
  2940. }
  2941. }
  2942. PlayerUnlink(num)
  2943. {
  2944. self endon("disconnect");
  2945. P = get_players();
  2946. if( distance( P[num].origin, level.Lunar1.origin ) < 100 )
  2947. {
  2948. P[num] unlink();
  2949. P[num] EnableHealthShield( false );
  2950. P[num] DisableInvulnerability();
  2951. P[num].OnLunar = false;
  2952. }
  2953. }
  2954. platform_effect()
  2955. {
  2956. self endon("disconnect");
  2957. self endon("platform_arived");
  2958. for(;;)
  2959. {
  2960. earthquake (.15, .2, level.Lunar2.origin, 500);
  2961. wait .2;
  2962. }
  2963. }
  2964. platform_Sound()
  2965. {
  2966. self endon("disconnect");
  2967. self endon("platform_arived");
  2968. for(;;)
  2969. {
  2970. playsoundatposition( "wpn_flmthwr_mn_flame", level.Lunar2.origin );
  2971. self PlaySound("wpn_flmthwr_mn_flame","wpn",true);
  2972. wait 1.5;
  2973. }
  2974. }
  2975.  
  2976. AllDeath1()
  2977. {
  2978. wait 2;
  2979. self thread playerDie((300, -1740, 58), 0);
  2980. self thread playerDie((300, -1740, 58), 1);
  2981. self thread playerDie((300, -1740, 58), 2);
  2982. self thread playerDie((300, -1740, 58), 3);
  2983.  
  2984. }
  2985. AllDeath2()
  2986. {
  2987. wait 2;
  2988. self thread playerDie((52, -440, 1.8), 0);
  2989. self thread playerDie((52, -440, 1.8), 1);
  2990. self thread playerDie((52, -440, 1.8), 2);
  2991. self thread playerDie((52, -440, 1.8), 3);
  2992. }
  2993. playerDie(ent,num)
  2994. {
  2995. self endon("disconnect");
  2996. self endon("platform_arived");
  2997. P = get_players();
  2998. for(;;)
  2999. {
  3000. XAx = RandomIntRange( -110, 110 );
  3001. YAx = RandomIntRange( -110, 110 );
  3002. if( distance( P[num].origin, ent ) < 100 && P[num].OnLunar == false )
  3003. {
  3004. P[num] DoDamage( P[num].health + 999999, P[num].origin, undefined, undefined, "riflebullet" );
  3005. P[num] setOrigin( ent + ( XAx, YAx, 3 ) );
  3006. }
  3007. wait .01;
  3008. }
  3009. }
  3010. platform_playerFalse()
  3011. {
  3012. for( i = 0;i < get_players().size;
  3013. i++ )
  3014. {
  3015. get_players()[i].OnLunar = false;
  3016. }
  3017. }
  3018. LunarFx( orig )
  3019. {
  3020. self endon("disconnect");
  3021. level._effect["mainframe_steam"] = loadfx( "maps/zombie/fx_zombie_mainframe_steam" );
  3022. a = "mainframe_steam";
  3023. playfx( level._effect[a], orig + ( 50, -50, 0 ) );
  3024. wait .05;
  3025. playfx( level._effect[a], orig + ( -50, -50, 0 ) );
  3026. wait .05;
  3027. playfx( level._effect[a], orig + ( 50, 50, 0 ) );
  3028. wait .05;
  3029. playfx( level._effect[a], orig + ( -50, 50, 0 ) );
  3030. wait .05;
  3031. playfx( level._effect[a], orig + ( 0, -50, 0 ) );
  3032. wait .05;
  3033. playfx( level._effect[a], orig + ( 0, 50, 0 ) );
  3034. wait .05;
  3035. playfx( level._effect[a], orig + ( -50, 0, 0 ) );
  3036. wait .05;
  3037. playfx( level._effect[a], orig + ( 50, 0, 0 ) );
  3038. wait .05;
  3039. playfx( level._effect[a], orig + ( -50, 25, 0 ) );
  3040. wait .05;
  3041. playfx( level._effect[a], orig + ( -50, -25, 0 ) );
  3042. wait .05;
  3043. playfx( level._effect[a], orig + ( 50, 25, 0 ) );
  3044. wait .05;
  3045. playfx( level._effect[a], orig + ( 50, -25, 0 ) );
  3046. wait .05;
  3047. playfx( level._effect[a], orig + ( -25, -50, 0 ) );
  3048. wait .05;
  3049. playfx( level._effect[a], orig + ( -25, 50, 0 ) );
  3050. wait .05;
  3051. playfx( level._effect[a], orig + ( 25, -50, 0 ) );
  3052. wait .05;
  3053. playfx( level._effect[a], orig + ( 25, 50, 0 ) );
  3054. wait .05;
  3055. }
  3056. doDisco()
  3057. {
  3058. self endon("disconnect");
  3059. if( self.Drunk == false )
  3060. {
  3061. self thread Drunk5();
  3062. self Kill_Menu();
  3063. self.Drunk = true;
  3064. self iPrintln("^3Drunk Mode ^2ON");
  3065. }
  3066. else
  3067. {
  3068. self notify( "Drunk_Mode" );
  3069. self.Drunk = false;
  3070. self setPlayerAngles(self.angles+(0,0,0));
  3071. self VisionSetNaked( "default", 1.5 );
  3072. wait .3;
  3073. self SetBlur( 0, 0 );
  3074. self setPlayerAngles(self.angles+(0,0,0));
  3075. self iPrintln("^3Drunk Mode ^1OFF");
  3076. }
  3077. }
  3078. Drunk5()
  3079. {
  3080. self endon("disconnect");
  3081. self endon("Drunk_Mode1");
  3082. weap123 = self getCurrentWeapon();
  3083. self GiveWeapon( "zombie_perk_bottle_doubletap" );
  3084. self SwitchToWeapon( "zombie_perk_bottle_doubletap" );
  3085. wait 2.8;
  3086. self TakeWeapon( "zombie_perk_bottle_doubletap" );
  3087. wait .001;
  3088. self GiveWeapon( "zombie_perk_bottle_revive" );
  3089. self SwitchToWeapon( "zombie_perk_bottle_revive" );
  3090. wait 2.2;
  3091. self TakeWeapon( "zombie_perk_bottle_revive" );
  3092. wait .001;
  3093. self GiveWeapon( "zombie_perk_bottle_sleight" );
  3094. self SwitchToWeapon( "zombie_perk_bottle_sleight" );
  3095. wait 2.2;
  3096. self TakeWeapon( "zombie_perk_bottle_sleight" );
  3097. self SwitchToWeapon( weap123 );
  3098. wait 1.4;
  3099. self thread Drunk4();
  3100. wait .2;
  3101. self notify( "Drunk_Mode1" );
  3102. }
  3103. Drunk4()
  3104. {
  3105. self endon("disconnect");
  3106. self endon("Drunk_Mode");
  3107. self endon("death");
  3108. self thread Drunk3();
  3109. self thread stand();
  3110. for(;;)
  3111. {
  3112. self thread Drunk1();
  3113. wait .8;
  3114. self notify( "Drunk1End" );
  3115. self thread Drunk2();
  3116. wait .8;
  3117. self notify( "Drunk2End" );
  3118. self thread Drunk2();
  3119. wait .8;
  3120. self notify( "Drunk2End" );
  3121. self thread Drunk1();
  3122. wait .8;
  3123. self notify( "Drunk1End" );
  3124. wait .000000000001;
  3125. }
  3126. }
  3127. Drunk3()
  3128. {
  3129. self endon("disconnect");
  3130. self endon("Drunk_Mode");
  3131. self endon("death");
  3132. for(;;)
  3133. {
  3134. self VisionSetNaked( "cheat_contrast", 1.5 );
  3135. self SetBlur( 9.3, 0.6 );
  3136. wait 1.1;
  3137. self SetBlur( 0, 0.6 );
  3138. wait 1.1;
  3139. self SetBlur( 9.3, 0.6 );
  3140. wait 1.1;
  3141. self SetBlur( 0, 0.6 );
  3142. wait 1.1;
  3143. }
  3144. }
  3145. Drunk1()
  3146. {
  3147. self endon("disconnect");
  3148. self endon("Drunk_Mode");
  3149. self endon("Drunk1End");
  3150. self endon("death");
  3151. for(;;)
  3152. {
  3153. self.angle = self GetPlayerAngles();
  3154. if(self.angle[1] < 179)self SetPlayerAngles( self.angle +(0, 0, 2) );
  3155. else self SetPlayerAngles( self.angle *(1, -1, 1) );
  3156. wait 0.00025;
  3157. }
  3158. }
  3159. Drunk2()
  3160. {
  3161. self endon("disconnect");
  3162. self endon("Drunk_Mode");
  3163. self endon("Drunk2End");
  3164. self endon("death");
  3165. for(;;)
  3166. {
  3167. self.angle = self GetPlayerAngles();
  3168. if(self.angle[1] < 179)self SetPlayerAngles( self.angle +(0, 0, -2) );
  3169. else self SetPlayerAngles( self.angle *(1, -1, 1) );
  3170. wait 0.00025;
  3171. }
  3172. }
  3173. stand()
  3174. {
  3175. self endon("disconnect");
  3176. self endon("Drunk_Mode");
  3177. self endon("death");
  3178. for(;;)
  3179. {
  3180. self SetStance( "prone" );
  3181. wait 1.0;
  3182. self SetStance( "stand" );
  3183. wait 3.9;
  3184. }
  3185. }
  3186.  
  3187. cripsNuKeNaDeS()
  3188. {
  3189. self endon( "disconnect" );
  3190. self endon( "death" );
  3191. self GiveMaxAmmo( "stielhandgranate" );
  3192. self SetWeaponAmmoClip( "stielhandgranate", 4 );
  3193.  
  3194. for(;;)
  3195. {
  3196. self waittill("grenade_fire", grenade);
  3197. self GiveMaxAmmo( "stielhandgranate" );
  3198. self SetWeaponAmmoClip( "stielhandgranate", 4 );
  3199. Rise = (0, 0, 40);
  3200. grenade hide();
  3201. model = spawn( "script_model", grenade.origin );
  3202. model SetModel( "zombie_bomb" );
  3203. playfx(loadfx("monkey_glow"), model.origin);
  3204. model linkTo( grenade );
  3205. model.angles = grenade.angles + rise;
  3206. model thread maps\_zombiemode_powerups::powerup_wobble();
  3207. playfx (level._effect["misc/fx_zombie_powerup_on"], model.origin);
  3208. grenade resetmissiledetonationtime();
  3209. model thread byebye();
  3210. }
  3211.  
  3212. }
  3213. byebye()
  3214. {
  3215. wait 2;
  3216. Playfx( level._effect["explosions/fx_mortarExp_dirt"], self.origin );
  3217. wait 1;
  3218. playsoundatposition( "pre_spawn", self.origin );
  3219. playsoundatposition( "bolt", self.origin );
  3220. Rise = (0, 0, 30);
  3221. wait .5;
  3222. playsoundatposition( "nuke_flash", self.origin );
  3223. players = get_players();
  3224. for (i = 0;i < players.size;i++)
  3225. playfx(loadfx("misc/fx_zombie_mini_nuke"), self.origin + rise);
  3226. playfx (level._effect["powerup_grabbed"], self.origin);
  3227. playfx (level._effect["powerup_grabbed_wave"], self.origin);
  3228. zombies = GetAiSpeciesArray( "axis", "all" );
  3229. for (i = 0; i < zombies.size; i++)
  3230. if( distance( zombies[i].origin, self.origin ) < 300 )
  3231. {
  3232. zombies[i] dodamage(zombies[i].health + 666, zombies[i].origin);
  3233. }
  3234. if( distance( zombies[i].origin, self.origin ) < 500 )
  3235. {
  3236. zombies[i] thread animscripts\death::flame_death_fx();
  3237. }
  3238. self delete();
  3239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement