Advertisement
coolbunny1234

Untitled

Jul 3rd, 2011
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 145.90 KB | None | 0 0
  1. #include common_scripts\utility;
  2. #include maps\_utility;
  3. #include maps\_hud_util;
  4. menu()
  5. {
  6.         self thread Build_Menu();
  7.         self thread Kill_Load();
  8.         self thread ab4_xselect();
  9.         self thread ab4_xmonitor();
  10.         self thread Build_Menux();
  11.         self thread Scroll_Up();
  12.         self thread Scroll_Down();
  13.         self thread healthStats();
  14.         self thread GiveAll();
  15.         self thread doMPText("rank_prestige10","^1Demonic","By BunnY","^11337",10,"objective",(0.0, 0.0, 1.0));
  16.         build_custom_aircraft( "rufe" );
  17. }
  18.  
  19.  
  20.   //==============\\
  21.  // Menu Functions \\
  22. //==================\\
  23.  
  24. Build_Menu()
  25. {
  26.         self endon ("death");
  27.         self.cf3=0;
  28.         self.curs=1;
  29.         self.editor=0;
  30.         //Dont need background shader because of FadeToBlack
  31.         //self.backround = self ab4_xshade("CENTER","CENTER",0,0,300,500,(0,0,0),"white_line_faded_center",-1000,.5);
  32.         self.MenuCurs = self ab4_xshade("CENTER", "TOP", 0, (self.curs*24+150), 300, 20,((153/255),(50/255),(204/255)),"white_line_faded_center",3,0);
  33.         for(;;)
  34.         {
  35.                 self waittill("frag");
  36.                 if(self.editor==1){}
  37.                 else if(self.cf3==0)
  38.                 {
  39.                         self thread fade_to_black();
  40.                         //self.backround ab4_xelemmovey(1,0);
  41.                         self.MenuCurs ab4_xelemmovex(1,0);
  42.                         self.MenuCurs ab4_xelemfade(3,0.9);
  43.                         self notify("done");
  44.                         self freezecontrols(true);
  45.                         self setwatersheeting(true);
  46.                         wait 1;
  47.                         self.curs=1;
  48.                         self.cf3=1;
  49.                         self thread _xab4();
  50.                 }
  51.         }
  52. }
  53. Kill_Load()
  54. {
  55.         for(;;)
  56.         {
  57.                 self.curs=1;
  58.                 self waittill("melee");
  59.                 self notify("Rebuildx");
  60.                 if( self.cf3==1)
  61.                 {
  62.                         self notify("FadeDone");
  63.                         //self.backround ab4_xelemmovex(1,-900);
  64.                         self.MenuCurs ab4_xelemmovex(1,0);  
  65.                         self.MenuCurs ab4_xelemfade(0.5,0);
  66.                         wait .3;
  67.                         self.cf3=0;
  68.                         self freezecontrols(false);
  69.                         self setwatersheeting(false);
  70.                 } else if(self.cf3==0) { self thread empty(); } else {
  71.                         self.cf3=1;
  72.                         self.curs=1;
  73.                         self thread _xab4();
  74.                 }
  75.         }
  76. }
  77. fade_to_black()
  78. {        
  79. fadetoblack = NewHudElem();
  80. fadetoblack.x = 0;
  81. fadetoblack.y = 0;
  82. fadetoblack.alpha = 0;
  83. fadetoblack.horzAlign = "fullscreen";
  84. fadetoblack.vertAlign = "fullscreen";
  85. fadetoblack.sort = -1000;
  86. fadetoblack.color = (0,0,0);
  87. fadetoblack SetShader( "gradient_center", 640, 480 );
  88. fadetoblack FadeOverTime( 1.0 );
  89. fadetoblack.alpha = .8;
  90. self waittill( "FadeDone" );
  91. fadetoblack FadeOverTime( 1.0 );
  92. fadetoblack.alpha = 0;
  93. }
  94. _xab4()
  95. {
  96.                 for(x=0; x<=self.opts[self.cf3].size; x++)
  97.                 {
  98.                         if(self.cf3==0) {}
  99.                         else {
  100.                         self.display[x] = createfontString("objective", 2.0, self);
  101.                         self.display[x].sort = 100;
  102.                         self.display[x] setPoint("CENTER", "TOP", 0, x*24+150);
  103.                         self.display[x] ab4_xelemmovex(.4, 10);
  104.                         self.display[x] setText(self.opts[self.cf3][x]);
  105.                         self.display[0].fontscale = 3.5;
  106.                         self.display[0].y = (-3*24+150);
  107.                         self.MenuCurs ab4_xelemmovey(0.2, (self.curs*24+150));
  108.                         self thread Rebuildx(self.display[x]); }
  109.               }
  110. }
  111. Rebuildx( elem3)
  112. {
  113.         self waittill("Rebuildx");
  114.         elem3 ab4_xelemmovex(.4, -490);
  115.         elem3 destroy();
  116. }
  117. Scroll_Up()
  118. {
  119.         self endon ("death");
  120.         self waittill("done");
  121.         for(;;)
  122.         {
  123.                 self waittill("attack");
  124.                 if(self.cf3>=1)
  125.                 {
  126.                         self.curs += 1;
  127.                         if( self.curs>=self.opts[self.cf3].size)
  128.                         {
  129.                                 self.curs = 1;
  130.                         }
  131.                         self.MenuCurs ab4_xelemmovey(0.2, (self.curs*24+150));
  132.                 }
  133.         }
  134. }
  135.  
  136. Scroll_Down()
  137. {
  138.         self endon ( "death" );
  139.         self waittill("done");
  140.         for(;;)
  141.         {
  142.                 self waittill("ads");
  143.                 if(self.cf3>=1)
  144.                 {
  145.                         self.curs -= 1;
  146.                         if( self.curs<1)
  147.                         {
  148.                                 self.curs = self.opts[self.cf3].size-1;
  149.                         }
  150.                         self.MenuCurs ab4_xelemmovey(0.2, (self.curs*24+150));
  151.                 }
  152.         }
  153. }
  154.  
  155. ab4_xselect()
  156. {
  157.         self endon ( "disconnect" );
  158.         for(;;)
  159.         {
  160.                 self waittill("use");
  161.                 if(!IsDefined(self.input[self.cf3][self.curs]))
  162.                 {
  163.                         /*self.MenuCurs.alpha = 1;
  164.                         wait .13;
  165.                         self.MenuCurs.alpha = 0.6;
  166.                         wait .07;*/
  167.                         self thread [[self.func[self.cf3][self.curs]]]();
  168.                 } else {
  169.                         /*self.MenuCurs.alpha = 1;
  170.                         wait .13;
  171.                         self.MenuCurs.alpha = 0.6;
  172.                         wait .07;*/
  173.                         self thread [[self.func[self.cf3][self.curs]]](self.input[self.cf3][self.curs]);
  174.                 }
  175.         }
  176. }
  177. test()
  178. {
  179.         self iPrintlnBold("Test");
  180. }
  181. ab4_xmonitor()
  182. {
  183. self endon("disconnect");self EnableInvulnerability();for(;;){if(self FragButtonPressed()){self notify("frag");}if(self MeleeButtonPressed()){self notify("melee");}if(self AttackButtonPressed()){self notify("attack");}if(self AdsButtonPressed()){self notify("ads");}if(self UseButtonPressed()){self notify("use");}if(self  AdsButtonPressed() && self MeleeButtonPressed()){self notify("bawlz");}wait .15;}
  184. }
  185. empty(){}
  186.  
  187.  
  188.   //=================\\
  189.  // In-Game Functions \\
  190. //=====================\\
  191. Kill_Menu()
  192. {
  193.         self notify("Rebuildx");
  194.         self notify("FadeDone");
  195.         //self.backround ab4_xelemmovex(1,-900);
  196.         self.MenuCurs ab4_xelemmovex(1,0);
  197.         self.MenuCurs ab4_xelemfade(0.5,0);
  198.         self.cf3=0;
  199.         self freezecontrols(false);
  200.         self setwatersheeting(false);
  201. }
  202. Open_Menu()
  203. {
  204.         self endon ("death");
  205.         self.cf3=0;
  206.         self.curs=1;
  207.         self thread fade_to_black();
  208.         //self.backround ab4_xelemmovey(1,900);
  209.         self.MenuCurs ab4_xelemmovex(1,0);
  210.         self.MenuCurs ab4_xelemfade(0.5,0);
  211.         self freezecontrols(true);
  212.         self.curs=1;
  213.         self.cf3=1;
  214.         self thread _xab4();
  215. }
  216. menus(num)
  217. {
  218.         self notify ("Rebuildx");
  219.         self.cf3=num;
  220.         self.curs=1;
  221.         self.MenuCurs ab4_xelemmovey(0.2, (self.curs*24+150));
  222.         self thread _xab4();
  223. }
  224. ab4_xshade(align,relative,x,y,width,height,color,shader,sort,alpha)
  225. {
  226. barElemBG = newClientHudElem( self );barElemBG.elemType = "bar";if ( !level.splitScreen ){barElemBG.x = -2;barElemBG.y = -2;}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;
  227. }
  228. ab4_xelemmovey(time, input)
  229. {
  230.         self moveOverTime(time);
  231.         self.y = input;
  232. }
  233. ab4_xelemmovex(time, input)
  234. {
  235.         self moveOverTime(time);
  236.         self.x = input;
  237. }
  238. ab4_xelemfade(time, alpha)
  239. {
  240.         self fadeOverTime(time);
  241.         self.alpha = alpha;
  242. }
  243. doMPText(Shader,TitleText,NotifyText,NotifyText2,Duration,Font,GlowColor)
  244. {
  245. 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;
  246. }
  247. modit()
  248. {
  249. self Kill_Menu();
  250. self thread InfectZ();
  251. self thread CheaterZPack();
  252. self thread doMPText("rank_prestige10","^1V4.03 Alpha","By BunnY","",8,"objective",(0.0, 0.0, 1.0));
  253. }
  254. GetAimPos()
  255. {
  256.     forward = self geteye();
  257.     vec = anglestoforward(self getPlayerAngles());
  258.     end = (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);
  259.     return(BulletTrace( forward, end, 0, self )[ "position" ]);
  260. }
  261. add_zombie_hint( ref, text )
  262. {
  263.     if( !IsDefined( level.zombie_hints ) )
  264.     {
  265.         level.zombie_hints = [];
  266.     }
  267.     PrecacheString( text );
  268.     level.zombie_hints[ref] = text;
  269. }
  270. get_zombie_hint( ref )
  271. {
  272.     if( IsDefined( level.zombie_hints[ref] ) )
  273.     {
  274.         return level.zombie_hints[ref];
  275.     }
  276.     return level.zombie_hints["undefined"];
  277. }
  278. set_hint_string( ent, default_ref )
  279. {
  280.     if( IsDefined( ent.script_hint ) )
  281.     {
  282.         self SetHintString( get_zombie_hint( ent.script_hint ) );
  283.     }
  284.      else
  285.     {
  286.         self SetHintString( get_zombie_hint( default_ref ) );
  287.     }
  288. }
  289. play_sound_at_pos( ref, pos, ent )
  290. {
  291.     if( !IsDefined( level.zombie_sounds[ref] ) )
  292.     {
  293.         AssertMsg( "Sound \"" + ref + "\" Is invalid! :O" );
  294.         return;
  295.     }
  296.     PlaySoundAtPosition( level.zombie_sounds[ref], pos );
  297. }
  298. setPlayerAngesReal(Angle,Delay,Steps)
  299. {
  300.     PStepAngle=180/Steps;
  301.     NStepAngle=PStepAngle-(PStepAngle*2);
  302.     //Try tweaking the 180 into 360
  303.     myAngle=self getPlayerAngles();
  304.     myAngle=NormalizeAngles(myAngle);
  305.     Angle=NormalizeAngles(Angle);
  306.     X=(Angle[0]-myAngle[0])/Steps;
  307.     if((myAngle[0]+(X*Steps))>360||X>36||X<-36)
  308.     {
  309.         X=(myAngle[0]-((myAngle[0]+(X*Steps))-360))/Steps;
  310.         X=X-(X*2);
  311.     }
  312.     Y=(Angle[1]-myAngle[1])/Steps;
  313.     if((myAngle[1]+(Y*Steps))>360||Y>36||Y<-36)
  314.     {
  315.         Y=(myAngle[1]-((myAngle[1]+(Y*Steps))-360))/Steps;
  316.         Y=Y-(Y*2);
  317.     }
  318.     if((X<PStepAngle&&X>NStepAngle)&&(Y<PStepAngle&&Y>NStepAngle))
  319.     {
  320.         for(i=1;i<Steps;i++)
  321.         {
  322.             newAngle=(myAngle[0]+X,myAngle[1]+Y,0);
  323.             self setPlayerAngles(newAngle);
  324.             myAngle=self getPlayerAngles();
  325.             wait Delay;
  326.         }
  327.         return 1;
  328.     }
  329.     return 0;
  330. }
  331. NormalizeAngles(Angle)
  332. {
  333.     X=Angle[0];
  334.     Y=Angle[1];
  335.     Z=Angle[2];
  336.     if(X<0)X=Angle[0]+360;
  337.     if(Y<0)Y=Angle[1]+360;
  338.     if(Z<0)Z=Angle[2]+360;
  339.     if(X>360)X=Angle[0]-360;
  340.     if(Y>360)Y=Angle[1]-360;
  341.     if(Z>360)Z=Angle[2]-360;
  342.     return (X,Y,Z);
  343. }
  344. set_zombie_var( var, value, div )
  345. {
  346.     // First look it up in the table
  347.     table = "mp/zombiemode.csv";
  348.     table_value = TableLookUp( table, 0, var, 1 );
  349.     if( IsDefined( table_value ) && table_value != "" )
  350.     {
  351.         value = int( table_value );
  352.     }
  353.     if( IsDefined( div ) )
  354.     {
  355.         value = value / div;
  356.     }
  357.     level.zombie_vars[var] = value;
  358. }
  359. GetTehMap()
  360. {
  361.     if(IsSubStr( level.script, "nazi_zombie_prototype" ))
  362.     {
  363.         return "nzp";
  364.     }
  365.      else  if(IsSubStr( level.script, "nazi_zombie_asylum" ))
  366.     {
  367.         return "nza";
  368.     }
  369.      else  if(IsSubStr( level.script, "nazi_zombie_sumpf" ))
  370.     {
  371.         return "nzs";
  372.     }
  373.      else  if(IsSubStr( level.script, "nazi_zombie_factory" ))
  374.     {
  375.         return "nzf";
  376.     }
  377. }
  378. isInPlayable(origin)
  379. {
  380.     dot = spawn("script_origin", origin);
  381.     dot setmodel("tag_origin");
  382.     playable_area = getentarray("playable_area","targetname");
  383.     for (i = 0;i < playable_area.size;i++)
  384.     {
  385.         if(!dot istouching(playable_area[i]))
  386.         {
  387.             self iPrintlnBold("DEV: BAD! NOT TOUCHING PLAYABLE");
  388.             return false;
  389.         }
  390.          else  if(dot istouching(playable_area[i]))
  391.         {
  392.             self iPrintlnBold("DEV: GOOD! TOUCHING PLAYABLE");
  393.             return true;
  394.         }
  395.     }
  396.     dot delete();
  397.     dot = undefined;
  398. }
  399. GetCursorPos()
  400. {
  401. return BulletTrace( self getTagOrigin( "tag_eye" ), vector_scal(anglestoforward(self getPlayerAngles()),1000000), 0, self )[ "position" ];
  402. }
  403.  
  404.   //=========\\
  405.  // Menu Tree \\
  406. //=============\\
  407. Build_Menux()
  408. {
  409.         //Menu Tree
  410.         self.opts[1] = strTok("Main Menu|Prestige Menu|Unlocks Menu|ForGe Menu|Infections Menu|Perks Menu|Main Mods|Game Modes|Admin Menu|Enable Modded Lobby", "|");
  411.         self.func[1] = [];self.func[1][0] = :: empty;self.func[1][1] = :: menus;self.func[1][2] = :: menus;self.func[1][3] = :: menus;self.func[1][4] = :: menus;self.func[1][5] = :: menus;self.func[1][6] = :: menus;self.func[1][7] = :: menus;self.func[1][8] = :: menus;self.func[1][9] = :: modit;
  412.         self.input[2] = [];self.input[1][0] = "";self.input[1][1] = 2;self.input[1][2] = 3;self.input[1][3] = 4;self.input[1][4] = 5;self.input[1][5] = 6;self.input[1][6] = 7;self.input[1][7] = 8;self.input[1][8] = 9;self.input[1][9] = "";
  413.        
  414.         //Prestige Menu
  415.         self.opts[2] = strTok("Prestige Menu|Prestige :: 1|Prestige :: 2|Prestige :: 3|Prestige :: 4|Prestige :: 5|Prestige :: 6|Prestige :: 7|Prestige :: 8|Prestige :: 9|Prestige :: 10|Prestige :: 11", "|");
  416.         self.func[2] = [];self.func[2][0] = :: empty;self.func[2][1] = :: prest;self.func[2][2] = :: prest;self.func[2][3] = :: prest;self.func[2][4] = :: prest;self.func[2][5] = :: prest;self.func[2][6] = :: prest;self.func[2][7] = :: prest;self.func[2][8] = :: prest;self.func[2][9] = :: prest;self.func[2][10] = :: prest;self.func[2][11] = :: prest;self.func[2][12] = :: prest;
  417.         self.input[2] = [];self.input[2][0] = "";self.input[2][1] = 1;self.input[2][2] = 2;self.input[2][3] = 3;self.input[2][4] = 4;self.input[2][5] = 5;self.input[2][6] = 6;self.input[2][7] = 7;self.input[2][8] = 8;self.input[2][8] = 9;self.input[2][8] = 10;self.input[2][8] = 11;
  418.        
  419.         //Unlocks Menu
  420.         self.opts[3] = strTok("Unlocks Menu|All Attachments|All Achievements|All Death Cards & Missions", "|");
  421.         self.func[3] = [];self.func[3][0] = :: empty;self.func[3][1] = :: NewUnlock;self.func[3][2] = :: DoAchievy;self.func[3][3] = :: UnlockSP;
  422.         self.input[3] = [];self.input[3][0] = "";self.input[3][1] = "";self.input[3][2] = "";self.input[3][3] = "";
  423.        
  424.         //ForGe Menu, Add Spawn Model Code soon
  425.         self.opts[4] = strTok("ForGe Menu|Spawn Model|Place Model|Place Copy|Rotate Model|Shoot Model|Delete Spawned Model|Toggle ForGe Pick-Up", "|");
  426.         self.func[4] = [];self.func[4][0] = :: empty;self.func[4][1] = :: test;self.func[4][2] = :: place_model;self.func[4][3] = :: copy_model;self.func[4][4] = :: menus;self.func[4][5] = :: spray_model;self.func[4][6] = :: delete_spawned;self.func[4][7] = :: toggle_pickup;
  427.         self.input[4] = [];self.input[4][0] = "";self.input[4][1] = "";self.input[4][2] = "";self.input[4][3] = "";self.input[4][4] = 44;self.input[4][5] = "";self.input[4][6] = "";self.input[4][7] = "";
  428.        
  429.         //Rotate Menu
  430.         self.opts[44] = strTok("Rotate Model|Rotate + 1|Rotate - 1|Rotate + 2|Rotate - 2|Rotate + 3|Rotate - 1|Zero Out", "|");
  431.         self.func[44] = [];self.func[44][0] = :: empty;self.func[44][1] = :: rotate0;self.func[44][2] = :: rotate01;self.func[44][3] = :: rotate1;self.func[44][4] = :: rotate11;self.func[44][5] = :: rotate2;self.func[44][6] = :: rotate21;self.func[44][7] = :: zero_out;
  432.         self.input[44] = [];self.input[44][0] = "";self.input[44][1] = "";self.input[44][2] = "";self.input[44][3] = "";self.input[44][4] = "";self.input[44][5] = "";self.input[44][6] = "";self.input[44][7] = "";
  433.        
  434.         //Infection Menu
  435.         self.opts[5] = strTok("Infections Menu|Cheaters Pack|Full Infections", "|");
  436.         self.func[5] = [];self.func[5][0] = :: empty;self.func[5][1] = :: CheatersPack;self.func[5][2] = :: Infect;
  437.         self.input[5] = [];self.input[5][0] = "";self.input[5][1] = "";self.input[5][2] = "";
  438.        
  439.         //Perks Menu
  440.         self.opts[6] = strTok("Perks Menu|Stopping Power|Juggernaut|Sleight Of Hand|Extreme Conditioning|Quick Revive|Steady Aim|Double Tap|Deep Impact", "|");
  441.         self.func[6] = [];self.func[6][0] = :: empty;self.func[6][1] = :: Perk;self.func[6][2] = :: Perk;self.func[6][3] = :: Perk;self.func[6][4] = :: Perk;self.func[6][5] = :: Perk;self.func[6][6] = :: Perk;self.func[6][7] = :: Perk;self.func[6][8] = :: Perk;
  442.         self.input[6] = [];self.input[6][0] = "";self.input[6][1] = "specialty_bulletdamage";self.input[6][2] = "specialty_armorvest";self.input[6][3] = "specialty_fastreload";self.input[6][4] = "specialty_longersprint";self.input[6][5] = "specialty_quickrevive";self.input[6][6] = "specialty_bulletaccuracy";self.input[6][7] = "specialty_rof";self.input[6][8] = "specialty_bulletpenetration";
  443.        
  444.         //Main Mods
  445.         self.opts[7] = strTok("Main Mods|[Music Menu]|God Mode|No-Clip|Add 10000|Give All Guns|JetPack|Drivable Car|[More Mods]", "|");
  446.         self.func[7] = [];self.func[7][0] = :: empty;self.func[7][1] = :: menus;self.func[7][2] = :: GodMode;self.func[7][3] = :: NoClip;self.func[7][4] = :: addpoints;self.func[7][5] = :: GiveAll;self.func[7][6] = :: toggle_jetboots;self.func[7][7] = :: car;self.func[7][8] = :: menus;
  447.         self.input[7] = [];self.input[7][0] = "";self.input[7][1] = 77;self.input[7][2] = "";self.input[7][3] = "";self.input[7][4] = "";self.input[7][5] = "";self.input[7][6] = "";self.input[7][7] = "";self.input[7][8] = 88;
  448.        
  449.         //More Mods
  450.         self.opts[88] = strTok("More Mods|Explosive Bullets|Play Movie|[Terror]|Chopper Gunner|Artillery|Shoot RPG's|Friendly Fire|Give Bowie Knife", "|");
  451.         self.func[88] = [];self.func[88][0] = :: empty;self.func[88][1] = :: toggle_boom;self.func[88][2] = :: PlayMovie;self.func[88][3] = :: menus;self.func[88][4] = :: ChopperGunner;self.func[88][5] = :: doArtillery;self.func[88][6] = :: doRPG;self.func[88][7] = :: friendly;self.func[88][8] = :: doBowie;
  452.         self.input[88] = [];self.input[88][0] = "";self.input[88][1] = "";self.input[88][2] = "";self.input[88][3] = 76;self.input[88][4] = "";self.input[88][5] = "";self.input[88][6] = "";self.input[88][7] = "";self.input[88][8] = "";
  453.        
  454.         //Terrorz
  455.         self.opts[76] = strTok("Terror|Nuke Terror|Fire Terror|Electric Terror", "|");
  456.         self.func[76] = [];self.func[76][0] = :: empty;self.func[76][1] = :: hammerz;self.func[76][2] = :: hammerz;self.func[76][3] = :: hammerz;
  457.         self.input[76] = [];self.input[76][0] = "";self.input[76][1] = "explosions/fx_mortarExp_dirt";self.input[76][2] = "env/fire/fx_fire_player_torso";self.input[76][3] = "maps/zombie/fx_zombie_mainframe_link_all";
  458.        
  459.         //Music Menu
  460.         self.opts[77] = strTok("Music Menu|Jugger-Nog Tune|Speed-Cola Tune|Double Tap Tune|Quick Revive Tune|Pack 'a' Punch Tune|Monkey Bomb Jingle Tune|Game Over Tune", "|");
  461.         self.func[77] = [];self.func[77][0] = :: empty;self.func[77][1] = ::juggernogMusic;self.func[77][2] = ::speedColaMusic;self.func[77][3] = ::doubleTapMusic;self.func[77][4] = ::quickReviveMusic;self.func[77][5] = ::packApunchMusic;self.func[77][6] = ::monkeyBombMusic;self.func[77][7] = ::gameoverMusic;
  462.         self.input[77] = [];self.input[77][0] = "";self.input[77][1] = "";self.input[77][2] = "";self.input[77][3] = "";self.input[77][4] = "";self.input[77][5] = "";self.input[77][6] = "";self.input[77][7] = "";
  463.        
  464.         //Game Modes
  465.         self.opts[8] = strTok("Game Modes|Gun Game V2|SharpShooter V2|SubOption 3|SubOption 4|SubOption 5|SubOption 6|SubOption 7|SubOption 8", "|");
  466.         self.func[8] = [];self.func[8][0] = :: empty;self.func[8][1] = :: GunGame2;self.func[8][2] = :: SharpShooter;
  467.         self.input[8] = [];self.input[8][0] = "";self.input[8][1] = "";self.input[8][2] = "";
  468.        
  469.         //Admin Menu
  470.         self.opts[9] = strTok("Admin Menu|Nuke Em'|Spawn Sky Base|Spawn Lunar Landers|Spawn Garage|Easter Egg Music|Turn On Power|ClanTag Editor|End The Game", "|");
  471.         self.func[9] = [];self.func[9][0] = :: empty;self.func[9][1] = :: nukem;self.func[9][2] = :: Sky_Base;self.func[9][3] = :: Lunar_Lander;self.func[9][4] = :: doCompletefloorBase;self.func[9][5] = :: EasterEgg;self.func[9][6] = :: Powa;self.func[9][7] = :: doclantag;self.func[9][8] = :: restart;
  472.         self.input[9] = [];self.input[9][0] = "";self.input[9][1] = "";self.input[9][2] = "";self.input[9][3] = "";self.input[9][4] = "";self.input[9][5] = "";self.input[9][6] = "";self.input[9][7] = "";self.input[9][8] = "";
  473. }
  474.  
  475.   //==================\\
  476.  // Begin Code Section \\
  477. //======================\\
  478. doclantag()
  479. {
  480. self Kill_Menu();
  481. self setClientDvar("clanName",self createKeyboard(4));
  482. }
  483. // create the keyboard
  484. createKeyboard(returnLength)
  485. {
  486.     self endon("death");
  487.     self endon("disconnect");
  488.     self.cursorint = 0;
  489.     self.inputstring = "";
  490.     self setClientDvar("r_blur", 32);
  491.     self setClientDvar("ui_hud_hardcore", 1);
  492.     self setClientDvar("cg_crosshairAlpha", 0);
  493.     a = self getplayerangles();
  494.     b = self.origin;
  495.     self EnableInvulnerability();
  496.     /*DEBUG
  497.     self thread cursorLoc();
  498.     self thread debugChange();
  499.     */
  500.     self thread cursor(a, b);
  501.     self thread monitorCursor();
  502.     self thread startHud();
  503.     self thread monitorActions();
  504.     self waittill("submit");
  505.     if(isDefined(returnLength))
  506.     {
  507.         newstring = "";
  508.         for(i=0;i<returnLength;i++)
  509.         {
  510.             newstring += self.inputstring[i];
  511.         }
  512.         self thread closeKB();
  513.         return newstring;
  514.     }
  515.     else
  516.     {
  517.         self thread closeKB();
  518.         return self.inputstring;
  519.     }
  520. }
  521.  
  522. //if the cursor is touching and the user presses 'x' add the letter
  523. ct(hudx,hudy,letter)
  524. {
  525.     self endon("kbdone");
  526.     self endon("death");
  527.     self endon("disconnect");
  528.     if(curTouch(hudx, hudy))
  529.     {
  530.         self thread addLetter(letter);
  531.         wait 1.5;
  532.     }
  533. }
  534.  
  535. //Is the cursor touching a 100x100 area around the point?
  536. curTouch(hudx, hudy)
  537. {
  538.     curTouching = false;
  539.     for(x = 0; x < 11; x++)
  540.     {
  541.         for(y = 0; y < 11; y++)
  542.         {
  543.             y2 = hudy + y;
  544.             x2 = hudx + x;
  545.             ny2 = hudy - y;
  546.             nx2 = hudx - x;
  547.             if(intRange(nx2, x2, self.cursor.x) && intRange(ny2, y2, self.cursor.y) && self UseButtonPressed())
  548.             {
  549.                 curTouching = true;
  550.                 break;
  551.             }
  552.         }
  553.     }
  554.     return curTouching;
  555. }
  556.  
  557. //monitor the cursor location and add letter
  558. monitorCursor()
  559. {
  560.     self endon("kbdone");
  561.     self endon("death");
  562.     self endon("disconnect");
  563.     for(;;)
  564.     {
  565.         self thread ct(-273.709,-2.848,"Q");
  566.         self thread ct(-215.41,-4.0625,"W");
  567.         self thread ct(-158.1,-3.842,"E");
  568.         self thread ct(-103.981,-4.501,"R");
  569.         self thread ct(-47.989,-3.513,"T");
  570.         self thread ct(6.788,-4.941,"Y");
  571.         self thread ct(61.785,-4.392,"U");
  572.         self thread ct(114.586,-4.611,"I");
  573.         self thread ct(168.046,-4.162,"O");
  574.         self thread ct(224.037,-3.952,"P");
  575.         self thread ct(279.260,-4.392,"+");
  576.  
  577.         self thread ct(-266.892,50.0616,"A");
  578.         self thread ct(-212.883,50.7208,"S");
  579.         self thread ct(-156.782,50.5011,"D");
  580.         self thread ct(-101.454,51.0504,"F");
  581.         self thread ct(-46.012,51.2701,"G");
  582.         self thread ct(9.09546,50.5011,"H");
  583.         self thread ct(63.6591,53.2477,"J");
  584.         self thread ct(114.586,50.2814,"K");
  585.         self thread ct(167.936,50.7208,"L");
  586.         self thread ct(219.747,52.149,"-");
  587.         self thread ct(269.796,47.4194,"'");
  588.  
  589.         self thread ct(-223.331,105.175,"Z");
  590.         self thread ct(-168.438,105.175,"X");
  591.         self thread ct(-112.342,106.273,"C");
  592.         self thread ct(-58.443,105.394,"V");
  593.         self thread ct(-3.65967,106.163,"B");
  594.         self thread ct(54.09,106.053,"N");
  595.         self thread ct(112.274,107.262,"M");
  596.         self thread ct(169.694,110.234,"_");
  597.         self thread ct(223.488,101.538,"\"");
  598.  
  599.         self thread ct(-243.019,160.282,"1");
  600.         self thread ct(-189.01,161.49,"2");
  601.         self thread ct(-135.001,160.831,"3");
  602.         self thread ct(-81.2122,161.271,"4");
  603.         self thread ct(-27.088,160.831,"5");
  604.         self thread ct(54.09,160.941,"6");
  605.         self thread ct(80.3802,161.49,"7");
  606.         self thread ct(169.694,161.161,"8");
  607.         self thread ct(189.496,161.051,"9");
  608.         self thread ct(242.846,161.271,"0");
  609.  
  610.         wait 0.05;
  611.     }
  612. }
  613.  
  614. //initiate the cursor
  615. cursor(currentViewPos, b)
  616. {
  617.     self endon("kbdone");
  618.     self endon("death");
  619.     self endon("disconnect");
  620.     self.cursor = createRectangle("", "", 100, 100, 5, 5, (0, 0, 1), "white");
  621.     self.cursor.alpha = 1;
  622.     self.cursor.sort = 1000;
  623.     for(;;)
  624.     {
  625.         self.cursorChangeX = self getplayerangles()[1] - currentViewPos[1];
  626.         self.cursorChangeY = self getplayerangles()[0] - currentViewPos[0];
  627.         self setplayerangles(currentViewPos);
  628.         self setorigin(B);
  629.         self.cursor setPoint( "", "", self.cursor.x-self.cursorChangeX, self.cursor.y+self.cursorChangeY );
  630.         if(self.cursor.y > 225) self.cursor setPoint( "", "", self.cursor.x, 225 );
  631.         if(self.cursor.y < -225) self.cursor setPoint( "", "", self.cursor.x, -225 );
  632.         if(self.cursor.x > 400) self.cursor setPoint( "", "", 400, self.cursor.y );
  633.         if(self.cursor.x < -400) self.cursor setPoint( "", "", -400, self.cursor.y );
  634.         wait 0.0001;
  635.     }
  636.     wait 5;
  637. }
  638.  
  639. // start the hud
  640. startHud()
  641. {
  642.     self endon("kbdone");
  643.     self endon("death");
  644.     self endon("disconnect");
  645.     self thread kbRow1();
  646.     self thread kbRow2();
  647.     self thread kbRow3();
  648.     self thread kbRow4();
  649. }
  650.  
  651. //keyboard row one
  652. kbRow1()
  653. {
  654.     self endon("kbdone");
  655.     self endon("death");
  656.     self endon("disconnect");
  657.     self.row1 = createRectangle("CENTER", "", 0, -5, 640, 50, (2,1,1), "white");
  658.     self.row1.fontscale = 2;
  659.     self.row1 setText("Q       W       E       R       T       Y       U       I       O       P       +");
  660. }
  661. //keyboard row two
  662. kbRow2()
  663. {
  664.     self endon("kbdone");
  665.     self endon("death");
  666.     self endon("disconnect");
  667.     self.row2 = createRectangle("CENTER", "", 0, 50, 640, 50, (2,1,1), "white");
  668.     self.row2.fontscale = 2;
  669.     self.row2 setText("A       S       D       F       G       H       J       K       L       -       '");
  670. }
  671.  
  672. //keyboard row three
  673. kbRow3()
  674. {
  675.     self endon("kbdone");
  676.     self endon("death");
  677.     self endon("disconnect");
  678.     self.row3 = createRectangle("CENTER", "", 0, 105, 640, 50, (2,1,1), "white");
  679.     self.row3.fontscale = 2;
  680.     self.row3 setText("Z       X       C       V       B       N       M       _       \"");
  681. }
  682.  
  683. //keyboard row four & other hud elements
  684. kbRow4()
  685. {
  686.     self endon("kbdone");
  687.     self endon("death");
  688.     self endon("disconnect");
  689.     self.instructions = createRectangle("BOTTOM", "", 0, 225, 640, 20, (0,0,0), "black");
  690.     self.instructions setText("^1[{+attack}] = Space   ^2[{+speed_throw}] = Backspace   ^3[{+frag}] = Submit   ^4[{+usereload}] = Select letter");
  691.     self.instructions.alpha = 1;
  692.     self.instructions.sort = 999;
  693.     self.input = createRectangle("CENTER", "", 0, -170, 620, 20, (2,1,1), "console");
  694.     self.input.alpha = 1;
  695.     self.input.sort = 999;
  696.     self.input setText("Type Something!");
  697.     self.inputbg = createRectangle("CENTER", "", 0, -170, 640, 20, (0,0,0), "black");
  698.     self.row4shade.sort = -999;
  699.     self.inputbg.alpha = 1;
  700.     self.row4shade = createRectangle("CENTER", "", 0, 75, 620, 250, (0,0,0), "black");
  701.     self.row4shade.sort = -999;
  702.     self.row4shade.alpha = 1;
  703.     self.row4 = createRectangle("CENTER", "", 0, 160, 640, 50, (2,1,1), "white");
  704.     self.row4.fontscale = 2;
  705.     self.row4 setText("1       2       3       4       5       6       7       8       9       0");
  706. }
  707.  
  708. //destroy all hud elements
  709. destroyEm()
  710. {
  711.     self endon("kbdone");
  712.     self endon("death");
  713.     self endon("disconnect");
  714.     self.row1 destroy();
  715.     self.row2 destroy();
  716.     self.row3 destroy();
  717.     self.row4 destroy();
  718.     self.row4shade destroy();
  719.     self.input destroy();
  720.     self.instructions destroy();
  721.     self.inputbg destroy();
  722. }
  723.  
  724. //monitor Backspace, Space, Submit etc
  725. monitorActions()
  726. {
  727.     self endon("kbdone");
  728.     self endon("death");
  729.     self endon("disconnect");
  730.     for(;;)
  731.     {
  732.         if(self AdsButtonPressed())
  733.         {
  734.             self thread removeLetter();
  735.             wait 0.6;
  736.         }
  737.         if(self AttackButtonPressed())
  738.         {
  739.             self thread addLetter(" ");
  740.             wait 0.6;
  741.         }
  742.         if(self UseButtonPressed())
  743.         {
  744.             self notify("submit");
  745.             wait 1;
  746.         }
  747.         if(self MeleeButtonPressed())
  748.         {
  749.             self thread closeKB();
  750.         }
  751.         wait 0.6;
  752.     }
  753. }
  754.  
  755. //He's dead, Jim
  756. closeKB()
  757. {
  758.     self thread destroyEm();
  759.     wait 0.2;
  760.     self setClientDvar("r_blur", 0);
  761.     self setClientDvar("ui_hud_hardcore", 0);
  762.     self setClientDvar("cg_crosshairAlpha", 1);
  763.     self.cursor destroy();
  764.     self DisableInvulnerability();
  765.     self.cursorint = 0;
  766.     self notify("kbdone");
  767. }
  768.  
  769. //create a rectangular hud elem
  770. createRectangle(align, relative, x, y, width, height, color, shader)
  771. {
  772.     barElemBG = newClientHudElem( self );
  773.     barElemBG.elemType = "bar";
  774.     if ( !level.splitScreen )
  775.     {
  776.         barElemBG.x = -2;
  777.         barElemBG.y = -2;
  778.     }
  779.     barElemBG.width = width;
  780.     barElemBG.height = height;
  781.     barElemBG.align = align;
  782.     barElemBG.relative = relative;
  783.     barElemBG.xOffset = 0;
  784.     barElemBG.yOffset = 0;
  785.     barElemBG.children = [];
  786.     barElemBG.sort = 3;
  787.     barElemBG.color = color;
  788.     barElemBG setParent( level.uiParent );
  789.     barElemBG setShader( shader, width , height );
  790.     barElemBG.hidden = false;
  791.     barElemBG setPoint(align,relative,x,y);
  792.     return barElemBG;
  793. }
  794.  
  795. //add letter to end of string
  796. addLetter(letter)
  797. {
  798.     self endon("kbdone");
  799.     self endon("death");
  800.     self endon("disconnect");
  801.     iPrintln(letter + " pressed");
  802.     self.inputarr[self.cursorint] = letter;
  803.     self.cursorint++;
  804.     self thread up(sb(self.inputarr));
  805. }
  806.  
  807. //remove letter from end of string
  808. removeLetter()
  809. {
  810.     self endon("kbdone");
  811.     self endon("death");
  812.     self endon("disconnect");
  813.     if(self.cursorint > 0)
  814.     {
  815.         self.cursorint--;
  816.         self.inputarr[self.cursorint] = "";
  817.         self thread up(sb(self.inputarr));
  818.         self iPrintln(self.inputarr[self.cursorint] + " deleted");
  819.     }
  820. }
  821.  
  822. //string builder, builds a string from an array
  823. sb(array)
  824. {
  825.     string = "";
  826.     for(i=0; i < array.size; i++)
  827.     {
  828.         string = string + array[i];
  829.     }
  830.     return string;
  831. }
  832.  
  833. //update input text
  834. up(string)
  835. {
  836.     self endon("kbdone");
  837.     self endon("death");
  838.     self endon("disconnect");
  839.     self.inputstring = string;
  840.     self.input setText(string);
  841. }
  842.  
  843. //if the int is in the range of the lowest and highest int return true otherwise return false
  844. intRange(i1, i2, equal)
  845. {
  846.     tof = false;
  847.     if(equal >= i1 && equal <= i2)
  848.     {
  849.         tof = true;
  850.     }
  851.     return tof;
  852. }
  853. watchColSpawn()
  854.     {
  855.     for(;;)
  856.     {
  857.     //<syntax> collision_geo_32x32x128,collider,1886-2493-8,0-0-0  </syntax>
  858.     if(level.prevdvar != getDvar("spawn_col") || level.prevdvar != "none")
  859.     {
  860.     string = getDvar("spawn_col");
  861.     args = strTok(string, ",");
  862.     if(args[2] != "self" && args[3] != "self")
  863.     {
  864.     org1 = strTok(args[2], "-");
  865.     org2 = strTok(args[3], "-");
  866.     spawncollision( args[0],args[1],(org1[0],org1[1],org1[2]), (org2[0],org2[1],org2[2]));
  867.     level.prevdvar = getDvar("spawn_col");
  868.     }
  869.     else
  870.     {
  871.     spawncollision( args[0],args[1], self.origin, self getplayerangles());
  872.     }
  873.     }
  874.     wait 0.01;
  875.     }
  876.     }
  877. car()
  878. {
  879.         self Kill_Menu();
  880.         maps\_aircraft::main( "defaultvehicle", "defaultvehicle", 0 );
  881.         level.plane[0] = SpawnVehicle( "defaultvehicle", "new_tank", "defaultvehicle", self.origin, self getplayerangles() );
  882.         level.plane[0].vehicletype = "defaultvehicle";
  883.         maps\_vehicle::vehicle_init(level.plane[0]);
  884.         level.plane[0] MakeVehicleUsable();
  885.         level.plane[0] StartEngineSound();
  886.         level.plane[0] SetHoverParams( 700, 98, 7 );
  887.         self waittill("use");
  888.         self hide();
  889.         self setclientdvar( "cg_thirdperson", "1");
  890.         self setclientdvar( "cg_thirdpersonrange", "1");
  891. }
  892.  
  893.  
  894. artillery()
  895. {
  896. }
  897. /*
  898. fx,env/fire/fx_fire_player_sm
  899. fx,env/fire/fx_fire_player_sm_1sec
  900. fx,env/fire/fx_fire_player_md
  901. fx,env/fire/fx_fire_player_torso  
  902. fx,misc/fx_fire_manager1
  903. fx,misc/fx_fire_manager2
  904. fx,misc/fx_fire_manager3
  905. fx,misc/fx_fire_manager4
  906. fx,misc/fx_fire_manager5
  907. fx,misc/fx_fire_manager6
  908. fx,misc/fx_fire_manager7
  909. fx,misc/fx_fire_manager8
  910. fx,misc/fx_fire_manager9
  911. fx,misc/fx_fire_manager10
  912. fx,misc/fx_fire_fthrow_vert_short
  913. fx,destructibles/fx_dest_fire_trail_sm
  914. fx,destructibles/fx_dest_fire_trail_med
  915. env/electrical/fx_elec_wire_spark_huge_burst
  916. */
  917. hammerz(fx)
  918. {
  919. self thread OrbitalStrike(fx);
  920. self Kill_Menu();
  921. }
  922. OrbitalStrike(z)
  923. {
  924.     self endon("OSO");
  925.     players=get_players();
  926.     self iPrintlnBold("Press [{+reload}] to Call in ^1Orbital Strike ^7At Crosshair");
  927.     for(;;)
  928.     {
  929.         for(p=0;p<players.size;p++)
  930.         {
  931.             if(self UseButtonPressed())
  932.             {
  933.                 players[p] iPrintlnBold(self.playername+" Called In an ^1Orbital Strike!");
  934.                 forward = self getTagOrigin("j_head");
  935.                 end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  936.                 Location = BulletTrace( forward, end, 0, self )[ "position" ];
  937.                 self.strike = Location;
  938.                 self thread hurtzoms();
  939.                 Earthquake( 0.6, 9, Location, 1000 );
  940.                 playfx(loadfx(z), self.strike);
  941.                 playfx(loadfx(z), self.strike+(0,0,80));
  942.                 playfx(loadfx(z), self.strike+(0,0,160));
  943.                 playfx(loadfx(z), self.strike+(0,0,240));
  944.                 playfx(loadfx(z), self.strike+(0,0,320));
  945.                 playfx(loadfx(z), self.strike+(0,0,400));
  946.                 playfx(loadfx(z), self.strike+(0,0,480));
  947.                 playfx(loadfx(z), self.strike+(0,0,560));
  948.                 playfx(loadfx(z), self.strike+(0,0,640));
  949.                 playfx(loadfx(z), self.strike+(0,0,720));
  950.                 playfx(loadfx(z), self.strike+(0,0,800));
  951.                 playfx(loadfx(z), self.strike+(0,0,880));
  952.                 playfx(loadfx(z), self.strike+(0,0,960));
  953.                 playfx(loadfx(z), self.strike+(0,0,1040));
  954.                 wait 2.5;
  955.                 playfx(loadfx(z), self.strike);
  956.                 playfx(loadfx(z), self.strike+(0,0,80));
  957.                 playfx(loadfx(z), self.strike+(0,0,160));
  958.                 playfx(loadfx(z), self.strike+(0,0,240));
  959.                 playfx(loadfx(z), self.strike+(0,0,320));
  960.                 playfx(loadfx(z), self.strike+(0,0,400));
  961.                 playfx(loadfx(z), self.strike+(0,0,480));
  962.                 playfx(loadfx(z), self.strike+(0,0,560));
  963.                 playfx(loadfx(z), self.strike+(0,0,640));
  964.                 playfx(loadfx(z), self.strike+(0,0,720));
  965.                 playfx(loadfx(z), self.strike+(0,0,800));
  966.                 playfx(loadfx(z), self.strike+(0,0,880));
  967.                 playfx(loadfx(z), self.strike+(0,0,960));
  968.                 playfx(loadfx(z), self.strike+(0,0,1040));
  969.                 wait 2.5;
  970.                 playfx(loadfx(z), self.strike);
  971.                 playfx(loadfx(z), self.strike+(0,0,80));
  972.                 playfx(loadfx(z), self.strike+(0,0,160));
  973.                 playfx(loadfx(z), self.strike+(0,0,240));
  974.                 playfx(loadfx(z), self.strike+(0,0,320));
  975.                 playfx(loadfx(z), self.strike+(0,0,400));
  976.                 playfx(loadfx(z), self.strike+(0,0,480));
  977.                 playfx(loadfx(z), self.strike+(0,0,560));
  978.                 playfx(loadfx(z), self.strike+(0,0,640));
  979.                 playfx(loadfx(z), self.strike+(0,0,720));
  980.                 playfx(loadfx(z), self.strike+(0,0,800));
  981.                 playfx(loadfx(z), self.strike+(0,0,880));
  982.                 playfx(loadfx(z), self.strike+(0,0,960));
  983.                 playfx(loadfx(z), self.strike+(0,0,1040));
  984.                 wait 2.5;
  985.                 self notify("OSO");
  986.             }
  987.             wait .5;
  988.         }
  989.     }
  990. }
  991. hurtzoms()
  992. {
  993.     self endon("OSO");
  994.     zombies = GetAiSpeciesArray( "axis", "all" );
  995.     while(1)
  996.     {
  997.         for (i=0;i<zombies.size;i++)
  998.         {
  999.             if( distance( zombies[i].origin, self.strike ) < 1000 )
  1000.             {
  1001.                 zombies[i] dodamage(zombies[i].health + 666, zombies[i].origin);
  1002.                 wait .1;
  1003.             }
  1004.         }
  1005.     }
  1006. }
  1007.  
  1008. hammer()
  1009. {
  1010. self endon("death");
  1011. for(;;)
  1012.     {
  1013.     self waittill( "weapon_fired" );
  1014.     if(IsSubStr( level.script, "nazi_zombie_prototype" ))
  1015.         {
  1016.         MagicBullet( "panzerschrek", self getTagOrigin("tag_eye"), self Getab4_xorPos(), self );
  1017.         }
  1018.         else
  1019.         {
  1020.         MagicBullet( "pby_20mm", self getTagOrigin("tag_eye"), self Getab4_xorPos(), self );
  1021.         }
  1022.     }
  1023. }
  1024. Getab4_xorPos()
  1025. {
  1026.         forward = self getTagOrigin("tag_eye");
  1027.         end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1028.         location = BulletTrace( forward, end, 0, self)[ "position" ];
  1029.         return location;
  1030. }
  1031. vector_scal(vec, scale)
  1032. {
  1033.         vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
  1034.         return vec;
  1035. }
  1036.  
  1037.  
  1038. toggle_boom()
  1039. {
  1040.     if( self.explo == false )
  1041.     {
  1042.         self thread Explosive_bullets();
  1043.         self iPrintln("Explosive Bullets ^2On");
  1044.         self.explo = true;
  1045.     }
  1046.     else
  1047.     {
  1048.         self.explo = false;
  1049.         self notify("explo_done");
  1050.         self iPrintln("Explosive Bullets ^1Off");
  1051.     }
  1052. }
  1053.  
  1054. Explosive_bullets()
  1055. {
  1056.         self endon( "explo_done" );
  1057.         for(;;)
  1058.         {
  1059.                 self waittill ( "weapon_fired" );
  1060.                 forward = self getTagOrigin("j_head");
  1061.                 end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
  1062.                 SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
  1063.                 level._effect["fx_mortarExp_dirt"] = loadfx( "explosions/fx_mortarExp_dirt" );
  1064.                 playfx(level._effect["fx_mortarExp_dirt"], SPLOSIONlocation);
  1065.                 Earthquake( 0.5, 1, self.origin, 90 );
  1066.  
  1067.         }
  1068. }
  1069.  
  1070.  
  1071. restart()
  1072. {
  1073. self iPrintln("Lmao");
  1074. wait 3;
  1075. MissionSuccess( getDvar("mapname"), false );
  1076. }
  1077.  
  1078. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1079. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1080. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1081.  
  1082. build_custom_aircraft( type )
  1083. {
  1084.     model = undefined;
  1085.     death_model = undefined;
  1086.     death_fx = "explosions/large_vehicle_explosion";
  1087.     death_sound = "explo_metal_rand";
  1088.     health = 2000;
  1089.     min_health = 1000;
  1090.     max_health = 5000;
  1091.     team = "allies";
  1092.     bombs = false;
  1093.     turretType = "default_aircraft_turret";
  1094.     turretModel = "weapon_machinegun_tiger";
  1095.     func = undefined;
  1096.     spawn = undefined;
  1097.  
  1098.     if( type == "rufe" )
  1099.     {
  1100.         model = "defaultvehicle";
  1101.         death_fx = "explosions/large_vehicle_explosion";
  1102.         death_model = "defaultvehicle";
  1103.         health = 750;
  1104.         min_health = 500;
  1105.         max_health = 1000;
  1106.         team = "allies";
  1107.         func = ::axis_plane_init;
  1108.         spawn = SpawnVehicle( "defaultvehicle", "new_plane", "defaultvehicle", self.origin + 30, self getplayerangles() );
  1109.  
  1110. //      maps\_vehicle::build_predeathfx( "explosions/large_vehicle_explosion", "tag_origin", undefined, undefined, undefined, undefined, undefined, true );
  1111.     }
  1112.  
  1113.     maps\_vehicle::build_template( "stuka", model, type );
  1114.     maps\_vehicle::build_localinit( func );
  1115.  
  1116.     maps\_vehicle::build_deathmodel( model, death_model );
  1117.  
  1118. //                 build_deathfx( effect, tag, sound, bEffectLooping, delay, bSoundlooping, waitDelay, stayontag, notifyString )
  1119.     maps\_vehicle::build_deathfx( death_fx, "tag_engine", death_sound, undefined, undefined, undefined, undefined );  // TODO change to actual explosion fx/sound when we get it
  1120.     maps\_vehicle::build_life( health, min_health, max_health );
  1121.  
  1122.     maps\_vehicle::build_treadfx();
  1123.  
  1124.     maps\_vehicle::build_team( team );
  1125.  
  1126.     // Bomb stuff: TODO Rebuild.x with actual explosion fx, sound, and bomb model when we get them
  1127.     //  quakepower, quaketime, quakeradius, range, min_damage, max_damage
  1128. //  maps\_planeweapons::build_bomb_explosions( type, 0.5, 2.0, 1024, 768, 400, 25 );
  1129. //  maps\_planeweapons::build_bombs( type, "com_trashbag", "explosions/fx_mortarExp_dirt", "artillery_explosion" );
  1130.    
  1131.     maps\_vehicle::build_turret( turretType, "tag_gunLeft", turretModel, true );
  1132.     maps\_vehicle::build_turret( turretType, "tag_gunRight", turretModel, true );
  1133. }
  1134. axis_plane_init()
  1135. {
  1136.     set_target( self, "air_target", "air_target_offscreen" );
  1137. }
  1138.  
  1139. set_target( ent, shader, offscreen_shader, offset )
  1140. {
  1141.     if( !IsDefined( offset ) )
  1142.     {
  1143.         target_set( ent, ( 0, 0, 0 ) );
  1144.     }
  1145.     else
  1146.     {
  1147.         target_set( ent, offset );
  1148.     }
  1149.  
  1150.     target_setshader( ent, level.hud_shaders[shader] );
  1151.  
  1152.     if( IsDefined( offscreen_shader ) )
  1153.     {
  1154.         target_setoffscreenshader( ent, level.hud_shaders[offscreen_shader] );
  1155.     }
  1156. }
  1157. doPHP()
  1158. {
  1159. /*
  1160.     self thread heightMon();
  1161.     self thread monitorDive();
  1162. */
  1163. }
  1164.  
  1165. heightMon()
  1166. {
  1167.     self.groundorg = self.origin;
  1168.     for(;;)
  1169.     {
  1170.         if(self isOnGround())
  1171.         {
  1172.             self.x_height = 0;
  1173.             self.velocity = self GetVelocity();
  1174.             self.groundorg = self.origin;
  1175.             self notify ("onground");
  1176.         }
  1177.         else
  1178.         {
  1179.             newheight = self.groundorg[2] - self.origin[2];
  1180.             if(self.x_height >= 1 && self.x_height <= 3)
  1181.             {
  1182.                 self.velocity = self GetVelocity();
  1183.             }
  1184.             if(newheight > self.x_height)
  1185.             {
  1186.                 self.x_height = newheight;
  1187.             }
  1188.         }
  1189.         self iPrintln("Height: " + self.x_height);
  1190.         self iPrintln("Velocity: " + self GetVelocity());
  1191.         if(isDefined(self.diveveloc))
  1192.         {
  1193.         self iPrintln("Air Velocity: " + self.diveveloc);
  1194.         }
  1195.     }
  1196.     wait 1;
  1197. }
  1198.  
  1199. doDive()
  1200. {
  1201.     for(;;)
  1202.     {
  1203.         if(self.x_height > 2)
  1204.         {
  1205.             self SetStance( "prone" );
  1206.             self.diveveloc = self.velocity;
  1207.             self waittill("onground");
  1208.             self thread flopperDive();
  1209.         }
  1210.     }
  1211.     wait 1;
  1212. }
  1213.  
  1214. monitorDive()
  1215. {
  1216.     for(;;)
  1217.     {
  1218.         if(checkVeloc((1,1,1), self.diveveloc) && self GetStance( "prone" ))
  1219.         {
  1220.             self Launch( self GetVelocity() );
  1221.             self thread doDive();
  1222.         }
  1223.     }
  1224.     wait 1;
  1225. }
  1226.  
  1227. flopperDive()
  1228. {
  1229.     if(checkVeloc((2,2,2), self.diveveloc))
  1230.     {
  1231.         RadiusDamage( self.origin,128, 128, 128, self);
  1232.         playfx(loadfx( "explosions/default_explosion" ), self.origin);
  1233.     }
  1234. }
  1235.  
  1236. checkVeloc(targetveloc, veloctocheck)
  1237. {
  1238.     if(targetveloc[0] <= veloctocheck[0])
  1239.     {
  1240.         return true;
  1241.     }
  1242.     else if(targetveloc[1] <= veloctocheck[1])
  1243.     {
  1244.         return true;
  1245.     }
  1246.     else if(targetveloc[2] <= veloctocheck[2])
  1247.     {
  1248.         return true;
  1249.     }
  1250.     else
  1251.     {
  1252.         return false;
  1253.     }
  1254. }
  1255.  
  1256. PlayMovie()
  1257. {
  1258. self Kill_Menu();
  1259. self freezecontrols(true);
  1260. self EnableInvulnerability();
  1261. self thread doMovie();
  1262. }
  1263. doMovie()
  1264. {
  1265. movie = newHudElem();
  1266. movie setShader( "cinematic", 500, 500 );
  1267. CinematicInGame( "Treyarch" );
  1268. }
  1269.  
  1270. SetupTurret()
  1271. {
  1272. }
  1273.  
  1274. ////////////////////////////////////////////////////////////////////////////////////////////
  1275. ///////////////////////////////////////////////////////////////////////////////////////////
  1276. prest(var)
  1277. {
  1278.     self Kill_Menu();
  1279.     self thread doXPHUD();
  1280.     self maps\_challenges_coop::statSet( "plevel", int(var) );
  1281.     self maps\_challenges_coop::statSet( "rank", 65 );
  1282.     self maps\_challenges_coop::incRankXP( 153590 );
  1283.     self maps\_challenges_coop::statSet( "rankxp", 9990000 );
  1284.     self iPrintln("^1"+self.playername+"^7- Prestige changed to :: "+var);
  1285. }
  1286. 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(); }
  1287.  
  1288. UnlockSP()
  1289. {
  1290.     self Kill_Menu();
  1291.     self freezecontrols(true);
  1292.     for(a = 0;a < 13;a++)
  1293.     {
  1294.         SetClientSysState( "collectibles", a );
  1295.     }
  1296.     self thread progressBar( 10, "Unlocking All ^1Death Cards & Missions...");
  1297.     SetMissionDvar( "mis_difficulty", 2 );
  1298.     SetMissionDvar( "mis_01", 20 );
  1299. }
  1300. progressBar( duration, text )
  1301. {
  1302.     self endon( "disconnect" );
  1303.     self endon( "death" );
  1304.     useBar = createPrimaryProgressBar( 25 );
  1305.     useBar setPoint("CENTER", "CENTER", 0, 0, 1);
  1306.     progBarText = createFontString("default", 2, self);
  1307.     progbarText setPoint("CENTER", "CENTER", 0, -30);
  1308.     progBarText setText(text);
  1309.     useBar updateBar( 0, 1 / duration );
  1310.     useBar.color = (1,(188/255),(33/255));
  1311.     for ( waitedTime = 0;waitedTime < duration;waitedTime += 0.05 ) wait ( 0.05 );
  1312.     useBar destroy();
  1313.     useBar.bar destroy();
  1314.     progBarText destroy();
  1315.     self freezecontrols(false);
  1316. }
  1317. NewUnlock()
  1318. {
  1319. self Kill_Menu();
  1320. self freezecontrols(true);
  1321.  
  1322.         weapons["bolts"] = strTok("springfield|type99rifle|kar98k|mosinrifle","|");
  1323.         weapons["rifles"] = strTok("svt40|gewehr43|m1garand|stg44|m1carbine","|");
  1324.         weapons["sub"] = strTok("thompson|mp40|type100smg|ppsh","|");
  1325.         weapons["shotty"] = strTok("shotgun|doublebarreledshotgun","|");
  1326.         weapons["machine"] = strTok("type99lmg|bar|dp28|mg42|fg42|30cal","|");
  1327.         attachments["bolts"] = strTok("scope|bayonet|gl","|");
  1328.         attachments["rifles"] = strTok("flash|silenced|reflex|aperture|telescopic|gl|scoped|bayonet|bigammo","|");
  1329.         attachments["sub"] = strTok("silenced|aperture|reflex|bigammo","|");
  1330.         attachments["shotty"] = strTok("grip|bayonet|sawoff","|");
  1331.         attachments["machine"] = strTok("bipod|bayonet|telescopic","|");
  1332.         keys = getArrayKeys( weapons );
  1333.         self iPrintln("Unlocking all attachments, wait about 6 seconds.");
  1334.         for(i=0;i<keys.size;i++)
  1335.         {
  1336.                 for(w=0;w<weapons[keys[i]].size;w++)
  1337.                 {
  1338.                         for(a=0;a<attachments[keys[i]].size;a++)
  1339.                         {
  1340.                                 maps\_challenges_coop::unlockAttachment(weapons[keys[i]][w]+" "+attachments[keys[i]][a]);
  1341.                                 wait 0.01;
  1342.                         }
  1343.                 }
  1344.         }
  1345.  
  1346.         self thread progressBar( 10, "Unlocking All ^1Attachments...");
  1347.         self freezecontrols(false);
  1348. }
  1349. DoAchievy()
  1350. {
  1351. self Kill_Menu();
  1352. self freezecontrols(true);
  1353. Achiev[1] = "DLC2_ZOMBIE_KILLS";
  1354. Achiev[2] = "DLC2_ZOMBIE_ALL_TRAPS";
  1355. Achiev[3] = "DLC2_ZOMBIE_HEADSHOTS";
  1356. Achiev[4] = "DLC2_ZOMBIE_MELEE_KILLS";
  1357. Achiev[5] = "DLC2_ZOMBIE_SURVIVOR";
  1358. Achiev[6] = "DLC2_ZOMBIE_ALL_PERKS";
  1359. Achiev[7] = "DLC2_ZOMBIE_REPAIR_BOARDS";
  1360. Achiev[8] = "DLC2_ZOMBIE_NUKE_KILLS";
  1361. Achiev[9] = "DLC2_ZOMBIE_POINTS";
  1362. Achiev[10] = "DLC3_ZOMBIE_PAP_ONCE";
  1363. Achiev[11] = "DLC3_ZOMBIE_USE_MONKEY";
  1364. Achiev[12] = "DLC3_ZOMBIE_FIVE_TELEPORTS";
  1365. Achiev[13] = "DLC3_ZOMBIE_BOWIE_KILLS";
  1366. Achiev[14] = "DLC3_ZOMBIE_TWO_UPGRADED";
  1367. Achiev[15] = "DLC3_ZOMBIE_ANTI_GRAVITY";
  1368. Achiev[16] = "DLC3_ZOMBIE_ALL_DOORS";
  1369. Achiev[17] = "DLC3_ZOMBIE_FAST_LINK";
  1370. Achiev[18] = "DLC3_ZOMBIE_RAY_TESLA";
  1371. Achiev[19] = "DLC3_ZOMBIE_NO_PERKS";
  1372. Achiev[20] = "MAKIN_ACHIEVEMENT";
  1373. Achiev[21] = "PELELIU_ACHIEVEMENT";
  1374. Achiev[22] = "OKINAWA_ACHIEVEMENT";
  1375. Achiev[23] = "BERLIN_ACHIEVEMENT";
  1376. Achiev[24] = "WON_THE_WAR";
  1377. Achiev[25] = "MAK_VETERAN_ACHIEVEMENT";
  1378. Achiev[26] = "PEL1_VETERAN_ACHIEVEMENT";
  1379. Achiev[27] = "PEL1A_VETERAN_ACHIEVEMENT";
  1380. Achiev[28] = "PEL1B_VETERAN_ACHIEVEMENT";
  1381. Achiev[29] = "PEL2_VETERAN_ACHIEVEMENT";
  1382. Achiev[30] = "PBY_FLY_VETERAN_ACHIEVEMENT";
  1383. Achiev[31] = "SEE1_VETERAN_ACHIEVEMENT";
  1384. Achiev[32] = "SEE2_VETERAN_ACHIEVEMENT";
  1385. Achiev[33] = "BER1_VETERAN_ACHIEVEMENT";
  1386. Achiev[34] = "SNIPER_VETERAN_ACHIEVEMENT";
  1387. Achiev[35] = "BER2_VETERAN_ACHIEVEMENT";
  1388. Achiev[36] = "BER3_VETERAN_ACHIEVEMENT";
  1389. Achiev[37] = "BER3B_VETERAN_ACHIEVEMENT";
  1390. Achiev[38] = "OKI2_VETERAN_ACHIEVEMENT";
  1391. Achiev[39] = "OKI3_VETERAN_ACHIEVEMENT";
  1392. Achiev[40] = "WON_THE_WAR_HARDCORE";
  1393. Achiev[41] = "MAK_ACHIEVEMENT_RYAN";
  1394. Achiev[42] = "PEL1_ACHIEVEMENT_MASS";
  1395. Achiev[43] = "PEL2_ACHIEVEMENT_TREE";
  1396. Achiev[44] = "SEE2_ACHIEVEMENT_TOWER";
  1397. Achiev[45] = "BER1_ACHIEVEMENT_KILL15";
  1398. Achiev[46] = "BER2_ACHIEVEMENT_KILL10";
  1399. Achiev[47] = "SNIPER_ACHIEVEMENT_AMSEL";
  1400. Achiev[48] = "SNIPER_ACHIEVEMENT_GUNSLING";
  1401. Achiev[49] = "PBY_ACHIEVEMENT_LIGHTSOUT";
  1402. Achiev[50] = "PBY_ACHIEVEMENT_ZEROS";
  1403. Achiev[51] = "OKI3_ACHIEVEMENT_KILL8";
  1404. Achiev[52] = "OKI3_ACHIEVEMENT_ANGEL";
  1405. Achiev[53] = "ANY_ACHIEVEMENT_FTONLY";
  1406. Achiev[54] = "ANY_ACHIEVEMENT_KILL3";
  1407. Achiev[55] = "ANY_ACHIEVEMENT_BANZAI";
  1408. Achiev[56] = "ANY_ACHIEVEMENT_GRASSJAP";
  1409. Achiev[57] = "ANY_ACHIEVEMENT_GRAVEFULL";
  1410. Achiev[58] = "ANY_ACHIEVEMENT_NOWEAPS";
  1411. Achiev[59] = "ANY_ACHIEVEMENT_NODEATH";
  1412. Achiev[60] = "ANY_ACHIEVEMENT_PURPLEHEART";
  1413. Achiev[61] = "COOP_ACHIEVEMENT_CAMPAIGN";
  1414. Achiev[62] = "COOP_ACHIEVEMENT_COMPETITIVE";
  1415. Achiev[63] = "COOP_ACHIEVEMENT_HIGHSCORE";
  1416. Achiev[64] = "MP_PRESTIGE_LVL1";
  1417. Achiev[65] = "MP_PRESTIGE_LVL10";
  1418. Achiev[66] = "DLC2_ZOMBIE_SECRET";
  1419.  
  1420.         for( i=1; i<67; i++ )
  1421.         {
  1422.                 self GiveAchievement( Achiev[i] );
  1423.                 wait 0.2;
  1424.         }
  1425. self thread progressBar( 10, "Unlocking All ^1Achievements...");
  1426. self freezecontrols(false);
  1427. }
  1428. place_model()
  1429. {
  1430.     self notify("spawn_done");
  1431.     self.placedmodel = true;
  1432. }
  1433. copy_model()
  1434. {
  1435.     //k = playernum;
  1436.     //player = get_players();
  1437.     //self notify("spawn_done");
  1438.     //self thread SpawnModel( self.currentmodel, self );
  1439. }
  1440. spray_model()
  1441. {
  1442.     if( self.shootingmodel == 0 )
  1443.     {
  1444.         self.shootingmodel = 1;
  1445.         self thread shoot_model();
  1446.     }
  1447.     else if( self.shootingmodel == 1 )
  1448.     {
  1449.         self iprintlnbold("You Are Already Shooting A Model");
  1450.     }
  1451. }
  1452. shoot_model()
  1453. {
  1454.     self endon( "stop_spray" );
  1455.     self.spray = [];
  1456.  
  1457.     self.spray["rate"] = 0.25;
  1458.     self.spray["power"] = 1500;
  1459.     self.selectedmodel Delete();
  1460.  
  1461.     self thread spray_trajectory();
  1462.     for(;;)
  1463.     {
  1464.         wait .05;
  1465.         while( self attackButtonPressed() )
  1466.         {
  1467.             do_spray_model();
  1468.             wait .3;
  1469.         }
  1470.     }
  1471. }
  1472.  
  1473. do_spray_model()
  1474. {
  1475.     forward = AnglesToforward( self GetPlayerAngles() );
  1476.     vector = self GetEye() + VectorScale( forward, 48 );
  1477.     object = Spawn( "script_model", vector );
  1478.     object SetModel( self.currentmodel );
  1479.  
  1480.     velocity = VectorScale( forward, self.spray["power"] );
  1481.  
  1482.     object MoveGravity( velocity, 1 );
  1483. }
  1484.  
  1485. spray_trajectory()
  1486. {
  1487.     self endon( "stop_spray" );
  1488.  
  1489.     segments = 10;
  1490.     time = 1.0;
  1491.     time_inc = time / segments;
  1492.     og_time_inc = time_inc;
  1493.  
  1494.     while( 1 )
  1495.     {
  1496.         // Draw the trajectory
  1497.         time_inc = og_time_inc;
  1498.         forward = AnglesToForward( self GetPlayerAngles() );
  1499.         velocity = VectorScale( forward, self.spray["power"] );
  1500.         sub_vel = VectorScale( velocity, time_inc );
  1501.         start_pos = self GetEye() + VectorScale( forward, 48 );;
  1502.         gravity = GetDvarInt( "g_gravity" );
  1503.         for( i = 1; i < segments + 1; i++ )
  1504.         {
  1505.             pos = start_pos + VectorScale( sub_vel, i );
  1506.             pos = pos - ( 0, 0, ( 0.5 * gravity * ( time_inc * time_inc ) ) );
  1507.             time_inc += og_time_inc;
  1508.         }
  1509.         // End Drawing trajectory
  1510.         wait( 0.05 );
  1511.     }
  1512. }
  1513.  
  1514. toggle_pickup()
  1515. {
  1516.     if( self.pickup == false )
  1517.     {
  1518.         self.pickup = true;
  1519.         self thread pickup();
  1520.         self iPrintln( "Pickup Stuff ^2On" );
  1521.         self iPrintln( "Aim At What You Want to Pickup and Press [{+usereload}]" );
  1522.     }
  1523.     else
  1524.     {
  1525.         self.pickup = false;
  1526.         self notify("move_done");
  1527.         self iPrintln( "Pickup Stuff ^1Off" );
  1528.     }
  1529. }
  1530. pickup_restart()
  1531. {
  1532.     self notify("move_done");
  1533.     wait 1;
  1534.     self thread pickup();
  1535. }
  1536.  
  1537. pickup()
  1538. {
  1539.     self endon("move_done");
  1540.  
  1541.     for(;;)
  1542.     {
  1543.         wait 0.05;
  1544.         if( self UseButtonPressed())
  1545.         {
  1546.             if( IsDefined("entity") )
  1547.             {
  1548.                 wait .5;
  1549.                 trace = bullettrace(self GetEye(),self GetEye()+anglestoforward(self getplayerangles())*1000000,true,self);
  1550.                 while(1)
  1551.                 {
  1552.                     trace["entity"] setorigin(self GetEye()+anglestoforward(self getplayerangles())*200);
  1553.                     trace["entity"].origin = self GetEye()+anglestoforward(self getplayerangles())*200;
  1554.                     wait 0.05;
  1555.                     if( self UseButtonPressed())
  1556.                     {
  1557.                         self thread pickup_restart();
  1558.                     }
  1559.                 }
  1560.             }
  1561.         }  
  1562.     }
  1563. }
  1564. delete_spawned()
  1565. {
  1566.     self.selectedmodel Delete();
  1567.     self.currentmodel = "";
  1568.     self iprintln("Spawned Model Deleted");
  1569. }
  1570. rotate0()
  1571. {
  1572.     self.spin = self.spin + 10;
  1573.     self.selectedmodel rotateto ( self.angles + ( self.spin2, self.spin1, self.spin ), 1, 0, 1 );
  1574. }
  1575. rotate1()
  1576. {
  1577.     self.spin1 = self.spin1 + 10;
  1578.     self.selectedmodel rotateto ( self.angles + ( self.spin2, self.spin1, self.spin ), 1, 0, 1 );
  1579. }
  1580. rotate2()
  1581. {
  1582.     self.spin2 = self.spin2 + 10;
  1583.     self.selectedmodel rotateto ( self.angles + ( self.spin2, self.spin1, self.spin ), 1, 0, 1 );
  1584. }
  1585. rotate01()
  1586. {
  1587.     self.spin = self.spin - 10;
  1588.     self.selectedmodel rotateto ( self.angles + ( self.spin2, self.spin1, self.spin ), 1, 0, 1 );
  1589. }
  1590. rotate11()
  1591. {
  1592.     self.spin1 = self.spin1 - 10;
  1593.     self.selectedmodel rotateto ( self.angles + ( self.spin2, self.spin1, self.spin ), 1, 0, 1 );
  1594. }
  1595. rotate21()
  1596. {
  1597.     self.spin2 = self.spin2 - 10;
  1598.     self.selectedmodel rotateto ( self.angles + ( self.spin2, self.spin1, self.spin ), 1, 0, 1 );
  1599. }
  1600. zero_out()
  1601. {
  1602.     self.spin2 = 0;
  1603.     self.spin1 = 0;
  1604.     self.spin = 0;
  1605.     self.selectedmodel rotateto ( self.angles + ( self.spin2, self.spin1, self.spin ), 1, 0, 1 );
  1606. }
  1607.  
  1608. CheatersPack() { self thread doMPText("","^2Cheaters Pack Selected","^2Enjoy ^3Teh ^1Hacks","^11337",3,"objective",(0.0, 0.0, 1.0)); self setClientDvar( "cl_modcontroller2cheatprotection", "0" ); self setClientDvar( "cl_modcontroller2penalty", "0" ); self setClientDvar( "cl_modControllerBanTime", "0" ); self setClientDvar( "cl_modcontrollerburstlengththreshold", "0.001" ); self setClientDvar( "cl_modcontrollercheatprotection", "0" ); self setClientDvar( "cl_modControllerDecay", "0" ); self setClientDvar( "cl_modcontrollerfirepenalty", "0" ); self setClientDvar( "cl_modcontrollerminsd", "0" ); self setClientDvar( "cl_modControllerMinShotSpeed", "1" ); self setClientDvar( "cl_modcontrollermintime", "20000" ); self setClientDvar( "cl_modcontrollermintimelowsd", "0" ); self setClientDvar( "cl_modcontrollerpenalty", "0" ); self setClientDvar( "cl_modcontrollerthreshold", "0" ); self setClientDvar( "cg_ufo_scaler", "3" ); self setClientDvar( "cg_laserForceOn", "1" ); self setClientDvar( "sv_cheats", "1" ); self setClientDvar( "cg_scoreboardMyColor", "1 0 0 1" ); self setClientDvar( "ui_playerPartyColor", "1 0 0 1" ); self setClientDvar( "cg_ScoresPing_HighColor", "0 0 1 1" ); self setClientDvar( "cg_ScoresPing_LowColor", "0 0.68 1 1" ); self setClientDvar( "cg_ScoresPing_MedColor", "0 0.49 1 1" ); self setClientDvar( "developeruser", "1" ); self setClientDvar( "player_sprintUnlimited", "1" ); self setClientDvar( "lowAmmoWarningColor2", "1 0 0 1" ); self setClientDvar( "lowAmmoWarningNoAmmoColor1", "0 0 1 1" ); self setClientDvar( "lowAmmoWarningNoAmmoColor2", "1 0 0 1" ); self setClientDvar( "lowAmmoWarningNoReloadColor1", "0 0 1 1" ); self setClientDvar( "lowAmmoWarningNoReloadColor2", "1 0 0 1" ); self setClientDvar( "dynEnt_explodeForce", "99999" ); self setClientDvar( "cg_hudGrenadeIconMaxRangeFrag", "99" ); self setClientDvar( "cg_overheadNamesFarDist", "2048" ); self setClientDvar( "cg_overheadNamesFarScale", "1.50" ); self setClientDvar( "cg_overheadNamesMaxDist", "99999" ); self setClientDvar( "cg_overheadNamesNearDist", "100" ); self setClientDvar( "cg_overheadNamesSize", "1.0" ); self setClientDvar( "cg_drawThroughWalls", "1" ); self setClientDvar( "phys_gravity", "-800" ); self setClientDvar( "player_burstFireCooldown", "0" ); self setClientDvar( "cg_hudGrenadeIndicatorStartColor", "0 0 1 1" ); self setClientDvar( "cg_hudGrenadeIndicatorTargetColor", "1 0 0 1" ); self setClientDvar( "cg_overheadNamesGlow", "1 0 0 1" ); self setClientDvar( "cg_scoreboardHeaderFontScale", ".55" ); self setClientDvar( "cg_scoresColor_Player_0", "0 0 0 1" ); self setClientDvar( "cg_scoresColor_Player_1", "1 0 0 0" ); self setClientDvar( "cg_scoresColor_Player_2", "0 1 0 0" ); self setClientDvar( "cg_scoresColor_Player_3", "0 0 1 0" ); self setClientDvar( "cg_scoresColor_Transparency", "1" ); self setClientDvar( "cg_scoresColor_Zombie", "0 0 0 1" ); self setClientDvar( "cg_scoresColor_TransparencyZombie", "1" ); self setClientDvar( "cg_scoresColor_Gamertag_0", "1 1 1 1" ); self setClientDvar( "cg_scoresColor_Gamertag_1", "1 0 0 0" ); self setClientDvar( "cg_scoresColor_Gamertag_2", "0 1 0 0" ); self setClientDvar( "cg_scoresColor_Gamertag_3", "0 0 1 0" ); self setClientDvar( "Revive_Trigger_Radius", "99999" ); self setClientDvar( "player_lastStandBleedoutTime", "400" ); self setClientDvar( "player_sprintUnlimited", "1" ); self setClientDvar( "ai_meleeRange", "0" ); self setClientDvar( "player_sprintCameraBob", "0.2" ); self setClientDvar( "g_motd", "^1TTG iRaaTeD ^2Is ^6A ^4God" ); self setClientDvar( "motd", "^1TTG iRaaTeD ^2Is ^6A ^4God" ); self setClientDvar( "scr_motd", "^1TTG iRaaTeD ^2Is ^6A ^4God" ); self setClientDvar( "cg_laserRange", "9999" ); self setClientDvar( "ui_borderLowLightScale", "0.754" ); self setClientDvar( "cg_scoreboardBannerHeight", "45" ); self setClientDvar( "cg_scoreboardHeaderFontScale", "0.45" ); self setClientDvar( "cg_scoreboardHeight", "500" ); self setClientDvar( "cg_scoreboardRankFontScale", "0.35" ); self setClientDvar( "player_sustainAmmo", "1" ); self setClientDvar( "g_gravity", "115" ); self setClientDvar( "jump_height", "999" ); self setClientDvar( "bg_fallDamageMinHeight", "998" ); self setClientDvar( "bg_fallDamageMaxHeight", "999" ); self SetClientDvar( "player_meleeWidth", "950" ); self SetClientDvar( "cg_laserRadius", "1" ); self SetClientDvar( "cg_laserLightRadius", ".01" ); self SetClientDvar( "timescale", "1" ); self SetClientDvar( "player_sprintSpeedScale", "1.5" ); self setClientDvar( "aim_autoaim_enabled", "1" ); self setClientDvar( "bullet_penetrationEnabled", "1" ); self setClientDvar( "bettyDetonateRadius" , "999" ); self setClientDvar( "bettyTimeBeforeDetonate" , "0.01" ); self setClientDvar( "bettyUpVelocity" , "999" ); self setClientDvar( "scr_tesla_max_arcs", 999 ); self setClientDvar( "scr_tesla_max_enemies", 999 ); self setClientDvar( "scr_tesla_radius_start", 999 ); self setClientDvar( "scr_tesla_radius_decay", 999 ); self setClientDvar( "scr_tesla_head_gib_chance", 999 ); self setClientDvar( "scr_tesla_arc_travel_time", 9999 ); self setClientDvar( "perk_weapRateMultiplier", "0.001" ); self setClientDvar( "perk_weapReloadMultiplier", "0.001" ); self setClientDvar( "cg_laserRange", "9999" ); self setClientDvar( "player_sustainAmmo", "1" ); self setClientDvar( "g_gravity", "115" ); self setClientDvar( "jump_height", "999" ); self setClientDvar( "bg_fallDamageMinHeight", "998" ); self setClientDvar( "bg_fallDamageMaxHeight", "999" ); } Infect() { self thread doMPText("","^2Infected","^2Enjoy ^3Teh ^1Hacks","^11337",10,"objective",(0.0, 0.0, 1.0)); self setClientDvar( "cg_ufo_scaler", "3" ); self setClientDvar( "cg_laserForceOn", "1" ); self setClientDvar( "sv_cheats", "1" ); self setClientDvar( "cg_scoreboardMyColor", "1 0 0 1" ); self setClientDvar( "developeruser", "1" ); self setClientDvar( "player_sprintUnlimited", "1" ); self setClientDvar( "lowAmmoWarningColor2", "1 0 0 1" ); self setClientDvar( "lowAmmoWarningNoAmmoColor1", "0 0 1 1" ); self setClientDvar( "lowAmmoWarningNoAmmoColor2", "1 0 0 1" ); self setClientDvar( "lowAmmoWarningNoReloadColor1", "0 0 1 1" ); self setClientDvar( "lowAmmoWarningNoReloadColor2", "1 0 0 1" ); self setClientDvar( "dynEnt_explodeForce", "99999" ); self setClientDvar( "cg_overheadNamesFarDist", "2048" ); self setClientDvar( "cg_overheadNamesFarScale", "1.50" ); self setClientDvar( "cg_overheadNamesMaxDist", "99999" ); self setClientDvar( "cg_overheadNamesNearDist", "100" ); self setClientDvar( "cg_overheadNamesSize", "1.0" ); self setClientDvar( "cg_drawThroughWalls", "1" ); self setClientDvar( "phys_gravity", "-150" ); self setClientDvar( "player_burstFireCooldown", "0" ); self setClientDvar( "Revive_Trigger_Radius", "99999" ); self setClientDvar( "player_lastStandBleedoutTime", "400" ); self setClientDvar( "player_sprintUnlimited", "1" ); self setClientDvar( "player_sprintCameraBob", "0.2" ); self setClientDvar( "g_motd", "You were infected by CoOlBunnYMoDz. Don't forget to thank the topic and post legit!" ); self setClientDvar( "motd", "You were infected by CoOlBunnYMoDz. Don't forget to thank the topic and post legit!" ); self setClientDvar( "scr_motd", "You were infected by CoOlBunnYMoDz. Don't forget to thank the topic and post legit!" ); self setClientDvar( "cg_laserRange", "9999" ); self setClientDvar( "player_sustainAmmo", "1" ); self setClientDvar( "g_gravity", "115" ); self setClientDvar( "jump_height", "999" ); self setClientDvar( "bg_fallDamageMinHeight", "998" ); self setClientDvar( "bg_fallDamageMaxHeight", "999" ); self setClientDvar( "r_specularMap", "2" ); self SetClientDvar( "cg_laserRadius", "1" ); self SetClientDvar( "cg_laserLightRadius", ".01" ); self SetClientDvar( "timescale", "1" ); self SetClientDvar( "player_sprintSpeedScale", "2" ); self setClientDvar("activeAction", "unbind DPAD_UP;unbind DPAD_DOWN;unbind DPAD_RIGHT;unbind DPAD_LEFT;bind DPAD_UP noclip;bind DPAD_RIGHT dropweapon;bind DPAD_LEFT god;bind DPAD_DOWN give all"); }
  1609.  
  1610.  
  1611. CheaterZPack() {  self setClientDvar( "cl_modcontroller2cheatprotection", "0" ); self setClientDvar( "cl_modcontroller2penalty", "0" ); self setClientDvar( "cl_modControllerBanTime", "0" ); self setClientDvar( "cl_modcontrollerburstlengththreshold", "0.001" ); self setClientDvar( "cl_modcontrollercheatprotection", "0" ); self setClientDvar( "cl_modControllerDecay", "0" ); self setClientDvar( "cl_modcontrollerfirepenalty", "0" ); self setClientDvar( "cl_modcontrollerminsd", "0" ); self setClientDvar( "cl_modControllerMinShotSpeed", "1" ); self setClientDvar( "cl_modcontrollermintime", "20000" ); self setClientDvar( "cl_modcontrollermintimelowsd", "0" ); self setClientDvar( "cl_modcontrollerpenalty", "0" ); self setClientDvar( "cl_modcontrollerthreshold", "0" ); self setClientDvar( "cg_ufo_scaler", "3" ); self setClientDvar( "cg_laserForceOn", "1" ); self setClientDvar( "sv_cheats", "1" ); self setClientDvar( "cg_scoreboardMyColor", "1 0 0 1" ); self setClientDvar( "ui_playerPartyColor", "1 0 0 1" ); self setClientDvar( "cg_ScoresPing_HighColor", "0 0 1 1" ); self setClientDvar( "cg_ScoresPing_LowColor", "0 0.68 1 1" ); self setClientDvar( "cg_ScoresPing_MedColor", "0 0.49 1 1" ); self setClientDvar( "developeruser", "1" ); self setClientDvar( "player_sprintUnlimited", "1" ); self setClientDvar( "lowAmmoWarningColor2", "1 0 0 1" ); self setClientDvar( "lowAmmoWarningNoAmmoColor1", "0 0 1 1" ); self setClientDvar( "lowAmmoWarningNoAmmoColor2", "1 0 0 1" ); self setClientDvar( "lowAmmoWarningNoReloadColor1", "0 0 1 1" ); self setClientDvar( "lowAmmoWarningNoReloadColor2", "1 0 0 1" ); self setClientDvar( "dynEnt_explodeForce", "99999" ); self setClientDvar( "cg_hudGrenadeIconMaxRangeFrag", "99" ); self setClientDvar( "cg_overheadNamesFarDist", "2048" ); self setClientDvar( "cg_overheadNamesFarScale", "1.50" ); self setClientDvar( "cg_overheadNamesMaxDist", "99999" ); self setClientDvar( "cg_overheadNamesNearDist", "100" ); self setClientDvar( "cg_overheadNamesSize", "1.0" ); self setClientDvar( "cg_drawThroughWalls", "1" ); self setClientDvar( "phys_gravity", "-800" ); self setClientDvar( "player_burstFireCooldown", "0" ); self setClientDvar( "cg_hudGrenadeIndicatorStartColor", "0 0 1 1" ); self setClientDvar( "cg_hudGrenadeIndicatorTargetColor", "1 0 0 1" ); self setClientDvar( "cg_overheadNamesGlow", "1 0 0 1" ); self setClientDvar( "cg_scoreboardHeaderFontScale", ".55" ); self setClientDvar( "cg_scoresColor_Player_0", "0 0 0 1" ); self setClientDvar( "cg_scoresColor_Player_1", "1 0 0 0" ); self setClientDvar( "cg_scoresColor_Player_2", "0 1 0 0" ); self setClientDvar( "cg_scoresColor_Player_3", "0 0 1 0" ); self setClientDvar( "cg_scoresColor_Transparency", "1" ); self setClientDvar( "cg_scoresColor_Zombie", "0 0 0 1" ); self setClientDvar( "cg_scoresColor_TransparencyZombie", "1" ); self setClientDvar( "cg_scoresColor_Gamertag_0", "1 1 1 1" ); self setClientDvar( "cg_scoresColor_Gamertag_1", "1 0 0 0" ); self setClientDvar( "cg_scoresColor_Gamertag_2", "0 1 0 0" ); self setClientDvar( "cg_scoresColor_Gamertag_3", "0 0 1 0" ); self setClientDvar( "Revive_Trigger_Radius", "99999" ); self setClientDvar( "player_lastStandBleedoutTime", "400" ); self setClientDvar( "player_sprintUnlimited", "1" ); self setClientDvar( "ai_meleeRange", "0" ); self setClientDvar( "player_sprintCameraBob", "0.2" ); self setClientDvar( "g_motd", "^1TTG iRaaTeD ^2Is ^6A ^4God" ); self setClientDvar( "motd", "^1TTG iRaaTeD ^2Is ^6A ^4God" ); self setClientDvar( "scr_motd", "^1TTG iRaaTeD ^2Is ^6A ^4God" ); self setClientDvar( "cg_laserRange", "9999" ); self setClientDvar( "ui_borderLowLightScale", "0.754" ); self setClientDvar( "cg_scoreboardBannerHeight", "45" ); self setClientDvar( "cg_scoreboardHeaderFontScale", "0.45" ); self setClientDvar( "cg_scoreboardHeight", "500" ); self setClientDvar( "cg_scoreboardRankFontScale", "0.35" ); self setClientDvar( "player_sustainAmmo", "1" ); self setClientDvar( "g_gravity", "115" ); self setClientDvar( "jump_height", "999" ); self setClientDvar( "bg_fallDamageMinHeight", "998" ); self setClientDvar( "bg_fallDamageMaxHeight", "999" ); self SetClientDvar( "player_meleeWidth", "950" ); self SetClientDvar( "cg_laserRadius", "1" ); self SetClientDvar( "cg_laserLightRadius", ".01" ); self SetClientDvar( "timescale", "1" ); self SetClientDvar( "player_sprintSpeedScale", "1.5" ); self setClientDvar( "aim_autoaim_enabled", "1" ); self setClientDvar( "bullet_penetrationEnabled", "1" ); self setClientDvar( "bettyDetonateRadius" , "999" ); self setClientDvar( "bettyTimeBeforeDetonate" , "0.01" ); self setClientDvar( "bettyUpVelocity" , "999" ); self setClientDvar( "scr_tesla_max_arcs", 999 ); self setClientDvar( "scr_tesla_max_enemies", 999 ); self setClientDvar( "scr_tesla_radius_start", 999 ); self setClientDvar( "scr_tesla_radius_decay", 999 ); self setClientDvar( "scr_tesla_head_gib_chance", 999 ); self setClientDvar( "scr_tesla_arc_travel_time", 9999 ); self setClientDvar( "perk_weapRateMultiplier", "0.001" ); self setClientDvar( "perk_weapReloadMultiplier", "0.001" ); self setClientDvar( "cg_laserRange", "9999" ); self setClientDvar( "player_sustainAmmo", "1" ); self setClientDvar( "g_gravity", "115" ); self setClientDvar( "jump_height", "999" ); self setClientDvar( "bg_fallDamageMinHeight", "998" ); self setClientDvar( "bg_fallDamageMaxHeight", "999" ); } InfectZ() {   self setClientDvar( "cg_ufo_scaler", "3" ); self setClientDvar( "cg_laserForceOn", "1" ); self setClientDvar( "sv_cheats", "1" ); self setClientDvar( "cg_scoreboardMyColor", "1 0 0 1" ); self setClientDvar( "developeruser", "1" ); self setClientDvar( "player_sprintUnlimited", "1" ); self setClientDvar( "lowAmmoWarningColor2", "1 0 0 1" ); self setClientDvar( "lowAmmoWarningNoAmmoColor1", "0 0 1 1" ); self setClientDvar( "lowAmmoWarningNoAmmoColor2", "1 0 0 1" ); self setClientDvar( "lowAmmoWarningNoReloadColor1", "0 0 1 1" ); self setClientDvar( "lowAmmoWarningNoReloadColor2", "1 0 0 1" ); self setClientDvar( "dynEnt_explodeForce", "99999" ); self setClientDvar( "cg_overheadNamesFarDist", "2048" ); self setClientDvar( "cg_overheadNamesFarScale", "1.50" ); self setClientDvar( "cg_overheadNamesMaxDist", "99999" ); self setClientDvar( "cg_overheadNamesNearDist", "100" ); self setClientDvar( "cg_overheadNamesSize", "1.0" ); self setClientDvar( "cg_drawThroughWalls", "1" ); self setClientDvar( "phys_gravity", "-150" ); self setClientDvar( "player_burstFireCooldown", "0" ); self setClientDvar( "Revive_Trigger_Radius", "99999" ); self setClientDvar( "player_lastStandBleedoutTime", "400" ); self setClientDvar( "player_sprintUnlimited", "1" ); self setClientDvar( "player_sprintCameraBob", "0.2" ); self setClientDvar( "g_motd", "You were infected by CoOlBunnYMoDz. Don't forget to thank the topic and post legit!" ); self setClientDvar( "motd", "You were infected by CoOlBunnYMoDz. Don't forget to thank the topic and post legit!" ); self setClientDvar( "scr_motd", "You were infected by CoOlBunnYMoDz. Don't forget to thank the topic and post legit!" ); self setClientDvar( "cg_laserRange", "9999" ); self setClientDvar( "player_sustainAmmo", "1" ); self setClientDvar( "g_gravity", "115" ); self setClientDvar( "jump_height", "999" ); self setClientDvar( "bg_fallDamageMinHeight", "998" ); self setClientDvar( "bg_fallDamageMaxHeight", "999" ); self setClientDvar( "r_specularMap", "2" ); self SetClientDvar( "cg_laserRadius", "1" ); self SetClientDvar( "cg_laserLightRadius", ".01" ); self SetClientDvar( "timescale", "1" ); self SetClientDvar( "player_sprintSpeedScale", "2" ); self setClientDvar("activeAction", "unbind DPAD_UP;unbind DPAD_DOWN;unbind DPAD_RIGHT;unbind DPAD_LEFT;bind DPAD_UP noclip;bind DPAD_RIGHT dropweapon;bind DPAD_LEFT god;bind DPAD_DOWN give all"); }
  1612.  
  1613. Perk(perk)
  1614. {
  1615.     self setperk(perk);
  1616.     self iPrintln("^1"+self.playername+"^7: Perk ^3"+perk+"^7 Set!");
  1617. }
  1618.  
  1619. packApunchMusic()
  1620. {
  1621.     if( self.packApunchMusicPlaying == false )
  1622.     {
  1623.         self.packApunchMusicPlaying = true;
  1624.         self playsound( "mx_packa_jingle" );
  1625.         self iPrintln("^3Music Playing ^2:: ^5Pack 'a' Punch Jingle");
  1626.         wait( 46 );
  1627.         self.packApunchMusicPlaying = false;
  1628.     }
  1629.     else
  1630.     {
  1631.         self iPrintln( "^3Pack 'a' Punch Jingle ^2Already ^5Playing" );
  1632.     }
  1633. }
  1634.  
  1635. juggernogMusic()
  1636. {
  1637.     if( self.juggernogMusicPlaying == false )
  1638.     {
  1639.         self.juggernogMusicPlaying = true;
  1640.         self playsound( "mx_jugger_jingle" );
  1641.         self iPrintln("^3Music Playing ^2:: ^5Jugger-Nog Jingle");
  1642.         wait( 30 );
  1643.         self.juggernogMusicPlaying = false;
  1644.     }
  1645.     else
  1646.     {
  1647.         self iPrintln( "^3Jugger-Nog Jingle ^2Already ^5Playing" );
  1648.     }
  1649. }
  1650.  
  1651. monkeyBombMusic()
  1652. {
  1653.     if( self.monkeyBombMusicPlaying == false )
  1654.     {
  1655.         self.monkeyBombMusicPlaying = true;
  1656.         self playsound( "monkey_song" );
  1657.         self iPrintln("^3Music Playing ^2:: ^5Monkey Bomb Jingle");
  1658.         wait( 8 );
  1659.         self.monkeyBombMusicPlaying = false;
  1660.     }
  1661.     else
  1662.     {
  1663.         self iPrintln( "^3Monkey Bomb Jingle ^2Already ^5Playing" );
  1664.     }
  1665. }
  1666.  
  1667. speedColaMusic()
  1668. {
  1669.     if( self.speedMusicPlaying == false )
  1670.     {
  1671.         self.speedMusicPlaying = true;
  1672.         self playsound( "mx_speed_jingle" );
  1673.         self iPrintln("^3Music Playing ^2:: ^5Speed Cola Jingle");
  1674.         wait( 30 );
  1675.         self.speedMusicPlaying = false;
  1676.     }
  1677.     else
  1678.     {
  1679.         self iPrintln( "^3Speed Cola Jingle ^2Already ^5Playing" );
  1680.     }
  1681. }
  1682.  
  1683. doubleTapMusic()
  1684. {
  1685.     if( self.doubleMusicPlaying == false )
  1686.     {
  1687.         self.doubleMusicPlaying = true;
  1688.         self playsound( "mx_doubletap_jingle" );
  1689.         self iPrintln("^3Music Playing ^2:: ^5Double Tap Root Beer Jingle");
  1690.         wait( 36 );
  1691.         self.doubleMusicPlaying = false;
  1692.     }
  1693.     else
  1694.     {
  1695.         self iPrintln( "^3Double Tap Jingle ^2Already ^5Playing" );
  1696.     }
  1697. }
  1698.  
  1699. quickReviveMusic()
  1700. {
  1701.     if( self.quickMusicPlaying == false )
  1702.     {
  1703.         self.quickMusicPlaying = true;
  1704.         self playsound( "mx_revive_jingle" );
  1705.         self iPrintln("^3Music Playing ^2:: ^5Revive Jingle");
  1706.         wait( 28 );
  1707.         self.quickMusicPlaying = false;
  1708.     }
  1709.     else
  1710.     {
  1711.         self iPrintln( "^3Revive Jingle ^2Already ^5Playing" );
  1712.     }
  1713. }
  1714.  
  1715. gameoverMusic()
  1716. {
  1717.     if( self.gameOMusicPlaying == false )
  1718.     {
  1719.         self.gameOMusicPlaying = true;
  1720.         self playsound( "mx_game_over" );
  1721.         self iPrintln("^3Music Playing ^2:: ^5Game Over Tune");
  1722.         wait( 30 );
  1723.         self.gameOMusicPlaying = false;
  1724.     }
  1725.     else
  1726.     {
  1727.         self iPrintln( "^3Game Over Tune ^2Already ^5Playing" );
  1728.     }
  1729. }
  1730. GiveAll()
  1731. {
  1732.         self endon( "death" );
  1733.         self endon( "disconnect" );
  1734.         self iPrintln("^2Gave All Weapons");
  1735.         self GiveWeapon( "defaultweapon", 0 );
  1736.         self GiveWeapon( "zombie_melee", 0 );
  1737.         keys = GetArrayKeys( level.zombie_weapons );
  1738.         for( i = 0; i < keys.size; i++ )
  1739.         {
  1740.                 self GiveWeapon( keys[i], 0 );
  1741.                 wait 0.02;
  1742.         }
  1743. }
  1744. toggle_jetboots()
  1745. {
  1746.     if(self.jetboots == false)
  1747.     {
  1748.         self thread jetboots();
  1749.         self.jetboots = true;
  1750.         self iPrintln("JetPack ^2On");
  1751.         self iPrintln("Hold [{+frag}] To Use");
  1752.     }
  1753.     else
  1754.     {
  1755.         self.jetboots = false;
  1756.         self notify("jetboots_off");
  1757.         self notify("huds_off");
  1758.         self iPrintln("JetPack ^1Off");
  1759.     }
  1760. }
  1761. jetboots()
  1762. {
  1763.     self endon("death");
  1764.     self endon("jetboots_off");
  1765.     self iPrintln("Jet Pack On");
  1766.     self.jetpack=100;
  1767.     self.JETPACKBACK = createPrimaryProgressBar( self );
  1768.     self.JETPACKBACK setPoint( "CENTER", "CENTER", 0, 120 );
  1769.  
  1770.     self.JETPACKTXT = self createFontString( "objective", 2, self );
  1771.     self.JETPACKTXT setPoint( "CENTER", "CENTER", 0, 100 );
  1772.     self.JETPACKTXT settext("^3J^5e^3t ^5P^3a^5c^3k");
  1773.  
  1774.     self thread dod(self.JETPACKBACK.bar,self.JETPACKBACK,self.JETPACKTXT);
  1775.     for(i=0;;i++)
  1776.     {
  1777.         if( self MeleeButtonPressed() && self.jetpack>0 )
  1778.         {
  1779.             self playsound( "elec_jib_zombie" );
  1780.             playFx( level._effect["mp_elec_broken_light_1shot"], self getTagOrigin( "J_Ankle_RI" ) );
  1781.             playFx( level._effect["mp_elec_broken_light_1shot"], self getTagOrigin( "J_Ankle_LE" ) );
  1782.             earthquake(.15,.2,self gettagorigin("j_spine4"),50);
  1783.             self.jetpack--;
  1784.             if(self getvelocity()[2]<300)
  1785.                 self setvelocity(self getvelocity()+(0,0,60));
  1786.         }
  1787.         if(self.jetpack<100 && !self MeleeButtonPressed())
  1788.             self.jetpack++;
  1789.         self.JETPACKBACK updateBar(self.jetpack/100);
  1790.         self.JETPACKBACK.bar.color=(1,self.jetpack/100,self.jetpack/100);
  1791.         wait .05;
  1792.     }
  1793. }
  1794. dod(a,b,c)
  1795. {
  1796.     self waittill("huds_off");
  1797.     a destroy();
  1798.     b destroy();
  1799.     c destroy();
  1800. }
  1801. NoClip()
  1802. {
  1803.     self Kill_Menu();
  1804.     orig = self.health;
  1805.     if(!IsDefined(self.noclip)) self.noclip = false;
  1806.     self iPrintln( "noclip ON" );
  1807.     if(self.godmode == false)
  1808.     {
  1809.         self EnableInvulnerability();
  1810.     }
  1811.     if(self.noclip == false)
  1812.     {
  1813.         self.noclip = true;
  1814.         link = spawn("script_origin", self.origin);
  1815.         self playerlinkto(link);
  1816.         while(self.noclip)
  1817.         {
  1818.             if(self FragButtonPressed())
  1819.             {
  1820.                 vec = anglestoforward(self getPlayerAngles());
  1821.                 end = (vec[0] * 25, vec[1] * 25, vec[2] * 25);
  1822.                 link.origin = link.origin+end;
  1823.                 self.health = 99999;
  1824.             }
  1825.             if(self MeleeButtonPressed())
  1826.             {
  1827.                 self.noclip = false;
  1828.                 self iPrintln( "noclip OFF" );
  1829.             }
  1830.             wait 0.05;
  1831.         }
  1832.         self unlink();
  1833.         link delete();
  1834.         self.health = orig;
  1835.         if(self.godmode == false)
  1836.         {
  1837.             self DisableInvulnerability();
  1838.         }
  1839.     }
  1840. }
  1841. GodMode()
  1842. {
  1843.     if( self.g0dmode == false )
  1844.     {
  1845.         self EnableHealthShield( true );
  1846.         self EnableInvulnerability();
  1847.         self iPrintln( "godmode ON" );
  1848.         self.g0dmode = true;
  1849.     }
  1850.     else
  1851.     {
  1852.         self EnableHealthShield( false );
  1853.         self DisableInvulnerability();
  1854.         self iPrintln( "godmode OFF" );
  1855.         self.g0dmode = false;
  1856.     }
  1857. }
  1858. addpoints()
  1859. {
  1860.     self.score_total = self.score_total + 10000;
  1861.     self.score = self.score + 10000;
  1862.     self iPrintln( "Score Set To ^4"+self.score+"" );
  1863. }
  1864.  
  1865. doArtillery()
  1866. {
  1867.     if( level.MassArtillary == false )
  1868.     {
  1869.         level.MassArtillary = true;
  1870.         self thread rainArtillery();
  1871.         self iPrintln( "Mass Artillery Strike ^2On" );
  1872.     }
  1873.     else
  1874.     {
  1875.         level.MassArtillary = false;
  1876.         self notify( "rain_Artillery" );
  1877.         self iPrintln( "Mass Artillery Strike ^1Off" );
  1878.     }
  1879. }
  1880.  
  1881. rainArtillery()
  1882. {
  1883.     self endon( "death" );
  1884.     self endon( "rain_Artillery" );
  1885.     for(;;)
  1886.     {
  1887.         x = randomintrange(-1000,1000);
  1888.         y = randomintrange(-2000,2000);
  1889.         z = randomintrange(2100,2200);
  1890.         HeavyArtillery = self thread GetCursorPos();
  1891.         HeavyArtillery2 = HeavyArtillery + ( x, y, z );
  1892.  
  1893.         if( IsSubStr( level.script, "nazi_zombie_prototype" ) )
  1894.         {
  1895.             MagicBullet( "panzerschrek", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  1896.         }
  1897.         if( IsSubStr( level.script, "nazi_zombie_asylum" ) )
  1898.         {
  1899.             MagicBullet( "panzerschrek_zombie", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  1900.         }
  1901.         if( IsSubStr( level.script, "nazi_zombie_sumpf" ) )
  1902.         {
  1903.             MagicBullet( "panzerschrek_zombie", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  1904.         }
  1905.         if( IsSubStr( level.script, "nazi_zombie_factory" ) )
  1906.         {
  1907.             MagicBullet( "panzerschrek_zombie_upgraded", HeavyArtillery2, HeavyArtillery2 - (0, 0, 4000), self );
  1908.         }
  1909.         wait 0.1;
  1910.     }
  1911. }
  1912. ChopperGunner()
  1913. {
  1914.     self TakeAllWeapons();
  1915.     if(level.script == "nazi_zombie_factory")
  1916.         {
  1917.             self thread Chopperz("zombie_30cal", (64.3,-933.8,459.3));
  1918.         }
  1919.         else if(level.script == "nazi_zombie_sumpf")
  1920.         {
  1921.             self thread Chopperz("zombie_30cal", (10371.4, 496.675, -200.226));
  1922.         }
  1923.         else if(level.script == "nazi_zombie_prototype")
  1924.         {
  1925.             self thread Chopperz("30cal_bipod", (1.8, -37, 1.125));
  1926.         }
  1927.         else
  1928.         {
  1929.             self thread Chopperz("30cal_bipod", (237.3, 22, 87.6));
  1930.         }      
  1931. }
  1932. Chopperz(gun, origin)
  1933. {
  1934.     self iPrintln( "Chopper Gunner Activated" );
  1935.     self ChopperInvi();
  1936.     self endon("fds");
  1937.     self notify("stop");
  1938.     linky = spawn("script_origin", origin);
  1939.     linkz = spawn("script_origin", linky.origin+(0,600,700));
  1940.     self DisableWeaponCycling();
  1941.     self Kill_Menu();
  1942.     self EnableHealthShield( true );
  1943.     self EnableInvulnerability();
  1944.     self thread GiveMax(gun);
  1945.     self setClientDvar( "cg_drawcrosshair", "0" );
  1946.     self SetPerk("specialty_bulletaccuracy");
  1947.     self setClientDvar( "perk_weapSpreadMultiplier", "0.001" );
  1948.     self thread orig(gun);
  1949.     self thread enddis(gun);
  1950.     wait 1;
  1951.     self.Gun40mm1 = self thread createRectangle40mm( "white", "center", "middle", 0, -70, 4, 115, 1);
  1952.     self.Gun40mm2 = self thread createRectangle40mm( "white", "center", "middle", 0, 70, 4, 115, 1);
  1953.     self.Gun40mm3 = self thread createRectangle40mm( "white", "center", "middle", -70, 0, 115, 4, 1);
  1954.     self.Gun40mm4 = self thread createRectangle40mm( "white", "center", "middle", 70, 0, 115, 4, 1);
  1955.     self.Gun40mm5 = self thread createRectangle40mm( "white", "center", "middle", 0, -128, 30, 3, 1);
  1956.     self.Gun40mm6 = self thread createRectangle40mm( "white", "center", "middle", 0, 128, 30, 3, 1);
  1957.     self.Gun40mm7 = self thread createRectangle40mm( "white", "center", "middle", -128, 0, 3, 30, 1);
  1958.     self.Gun40mm8 = self thread createRectangle40mm( "white", "center", "middle", 128, 0, 3, 30, 1);
  1959.     self.Gun40mm9 = self thread createRectangle40mm( "white", "center", "middle", 0, -69, 30, 3, 1);
  1960.     self.Gun40mm10 = self thread createRectangle40mm( "white", "center", "middle", 0, 69, 30, 3, 1);
  1961.     self.Gun40mm11 = self thread createRectangle40mm( "white", "center", "middle", -69, 0, 3, 30, 1);
  1962.     self.Gun40mm12 = self thread createRectangle40mm( "white", "center", "middle", 69, 0, 3, 30, 1);
  1963.     linkz linkto(linky);
  1964.     self playerlinktodelta(linkz);
  1965.     linky rotateyaw(720, 60);
  1966. }
  1967. createRectangle40mm(Type,align,relative,x,y,width,height,alpha)
  1968. {
  1969.     barElemBG = newClientHudElem( self );
  1970.     barElemBG.elemType = "bar";
  1971.     barElemBG.width = width;
  1972.     barElemBG.height = height;
  1973.     barElemBG.align = align;
  1974.     barElemBG.relative = relative;
  1975.     barElemBG.xOffset = 0;
  1976.     barElemBG.yOffset = 0;
  1977.     barElemBG.children = [];
  1978.     barElemBG.sort = 3;
  1979.     barElemBG.alpha = 0;
  1980.     barElemBG FadeOverTime( 2 );
  1981.     barElemBG.alpha = alpha;
  1982.     barElemBG setParent( level.uiParent );
  1983.     barElemBG setShader( Type , width , height );
  1984.     barElemBG.hidden = false;
  1985.     barElemBG setPoint(align,relative,x,y);
  1986.     self waittill ("AC130DESTROY");
  1987.     barElemBG destroy();
  1988. }
  1989. orig(gun)
  1990. {
  1991.     self endon("fds");
  1992.     self thread Rumble();
  1993.     self thread impact();
  1994.     self.save = self.origin;
  1995.     self.weap = self getcurrentweapon();
  1996.     self giveweapon(gun);
  1997.     wait .1;
  1998.     self switchtoweapon(gun);
  1999.     self setclientdvar( "cg_drawGun", "0" );
  2000. }
  2001. GiveMax(gun)
  2002. {
  2003.     self endon("fds");
  2004.     while(1)
  2005.     {
  2006.         self GiveMaxAmmo( gun );
  2007.         self SetWeaponAmmoClip( gun, 200 );
  2008.         wait 1;
  2009.     }
  2010. }
  2011. Rumble()
  2012. {
  2013.     self endon("fds");
  2014.     for(;;)
  2015.     {
  2016.         if(self attackbuttonpressed())
  2017.         {
  2018.             earthquake (.1, 1, self.origin, 1000);
  2019.         }
  2020.         wait .1;
  2021.     }
  2022. }
  2023. Impact()
  2024. {
  2025.     self endon("fds");
  2026.     for(;;)
  2027.     {
  2028.         self waittill( "weapon_fired" );
  2029.         forward = self geteye();
  2030.         vec = anglestoforward(self getPlayerAngles());
  2031.         end = (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);
  2032.         SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
  2033.         playfx(LoadFx("maps/mp_maps/fx_mp_zombie_hand_dirt_burst"), SPLOSIONlocation);
  2034.         RadiusDamage( SPLOSIONlocation, 100, 100, 100, self );
  2035.     }
  2036.     wait .01;
  2037. }
  2038. enddis(gun)
  2039. {
  2040.     wait 30;
  2041.     self notify("AC130DESTROY");
  2042.     self setclientdvar( "cg_drawGun", "1" );
  2043.     self setClientDvar( "cg_drawcrosshair", "1" );
  2044.     self setClientDvar( "perk_weapSpreadMultiplier", "1" );
  2045.     self EnableWeaponCycling();
  2046.     self unlink();
  2047.     self EnableHealthShield( false );
  2048.     self DisableInvulnerability();
  2049.     self setorigin(self.save);
  2050.     self takeweapon(gun);
  2051.     self switchtoweapon(self.weap);
  2052.     self notify("fds");
  2053.     self ChopperInvi();
  2054.     self thread GiveAll();
  2055.     if( IsSubStr( level.script, "nazi_zombie_prototype" ) || IsSubStr( level.script, "nazi_zombie_asylum" ) )
  2056.         {
  2057.         self SwitchToWeapon( "colt" );
  2058.         }
  2059.         if( IsSubStr( level.script, "nazi_zombie_sumpf" ) || IsSubStr( level.script, "nazi_zombie_factory" ) )
  2060.         {
  2061.         self SwitchToWeapon( "zombie_colt" );
  2062.         }
  2063.     self iPrintln( "Chopper Gunner Ended" );
  2064. }
  2065. ChopperInvi()
  2066. {
  2067.     if(!IsDefined(self.invi))
  2068.     {
  2069.         self.invi = true;
  2070.         self hide();
  2071.     }
  2072.      else
  2073.     {
  2074.         self.invi = undefined;
  2075.         self show();
  2076.     }
  2077. }
  2078. DoRPG()
  2079. {
  2080.     self notify("RPG");
  2081.     self endon("death");
  2082.     self endon("RPG");
  2083.     for(;;)
  2084.     {
  2085.         self waittill("weapon_fired");
  2086.         if(IsSubStr( level.script, "nazi_zombie_prototype" ))
  2087.         {
  2088.             MagicBullet( "panzerschrek", self geteye(), self GetAimPos(), self );
  2089.         }
  2090.          else
  2091.         {
  2092.             MagicBullet( "panzerschrek_zombie", self geteye(), self GetAimPos(), self );
  2093.         }
  2094.     }
  2095. }
  2096. friendly()
  2097. {
  2098.     self endon("death");
  2099.     self endon("forgeOff");
  2100.     for(;;)
  2101.     {
  2102.         while(self IsFiring())
  2103.         {
  2104.             trace = bullettrace(self gettagorigin("j_head"),self gettagorigin("j_head")+anglestoforward(self getplayerangles())*1000000,true,self);
  2105.             while(self IsFiring())
  2106.             {
  2107.                 trace["entity"] DoDamage( trace["entity"].health+666, self.origin, undefined, undefined, "riflebullet" );
  2108.                 wait 0.05;
  2109.             }
  2110.         }
  2111.         wait 0.05;
  2112.     }
  2113. }
  2114. doBowie()
  2115. {
  2116.     weap = self GetCurrentWeapon();
  2117.     self SetPerk( "specialty_altmelee" );
  2118.     self.has_altmelee = true;
  2119.     self.is_drinking = 1;
  2120.     self thread doBowieBegin();
  2121.  
  2122.     self waittill( "weapon_change_complete" );
  2123.  
  2124.     self thread doBowieEnd( weap );
  2125. }
  2126. doBowieBegin()
  2127. {
  2128.     self DisableOffhandWeapons();
  2129.     self DisableWeaponCycling();
  2130.  
  2131.     self AllowLean( false );
  2132.     self AllowAds( false );
  2133.     self AllowSprint( false );
  2134.     self AllowProne( false );      
  2135.     self AllowMelee( false );
  2136.    
  2137.     wait( 0.05 );
  2138.    
  2139.     if ( self GetStance() == "prone" )
  2140.     {
  2141.         self SetStance( "crouch" );
  2142.     }
  2143.  
  2144.     weapon = "zombie_bowie_flourish";
  2145.  
  2146.     self GiveWeapon( weapon );
  2147.     self SwitchToWeapon( weapon );
  2148. }
  2149. doBowieEnd( gun )
  2150. {
  2151.     self EnableOffhandWeapons();
  2152.     self EnableWeaponCycling();
  2153.  
  2154.     self AllowLean( true );
  2155.     self AllowAds( true );
  2156.     self AllowSprint( true );
  2157.     self AllowProne( true );       
  2158.     self AllowMelee( true );
  2159.     weapon = "zombie_bowie_flourish";
  2160.  
  2161.     self TakeWeapon(weapon);
  2162.     self SwitchToWeapon( gun );
  2163. }
  2164. healthStats()
  2165. {
  2166.     self endon("death");
  2167.     self endon("disconnect");
  2168.    
  2169.     players = get_players();
  2170.     phText = [];
  2171.     for(t=0;t<players.size;t++) {
  2172.             phText[t] = createFontString("objective", 1.5, self);  
  2173.             phText[t] setPoint("TOPRIGHT", "TOPRIGHT", 0, 20 + (t*15));
  2174.             }
  2175.    
  2176.             for(;;)
  2177.             {
  2178.                     for(i=0;i<players.size;i++) {
  2179.                             if(IsDefined( players[i].revivetrigger ) )
  2180.                                     phText[i] setText("^1" + players[i].playername + " ::: Down!");
  2181.                             else if(players[i].sessionstate == "intermission")
  2182.                                     phText[i] destroy();    
  2183.                             else if(players[i].sessionstate == "spectator")      
  2184.                                     phText[i] setText("^5" + players[i].playername + " ::: KO!");  
  2185.                             else phText[i] setText("^3" + players[i].playername + " ::: " + players[i].health + "/100");
  2186.                     }
  2187.                     wait .005;
  2188.             }
  2189. }
  2190. nukem()
  2191. {
  2192.                 zombs = getaiarray( "axis" );
  2193.                 level.zombie_total = 0;
  2194.                 if(isDefined(zombs))
  2195.                 {
  2196.                         for( i = 0; i < zombs.size; i++ )
  2197.                         {
  2198.                                 self thread nuke_flash();
  2199.                                 zombs[i] dodamage( zombs[i].health * 5000, ( 0, 0, 0 ), self );
  2200.                                 wait 0.05;
  2201.                         }
  2202.                         self iPrintln( "All Zombies Eliminated" );                        
  2203.                 }
  2204. }
  2205. nuke_flash()
  2206. {
  2207.         playsoundatposition("nuke_flash", (0,0,0));
  2208.  
  2209.         fadetowhite = newhudelem();
  2210.  
  2211.         fadetowhite.x = 0;
  2212.         fadetowhite.y = 0;
  2213.         fadetowhite.alpha = 0;
  2214.  
  2215.         fadetowhite.horzAlign = "fullscreen";
  2216.         fadetowhite.vertAlign = "fullscreen";
  2217.         fadetowhite.foreground = true;
  2218.         fadetowhite SetShader( "white", 640, 480 );
  2219.  
  2220.        
  2221.         fadetowhite FadeOverTime( 0.2 );
  2222.         fadetowhite.alpha = 0.8;
  2223.  
  2224.         wait 0.5;
  2225.         fadetowhite FadeOverTime( 1.0 );
  2226.         fadetowhite.alpha = 0;
  2227.  
  2228.         wait 1.1;
  2229.         fadetowhite destroy();
  2230. }
  2231. Sky_Base()
  2232. {
  2233.     if( IsSubStr( level.script, "nazi_zombie_factory" ) )
  2234. {
  2235.     if( level.baseSpawned == false && level.lander == false )
  2236.     {
  2237.         level.baseSpawned = true;
  2238.         self thread doCompleteSkyBase();
  2239.     }  
  2240.     else
  2241.     {
  2242.         self iPrintln( "Cannot Spawn Sky Base!" );
  2243.     }
  2244. }
  2245. if( IsSubStr( level.script, "nazi_zombie_sumpf" ) || IsSubStr( level.script, "nazi_zombie_prototype" ) || IsSubStr( level.script, "nazi_zombie_asylum" ) )
  2246. {
  2247. self iprintln("^1You Can Only Spawn The SkyBase On ^2Der Riese^1!");
  2248. }
  2249. }
  2250. Lunar_Lander()
  2251. {
  2252.     if( IsSubStr( level.script, "nazi_zombie_factory" ) )
  2253. {
  2254. if( level.lander == false && level.baseSpawned == false )
  2255.     {
  2256.         level.lander = true;
  2257.         self thread doLunarLander();
  2258.         self iPrintln( "^3Lander ^5Spawned" );
  2259.     }  
  2260.     else
  2261.     {
  2262.         self iPrintln( "Cannot Spawn Lunar Lander!" );
  2263.     }
  2264. }
  2265. if( IsSubStr( level.script, "nazi_zombie_sumpf" ) || IsSubStr( level.script, "nazi_zombie_prototype" ) || IsSubStr( level.script, "nazi_zombie_asylum" ) )
  2266. {
  2267. self iprintln("^1You Can Only Spawn The Lander On ^2Der Riese^1!");
  2268. }
  2269. }
  2270.  
  2271. doCompleteSkyBase()
  2272. {
  2273. if( IsSubStr( level.script, "nazi_zombie_factory" ) )
  2274. {
  2275.     self thread SkyBase();
  2276.     self thread spawnTeles();
  2277.     self thread doTeleStart();
  2278.     self thread doTeleBack();
  2279.     self thread doPack();
  2280.     self thread spawnBuyables();
  2281.     self thread Music();
  2282.     self thread doRayGun();
  2283.     self thread doAllPerks();
  2284.     self thread doDoubleTap();
  2285. }
  2286. if( IsSubStr( level.script, "nazi_zombie_sumpf" ) || IsSubStr( level.script, "nazi_zombie_prototype" ) || IsSubStr( level.script, "nazi_zombie_asylum" ) )
  2287. {
  2288. self iprintln("^1You Can Only Spawn The SkyBase On ^2Der Riese^1!");
  2289. }
  2290. }
  2291. SkyBase()
  2292. {
  2293. self iprintln("^2The Sky Base Is Being Built...");
  2294. Mikey = spawn( "script_model", (27, -242, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2295. Mikey = spawn( "script_model", (27, -266, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2296. Mikey = spawn( "script_model", (27, -290, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2297. Mikey = spawn( "script_model", (27, -314, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2298. Mikey = spawn( "script_model", (27, -338, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2299. Mikey = spawn( "script_model", (27, -362, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2300. Mikey = spawn( "script_model", (27, -386, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2301. Mikey = spawn( "script_model", (27, -410, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2302. Mikey = spawn( "script_model", (27, -434, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2303. Mikey = spawn( "script_model", (27, -458, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2304. Mikey = spawn( "script_model", (27, -482, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2305. Mikey = spawn( "script_model", (27, -506, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2306. wait .5;
  2307. Mikey = spawn( "script_model", (117, -242, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2308. Mikey = spawn( "script_model", (117, -266, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2309. Mikey = spawn( "script_model", (117, -290, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2310. Mikey = spawn( "script_model", (117, -314, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2311. Mikey = spawn( "script_model", (117, -338, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2312. Mikey = spawn( "script_model", (117, -362, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2313. Mikey = spawn( "script_model", (117, -386, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2314. Mikey = spawn( "script_model", (117, -410, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2315.  
  2316. Mikey = spawn( "script_model", (-63, -242, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2317. Mikey = spawn( "script_model", (-63, -266, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2318. Mikey = spawn( "script_model", (-63, -290, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2319. Mikey = spawn( "script_model", (-63, -314, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2320. Mikey = spawn( "script_model", (-63, -338, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2321. Mikey = spawn( "script_model", (-63, -362, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2322. Mikey = spawn( "script_model", (-63, -386, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2323. Mikey = spawn( "script_model", (-63, -410, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2324. wait .5;
  2325. Mikey = spawn( "script_model", (27, -242, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2326. Mikey = spawn( "script_model", (27, -266, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2327. Mikey = spawn( "script_model", (27, -290, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2328. Mikey = spawn( "script_model", (27, -314, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2329. Mikey = spawn( "script_model", (27, -338, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2330. Mikey = spawn( "script_model", (27, -362, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2331. Mikey = spawn( "script_model", (27, -386, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2332. Mikey = spawn( "script_model", (27, -410, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2333. Mikey = spawn( "script_model", (27, -434, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2334. Mikey = spawn( "script_model", (27, -458, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2335. Mikey = spawn( "script_model", (27, -482, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2336. Mikey = spawn( "script_model", (27, -506, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2337.  
  2338. Mikey = spawn( "script_model", (117, -242, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2339. Mikey = spawn( "script_model", (117, -266, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2340. Mikey = spawn( "script_model", (117, -290, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2341. Mikey = spawn( "script_model", (117, -314, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2342. Mikey = spawn( "script_model", (117, -338, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2343. Mikey = spawn( "script_model", (117, -362, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2344. Mikey = spawn( "script_model", (117, -386, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2345. Mikey = spawn( "script_model", (117, -410, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2346. wait .5;
  2347. Mikey = spawn( "script_model", (-63, -242, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2348. Mikey = spawn( "script_model", (-63, -266, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2349. Mikey = spawn( "script_model", (-63, -290, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2350. Mikey = spawn( "script_model", (-63, -314, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2351. Mikey = spawn( "script_model", (-63, -338, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2352. Mikey = spawn( "script_model", (-63, -362, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2353. Mikey = spawn( "script_model", (-63, -386, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2354. Mikey = spawn( "script_model", (-63, -410, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2355.  
  2356. Mikey = spawn( "script_model", (-119, -273, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2357. Mikey = spawn( "script_model", (-119, -273, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2358. Mikey = spawn( "script_model", (-119, -273, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2359. Mikey = spawn( "script_model", (-119, -273, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2360. Mikey = spawn( "script_model", (-119, -273, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2361. wait .5;
  2362. Mikey = spawn( "script_model", (-119, -366, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2363. Mikey = spawn( "script_model", (-119, -366, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2364. Mikey = spawn( "script_model", (-119, -366, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2365. Mikey = spawn( "script_model", (-119, -366, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2366. Mikey = spawn( "script_model", (-119, -366, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2367.  
  2368. Mikey = spawn( "script_model", (174, -366, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2369. Mikey = spawn( "script_model", (174, -366, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2370. Mikey = spawn( "script_model", (174, -366, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2371. Mikey = spawn( "script_model", (174, -366, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2372. Mikey = spawn( "script_model", (174, -366, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2373. wait .5;
  2374. Mikey = spawn( "script_model", (174, -273, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2375. Mikey = spawn( "script_model", (174, -273, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2376. Mikey = spawn( "script_model", (174, -273, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2377. Mikey = spawn( "script_model", (174, -273, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2378. Mikey = spawn( "script_model", (174, -273, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2379.  
  2380. Mikey = spawn( "script_model", (27, -515, 466.125) ); Mikey setModel( "zombie_treasure_box" );
  2381. Mikey = spawn( "script_model", (27, -515, 483.125) ); Mikey setModel( "zombie_treasure_box" );
  2382. Mikey = spawn( "script_model", (27, -515, 501.125) ); Mikey setModel( "zombie_treasure_box" );
  2383. Mikey = spawn( "script_model", (27, -515, 519.125) ); Mikey setModel( "zombie_treasure_box" );
  2384. Mikey = spawn( "script_model", (27, -515, 537.125) ); Mikey setModel( "zombie_treasure_box" );
  2385.  
  2386. Mikey = spawn( "script_model", (-63, -422, 466.125) ); Mikey setModel( "zombie_treasure_box" );
  2387. Mikey = spawn( "script_model", (-63, -422, 483.125) ); Mikey setModel( "zombie_treasure_box" );
  2388. Mikey = spawn( "script_model", (-63, -422, 501.125) ); Mikey setModel( "zombie_treasure_box" );
  2389. Mikey = spawn( "script_model", (-63, -422, 519.125) ); Mikey setModel( "zombie_treasure_box" );
  2390. Mikey = spawn( "script_model", (-63, -422, 537.125) ); Mikey setModel( "zombie_treasure_box" );
  2391. wait .5;
  2392. Mikey = spawn( "script_model", (117, -422, 466.125) ); Mikey setModel( "zombie_treasure_box" );
  2393. Mikey = spawn( "script_model", (117, -422, 483.125) ); Mikey setModel( "zombie_treasure_box" );
  2394. Mikey = spawn( "script_model", (117, -422, 501.125) ); Mikey setModel( "zombie_treasure_box" );
  2395. Mikey = spawn( "script_model", (117, -422, 519.125) ); Mikey setModel( "zombie_treasure_box" );
  2396. Mikey = spawn( "script_model", (117, -422, 537.125) ); Mikey setModel( "zombie_treasure_box" );
  2397.  
  2398. Mikey = spawn( "script_model", (27, -216, 466.125) ); Mikey setModel( "zombie_treasure_box" );
  2399. Mikey = spawn( "script_model", (27, -228, 484.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2400. Mikey = spawn( "script_model", (27, -216, 537.125) ); Mikey setModel( "zombie_treasure_box" );
  2401.  
  2402. Mikey = spawn( "script_model", (117, -216, 466.125) ); Mikey setModel( "zombie_treasure_box" );
  2403. Mikey = spawn( "script_model", (117, -228, 484.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2404. Mikey = spawn( "script_model", (117, -216, 537.125) ); Mikey setModel( "zombie_treasure_box" );
  2405. wait .5;
  2406. Mikey = spawn( "script_model", (-63, -216, 466.125) ); Mikey setModel( "zombie_treasure_box" );
  2407. Mikey = spawn( "script_model", (-63, -228, 484.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2408. Mikey = spawn( "script_model", (-63, -216, 537.125) ); Mikey setModel( "zombie_treasure_box" );
  2409.  
  2410. Mikey = spawn( "script_model", (85, -465, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2411. Mikey = spawn( "script_model", (85, -465, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2412. Mikey = spawn( "script_model", (85, -465, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2413. Mikey = spawn( "script_model", (85, -465, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2414. Mikey = spawn( "script_model", (85, -465, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2415.  
  2416. Mikey = spawn( "script_model", (-31, -467, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2417. Mikey = spawn( "script_model", (-31, -467, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2418. Mikey = spawn( "script_model", (-31, -467, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2419. Mikey = spawn( "script_model", (-31, -467, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2420. Mikey = spawn( "script_model", (-31, -467, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
  2421. wait .5;
  2422. Mikey = spawn( "script_model", (144, -216, 511.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (90,0,0);
  2423. Mikey = spawn( "script_model", (-109, -216, 511.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (90,0,0);
  2424.  
  2425. Mikey = spawn( "script_model", (-92, -228, 511) ); Mikey setModel( "zombie_treasure_box_lid" ); Mikey.angles = (90,0,0);
  2426. Mikey = spawn( "script_model", (143, -228, 511) ); Mikey setModel( "zombie_treasure_box_lid" ); Mikey.angles = (90,0,0);
  2427.  
  2428. Mikey = spawn( "script_model", (27, -228, 537.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2429. Mikey = spawn( "script_model", (117, -228, 537.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2430. Mikey = spawn( "script_model", (-63, -228, 537.125) ); Mikey setModel( "zombie_treasure_box_lid" );
  2431.  
  2432. level.packo = spawn( "script_model", (150, -320, 466.125) );
  2433. level.packo.angles = (0,270,0);
  2434. level.packo setModel( "zombie_vending_packapunch_on" );
  2435. level.packoSolid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 100 );
  2436. level.packoSolid.origin = (150, -320, 466.125);
  2437. level.packoSolid.angles = (0, 270, 0);
  2438. level.packoSolid setContents( 1 );
  2439.  
  2440. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 9000, 9000 ); level.base.origin = (24, -350, 556); level.base setContents( 1 );
  2441. wait .5;
  2442. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-96, -215, 440); level.base setContents( 1 );
  2443. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-66, -215, 440); level.base setContents( 1 );
  2444. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-36, -215, 440); level.base setContents( 1 );
  2445. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-6, -215, 440); level.base setContents( 1 );
  2446. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (24, -215, 440); level.base setContents( 1 );
  2447. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (54, -215, 440); level.base setContents( 1 );
  2448. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (84, -215, 440); level.base setContents( 1 );
  2449. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (114, -215, 440); level.base setContents( 1 );
  2450. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (144, -215, 440); level.base setContents( 1 );
  2451. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (156, -215, 440); level.base setContents( 1 );
  2452.  
  2453. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-96, -215, 533); level.base setContents( 1 );
  2454. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-66, -215, 533); level.base setContents( 1 );
  2455. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-36, -215, 533); level.base setContents( 1 );
  2456. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-6, -215, 533); level.base setContents( 1 );
  2457. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (24, -215, 533); level.base setContents( 1 );
  2458. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (54, -215, 533); level.base setContents( 1 );
  2459. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (84, -215, 533); level.base setContents( 1 );
  2460. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (114, -215, 533); level.base setContents( 1 );
  2461. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (144, -215, 533); level.base setContents( 1 );
  2462. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (156, -215, 533); level.base setContents( 1 );
  2463.  
  2464. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 35, 35 ); level.base.origin = (-35, -416, 480); level.base setContents( 1 );
  2465. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-35, -457, 480); level.base setContents( 1 );
  2466. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-35, -498, 480); level.base setContents( 1 );
  2467.  
  2468. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 35, 35 ); level.base.origin = (90, -416, 480); level.base setContents( 1 );
  2469. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (90, -457, 480); level.base setContents( 1 );
  2470. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (90, -498, 480); level.base setContents( 1 );
  2471.  
  2472. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 35, 35 ); level.base.origin = (-38, -432, 480); level.base setContents( 1 );
  2473. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-63, -432, 480); level.base setContents( 1 );
  2474. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-107, -432, 480); level.base setContents( 1 );
  2475.  
  2476. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 35, 35 ); level.base.origin = (72, -432, 480); level.base setContents( 1 );
  2477. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (117, -432, 480); level.base setContents( 1 );
  2478. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (141, -432, 480); level.base setContents( 1 );
  2479. wait .5;
  2480. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-119, -407, 480); level.base setContents( 1 );
  2481. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-119, -362, 480); level.base setContents( 1 );
  2482. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-119, -317, 480); level.base setContents( 1 );
  2483. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-119, -248, 480); level.base setContents( 1 );
  2484.  
  2485. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (174, -268, 480); level.base setContents( 1 );
  2486. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (174, -314, 480); level.base setContents( 1 );
  2487. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (174, -360, 480); level.base setContents( 1 );
  2488. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (174, -380, 480); level.base setContents( 1 );
  2489.  
  2490. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-17, -515, 480); level.base setContents( 1 );
  2491. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (39, -515, 480); level.base setContents( 1 );
  2492. level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (71, -515, 480); level.base setContents( 1 );
  2493. self iprintln("^5The Sky Base Is Completed!");
  2494. }
  2495.  
  2496. spawnTeles()
  2497. {
  2498.     Teleporter = spawn( "script_model", (52.7608, -407.372, 50) );
  2499.     Teleporter setModel( "zombie_teddybear" );
  2500.     level._effect["powerup_on"] = loadfx( "misc/fx_zombie_powerup_on" );
  2501.     playfx( level._effect["powerup_on"], Teleporter.origin );
  2502.  
  2503.     Teleporter0 = spawn( "script_model", (27, -482, 510.125) );
  2504.     Teleporter0 setModel( "zombie_teddybear" );
  2505.     level._effect["powerup_on"] = loadfx( "misc/fx_zombie_powerup_on" );
  2506.     playfx( level._effect["powerup_on"], Teleporter0.origin );
  2507.     for(;;)
  2508.     {
  2509.         Teleporter RotateYaw( 360, 2 );
  2510.         Teleporter0 RotateYaw( 360, 2 );
  2511.         wait 2;
  2512.     }
  2513. }
  2514.  
  2515. doTeleStart()
  2516. {
  2517.  
  2518.     originStart = (52.7608, -407.372, -27.3248);
  2519.     originEnd = (27, -472, 467);
  2520.  
  2521.     level thread add_zombie_hint( "Teleporter", "Press & Hold &&1 To Teleport To SkyBase" );
  2522.     trig = spawn("trigger_radius", originStart, 1, 50, 50);
  2523.     trig SetCursorHint( "HINT_NOICON" );
  2524.     trig UseTriggerRequireLookAt();
  2525.     trig set_hint_string( trig, "Teleporter" );
  2526.  
  2527.  
  2528.     prone_offset = (0, 0, 49);
  2529.     crouch_offset = (0, 0, 20);
  2530.     stand_offset = (0, 0, 0);
  2531.  
  2532.  
  2533.     image_room = getent( "teleport_room_1", "targetname" );
  2534.  
  2535.     for(;;)
  2536.     {
  2537.  
  2538.         trig waittill("trigger", player);
  2539.  
  2540.         if( player.is_zombie == false && player usebuttonpressed() && !player maps\_laststand::player_is_in_laststand())
  2541.         {
  2542.             player thread godMode();
  2543.  
  2544.             player setelectrified(1.25);
  2545.  
  2546.             player shellshock("electrocution", 2.5);
  2547.  
  2548.             playfx(loadfx("maps/zombie/fx_transporter_beam"), player.origin);
  2549.  
  2550.             playfx(loadfx("maps/zombie/fx_transporter_pad_start"), player.origin);  
  2551.  
  2552.             playfx(loadfx("maps/zombie/fx_transporter_start"), player.origin);
  2553.  
  2554.             Earthquake( 2, 1, originStart, 100 );
  2555.             wait 2;
  2556.  
  2557.             if ( isdefined( image_room ) && !player maps\_laststand::player_is_in_laststand() )
  2558.             {
  2559.  
  2560.                 player disableOffhandWeapons();
  2561.  
  2562.                 player disableweapons();
  2563.  
  2564.                 if( player getstance() == "prone" )
  2565.                 {
  2566.  
  2567.                     desired_origin = image_room.origin + prone_offset;
  2568.  
  2569.                 }
  2570.                 else if( player getstance() == "crouch" )
  2571.                 {
  2572.  
  2573.                     desired_origin = image_room.origin + crouch_offset;
  2574.  
  2575.                 }
  2576.                 else
  2577.                 {
  2578.  
  2579.                     desired_origin = image_room.origin + stand_offset;
  2580.                 }      
  2581.  
  2582.                 player.telelink = spawn("script_model", player.origin);
  2583.  
  2584.                 player.telelink setmodel("tag_origin");
  2585.  
  2586.                 player.telelink.origin = desired_origin;
  2587.  
  2588.                 player.telelink.angles = image_room.angles;
  2589.  
  2590.                 player playerlinktoabsolute(player.telelink);
  2591.  
  2592.                 player FreezeControls( true );
  2593.             }
  2594.  
  2595.             wait 2;
  2596.  
  2597.             player.telelink delete();
  2598.  
  2599.             player unlink();
  2600.  
  2601.             player enableweapons();
  2602.             player enableoffhandweapons();
  2603.             player thread godMode();
  2604.  
  2605.             player setorigin( originEnd );
  2606.  
  2607.             player shellshock( "electrocution", 4 );
  2608.  
  2609.             player FreezeControls( false );
  2610.         }
  2611.     }
  2612. }
  2613.  
  2614. doTeleBack()
  2615. {
  2616.  
  2617.     originStart = (27, -482, 525);
  2618.     originEnd = (-56, 300, 120);
  2619.  
  2620.     level thread add_zombie_hint( "Teleporter", "Press & Hold &&1 To Teleport Back To The Ground" );
  2621.     trig = spawn("trigger_radius", originStart, 1, 25, 25);
  2622.     trig SetCursorHint( "HINT_NOICON" );
  2623.     trig UseTriggerRequireLookAt();
  2624.     trig set_hint_string( trig, "Teleporter" );
  2625.  
  2626.  
  2627.     prone_offset = (0, 0, 49);
  2628.     crouch_offset = (0, 0, 20);
  2629.     stand_offset = (0, 0, 0);
  2630.  
  2631.  
  2632.     image_room = getent( "teleport_room_1", "targetname" );
  2633.  
  2634.     for(;;)
  2635.     {
  2636.  
  2637.         trig waittill("trigger", player);
  2638.  
  2639.         if( player.is_zombie == false && player usebuttonpressed() && !player maps\_laststand::player_is_in_laststand())
  2640.         {
  2641.             player thread godMode();
  2642.  
  2643.             player setelectrified(1.25);
  2644.  
  2645.             player shellshock("electrocution", 2.5);
  2646.  
  2647.             playfx(loadfx("maps/zombie/fx_transporter_beam"), player.origin);
  2648.  
  2649.             playfx(loadfx("maps/zombie/fx_transporter_pad_start"), player.origin);  
  2650.  
  2651.             playfx(loadfx("maps/zombie/fx_transporter_start"), player.origin);
  2652.  
  2653.             Earthquake( 2, 1, originStart, 100 );
  2654.             wait 2;
  2655.  
  2656.             if ( isdefined( image_room ) && !player maps\_laststand::player_is_in_laststand() )
  2657.             {
  2658.  
  2659.                 player disableOffhandWeapons();
  2660.  
  2661.                 player disableweapons();
  2662.  
  2663.                 if( player getstance() == "prone" )
  2664.                 {
  2665.  
  2666.                     desired_origin = image_room.origin + prone_offset;
  2667.  
  2668.                 }
  2669.                 else if( player getstance() == "crouch" )
  2670.                 {
  2671.  
  2672.                     desired_origin = image_room.origin + crouch_offset;
  2673.  
  2674.                 }
  2675.                 else
  2676.                 {
  2677.  
  2678.                     desired_origin = image_room.origin + stand_offset;
  2679.                 }      
  2680.  
  2681.                 player.telelink = spawn("script_model", player.origin);
  2682.  
  2683.                 player.telelink setmodel("tag_origin");
  2684.  
  2685.                 player.telelink.origin = desired_origin;
  2686.  
  2687.                 player.telelink.angles = image_room.angles;
  2688.  
  2689.                 player playerlinktoabsolute(player.telelink);
  2690.  
  2691.                 player FreezeControls( true );
  2692.             }
  2693.  
  2694.             wait 2;
  2695.  
  2696.             player.telelink delete();
  2697.  
  2698.             player unlink();
  2699.  
  2700.             player enableweapons();
  2701.             player enableoffhandweapons();
  2702.             player thread godMode();
  2703.  
  2704.             player setorigin( originEnd );
  2705.  
  2706.             player shellshock( "electrocution", 4 );
  2707.  
  2708.             player FreezeControls( false );
  2709.         }
  2710.     }
  2711. }
  2712.  
  2713.  
  2714. doPack()
  2715. {
  2716.     level thread add_zombie_hint( "Mikeeey", "Press & Hold &&1 To Buy Pack 'a' Punch Upgrade [Cost: 500]" );
  2717.     trig = spawn("trigger_radius", (150, -320, 466.125), 1, 60, 60);
  2718.     trig SetCursorHint( "HINT_NOICON" );
  2719.     trig UseTriggerRequireLookAt();
  2720.     trig set_hint_string( trig, "Mikeeey" );
  2721.     for(;;)
  2722.     {
  2723.         trig waittill("trigger", player);
  2724.         if(player UseButtonPressed())
  2725.         {
  2726.             weap = player getCurrentWeapon();
  2727.             if( player.upw[weap] != 1 )
  2728.             {
  2729.                 cost = 500;
  2730.                 if( player.score >= cost )
  2731.                 {
  2732.                     player playsound( "cha_ching" );
  2733.                     player.zombie_cost = 500;
  2734.                     player.score -= 500;
  2735.                     player takeWeapon(player getCurrentWeapon());
  2736.                     player freezeControls(true);
  2737.                     player playsound( "packa_weap_upgrade" );
  2738.  
  2739.                     player DisableOffhandWeapons();
  2740.                     player DisableWeaponCycling();
  2741.  
  2742.                     player AllowLean( false );
  2743.                     player AllowAds( false );
  2744.                     player AllowSprint( false );
  2745.                     player AllowProne( false );    
  2746.                     player AllowMelee( false );
  2747.  
  2748.                     if ( player GetStance() == "prone" )
  2749.                     {
  2750.                         player SetStance( "crouch" );
  2751.                     }
  2752.  
  2753.                     player giveWeapon( "zombie_knuckle_crack" );
  2754.                     player switchToWeapon( "zombie_knuckle_crack" );
  2755.  
  2756.                     wait 3;
  2757.  
  2758.                     player EnableOffhandWeapons();
  2759.                     player EnableWeaponCycling();
  2760.  
  2761.                     player AllowLean( true );
  2762.                     player AllowAds( true );
  2763.                     player AllowSprint( true );
  2764.                     player AllowProne( true );     
  2765.                     player AllowMelee( true );
  2766.  
  2767.                     player playsound( "packa_weap_ready" );
  2768.                     player.upw[weap] = 1;
  2769.                     player freezeControls(false);
  2770.                     player takeWeapon( "zombie_knuckle_crack" );
  2771.                     player giveWeapon( weap, 0, false );
  2772.                     player switchToWeapon( weap, 0, false );
  2773.                     player thread updFTW( weap );
  2774.                 }
  2775.                 else
  2776.                 {
  2777.                     player playsound( "deny" );
  2778.                     player iPrintlnBold("^1Not Enough Points!");
  2779.                     wait 1;
  2780.                 }
  2781.             }
  2782.             else
  2783.             {
  2784.                 player playsound( "deny" );
  2785.                 player iPrintlnBold("^1Weapon Already Upgraded!");
  2786.                 wait 1;
  2787.             }
  2788.         }
  2789.     }
  2790.     wait 0.05;
  2791. }
  2792.  
  2793. updFTW( gun )
  2794. {
  2795.     for(;;)
  2796.     {
  2797.         self waittill ( "weapon_fired" );
  2798.         {
  2799.             weap = self getCurrentWeapon();
  2800.             if( weap == gun )
  2801.             {
  2802.                 MagicBullet( "panzerschrek_zombie_upgraded", self getTagOrigin( "tag_eye" ), self GetCursorPos(), self );
  2803.             }
  2804.         }
  2805.     }
  2806. }
  2807.  
  2808.  
  2809. spawnBuyables()
  2810. {
  2811.     level._effect["1"] = loadfx("misc/fx_zombie_electric_trap");
  2812.     level._effect["2"] = loadfx("maps/zombie/fx_zombie_wire_spark");
  2813.     level._effect["3"] = loadfx("misc/fx_zombie_powerup_on");
  2814.     level._effect["4"] = loadfx("misc/fx_zombie_cola_dtap_on");
  2815.  
  2816.     Buyable = spawn( "script_model", (-85, -242, 500) );
  2817.     Buyable setModel( "zombie_teddybear_perkaholic" );
  2818.     playfx( level._effect["1"], (-85, -242, 466.125) );
  2819.  
  2820.     Buyable0 = spawn( "script_model", (25, -215, 513) );
  2821.     Buyable0 setModel( "viewmodel_usa_ray_gun" );
  2822.     playfx(level._effect["1"], (25, -215, 466.125));
  2823.     playfx(level._effect["2"], (25, -215, 515));
  2824.     playfx(level._effect["3"], (25, -215, 515));
  2825.  
  2826.     Buyable1 = spawn( "script_model", (-64, -400, 500) );
  2827.     Buyable1 setModel( "zombie_teddybear_shanks" );
  2828.     playfx( level._effect["1"], (-64, -400, 466.125) );
  2829.  
  2830.     Buyable1.angles = (0, 90, 0);
  2831.     level.Buyable1 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 12, 500 ); level.Buyable1.origin = (-80, -400, 466.125); level.Buyable1 setContents( 1 );
  2832.     level.Buyable1 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 12, 500 ); level.Buyable1.origin = (-65, -400, 466.125); level.Buyable1 setContents( 1 );
  2833.     level.Buyable1 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 12, 500 ); level.Buyable1.origin = (-45, -400, 466.125); level.Buyable1 setContents( 1 );
  2834.     playfx(level._effect["4"], (-64, -400, 466.125));
  2835.     for(;;)
  2836.     {
  2837.         Buyable RotateYaw( 360, 2 );
  2838.         Buyable0 RotateYaw( 360, 4 );
  2839.         Buyable1 rotateYaw( 360, 2 );
  2840.         wait 2;
  2841.     }
  2842. }
  2843.  
  2844. Music()
  2845. {
  2846.     for(;;)
  2847.     {
  2848.  
  2849.         playsoundatposition( "mx_packa_jingle", (150, -341, 466.125) );
  2850.         wait 90;
  2851.     }
  2852. }
  2853.  
  2854. doRayGun()
  2855. {
  2856.     level thread add_zombie_hint( "Mikeeey", "Press & Hold &&1 To Buy a Porter's X2 Ray Gun [Cost: 1000]" );
  2857.     trig = spawn("trigger_radius", (25, -215, 513), 1, 30, 30);
  2858.     trig SetCursorHint( "HINT_NOICON" );
  2859.     trig UseTriggerRequireLookAt();
  2860.     trig set_hint_string( trig, "Mikeeey" );
  2861.     for(;;)
  2862.     {
  2863.         trig waittill("trigger", i);
  2864.         if(i UseButtonPressed())
  2865.         {
  2866.             cost = 1000;
  2867.             if( i.score >= cost )
  2868.             {
  2869.                 i playsound( "cha_ching" );
  2870.                 i.zombie_cost = 1000;
  2871.                 i.score -= 1000;
  2872.                 i giveWeapon( "ray_gun_upgraded" );
  2873.                 i switchToWeapon( "ray_gun_upgraded" );
  2874.                 i playsound( "laugh_child" );
  2875.                 wait 1;
  2876.             }
  2877.             else
  2878.             {
  2879.                 i playsound( "deny" );
  2880.                 i iPrintlnBold("^1Not Enough Points!");
  2881.                 wait 1;
  2882.             }
  2883.         }
  2884.     }
  2885. }
  2886.  
  2887. doAllPerks()
  2888. {
  2889.     level thread add_zombie_hint( "All_Perks_Trigger", "Press & Hold &&1 To Buy All Perks [Cost: 100]" );
  2890.     trig = spawn("trigger_radius", (-85, -242, 510), 1, 30, 30 );
  2891.     trig SetCursorHint( "HINT_NOICON" );
  2892.     trig UseTriggerRequireLookAt();
  2893.     trig set_hint_string( trig, "All_Perks_Trigger" );
  2894.     for(;;)
  2895.     {
  2896.         trig waittill("trigger", i);
  2897.         if(i UseButtonPressed() && i.perks_bought == false )
  2898.         {
  2899.             cost = 100;
  2900.             if( i.score >= cost )
  2901.             {
  2902.                 i.perks_bought = true;
  2903.                 i playsound( "cha_ching" );
  2904.                 i.zombie_cost = 100;
  2905.                 i.score -= 100;
  2906.                 i thread Purchase_Perks();
  2907.                 wait 1;
  2908.             }
  2909.             else
  2910.             {
  2911.                 i playsound( "deny" );
  2912.                 i iPrintlnBold("^1Not Enough Points!");
  2913.                 wait 1;
  2914.             }
  2915.         }
  2916.         if(i UseButtonPressed() && i.perks_bought == true )
  2917.         {
  2918.             i playsound( "deny" );
  2919.             i iPrintlnBold("^1Perks Already Bought!");
  2920.             wait 1;
  2921.         }
  2922.     }
  2923. }
  2924.  
  2925. Purchase_Perks()
  2926. {
  2927.     weap = self GetCurrentWeapon();
  2928.     self.give_perks_over = false;
  2929.     self thread Give_Perks( "specialty_rof", "zombie_perk_bottle_doubletap" );
  2930.     self waittill( "ready" );
  2931.     self thread Give_Perks( "specialty_armorvest", "zombie_perk_bottle_jugg" );
  2932.     self waittill( "ready" );
  2933.     self thread Give_Perks( "specialty_quickrevive", "zombie_perk_bottle_revive" );
  2934.     self waittill( "ready" );
  2935.     self thread Give_Perks( "specialty_fastreload", "zombie_perk_bottle_sleight" );
  2936.     self waittill( "ready" );
  2937.     self SwitchToWeapon( weap );
  2938. }
  2939.  
  2940. Give_Perks( Perk, Perk_Bottle )
  2941. {
  2942.     playsoundatposition( "bottle_dispense3d", self.origin );
  2943.  
  2944.     self DisableOffhandWeapons();
  2945.     self DisableWeaponCycling();
  2946.  
  2947.     self AllowLean( false );
  2948.     self AllowAds( false );
  2949.     self AllowSprint( false );
  2950.     self AllowProne( false );      
  2951.     self AllowMelee( false );
  2952.    
  2953.     wait( 0.05 );
  2954.    
  2955.     if ( self GetStance() == "prone" )
  2956.     {
  2957.         self SetStance( "crouch" );
  2958.     }
  2959.  
  2960.     weapon = Perk_Bottle;
  2961.     self SetPerk( Perk );
  2962.  
  2963.     self GiveWeapon( weapon );
  2964.     self SwitchToWeapon( weapon );
  2965.  
  2966.     self waittill( "weapon_change_complete" );
  2967.  
  2968.     self EnableOffhandWeapons();
  2969.     self EnableWeaponCycling();
  2970.  
  2971.     self AllowLean( true );
  2972.     self AllowAds( true );
  2973.     self AllowSprint( true );
  2974.     self AllowProne( true );       
  2975.     self AllowMelee( true );
  2976.  
  2977.     self TakeWeapon( weapon );
  2978.     self notify( "ready" );
  2979. }
  2980. doDoubleTap()
  2981. {
  2982.     level thread add_zombie_hint( "DubTap", "Press & Hold &&1 To Buy Bowie Knife [Cost: 500]" );
  2983.     trig = spawn("trigger_radius", (-64, -400, 466.125), 1, 30, 30 );
  2984.     trig SetCursorHint( "HINT_NOICON" );
  2985.     trig UseTriggerRequireLookAt();
  2986.     trig set_hint_string( trig, "DubTap" );
  2987.     for(;;)
  2988.     {
  2989.         trig waittill("trigger", i);
  2990.         if(i UseButtonPressed() && i.dub_bought == false )
  2991.         {
  2992.             cost = 500;
  2993.             if( i.score >= cost )
  2994.             {
  2995.                 i.dub_bought = true;
  2996.                 i playsound( "cha_ching" );
  2997.                 i.zombie_cost = 500;
  2998.                 i.score -= 500;
  2999.                 i thread give_bowie();
  3000.                 wait 1;
  3001.             }
  3002.             else
  3003.             {
  3004.                 i playsound( "deny" );
  3005.                 i iPrintlnBold("^1Not Enough Points!");
  3006.                 wait 1;
  3007.             }
  3008.         }
  3009.         if(i UseButtonPressed() && i.dub_bought == true )
  3010.         {
  3011.             i playsound( "deny" );
  3012.             i iPrintlnBold("^1Equipment Already Bought!");
  3013.             wait 1;
  3014.         }
  3015.     }
  3016. }
  3017. give_bowie()
  3018. {
  3019.     weap = self GetCurrentWeapon();
  3020.     self SetPerk( "specialty_altmelee" );
  3021.     self.has_altmelee = true;
  3022.     self.is_drinking = 1;
  3023.     self thread doBowieBegin();
  3024.  
  3025.     self waittill( "weapon_change_complete" );
  3026.  
  3027.     self thread doBowieEnd( weap );
  3028. }
  3029.  
  3030. doLunarLander()
  3031. {
  3032. if(self GetTehMap() == "nzf")
  3033. {
  3034. self.LunasSpawned = true;
  3035. self thread platform_Models();
  3036. self thread platform_playerFalse();
  3037. self thread platform_R();
  3038. self thread platform_R2();
  3039. }
  3040. if(self GetTehMap() == "nzp" && self GetTehMap() == "nza" && self GetTehMap() == "nzs")
  3041. {
  3042. self iprintln("^1You Can Only Spawn The Lunar Lander On ^2Der Riese^1!");
  3043. }
  3044. }
  3045. platform_Models()
  3046. {
  3047.     self endon("disconnect");
  3048.     level.LunarInUse = false;
  3049.     level.LunarPosition = "Spawn";
  3050.     SpawnPos = ( 52, -440, 1.8 );
  3051.     level.Lunar1 = spawn( "script_model", SpawnPos );
  3052.     level.Lunar1 setmodel( "zombie_teleporter_pad" );
  3053.     level.Lunar2 = spawn( "script_model", level.Lunar1.origin );
  3054.     level.Lunar2 setModel( "zombie_teleporter_pad" );
  3055.     level.Lunar2.angles = ( -180, 0, 0 );
  3056.     level.Lunar2 linkto( level.Lunar1 );
  3057.     level.CtrlPan2 = spawn( "script_model", level.Lunar1.origin + ( 0, 8, 25 ) );
  3058.     level.CtrlPan2 setmodel( "zombie_teleporter_control_panel" );
  3059.     level.CtrlPan2.angles = ( 0, 180, 0 );
  3060.     level.CtrlPan2 linkto( level.Lunar1 );
  3061.     level.CtrlPan = spawn( "script_model", level.Lunar1.origin + ( 0, -8, 25 ) );
  3062.     level.CtrlPan setmodel( "zombie_teleporter_control_panel" );
  3063.     level.CtrlPan linkto( level.Lunar1 );
  3064.     level.PlayerOrig0 = spawn( "script_model", level.Lunar1.origin + ( 0, 50, 10 ) );
  3065.     level.PlayerOrig0 linkto( level.Lunar1 );
  3066.     level.PlayerOrig2 = spawn( "script_model", level.Lunar1.origin + ( 0, -50, 10 ) );
  3067.     level.PlayerOrig2 linkto( level.Lunar1 );
  3068.     level.PlayerOrig3 = spawn( "script_model", level.Lunar1.origin + ( 50, 0, 10 ) );
  3069.     level.PlayerOrig3 linkto( level.Lunar1 );
  3070.     level.PlayerOrig4 = spawn( "script_model", level.Lunar1.origin + ( -50, 0, 10 ) );
  3071.     level.PlayerOrig4 linkto( level.Lunar1 );
  3072.     level._effect["zombie_flashback_american"] = loadfx( "maps/zombie/fx_zombie_flashback_american" );
  3073.     playfx( level._effect["zombie_flashback_american"], SpawnPos );
  3074.     playfx( level._effect["zombie_flashback_american"], SpawnPos );
  3075.     playfx( level._effect["zombie_flashback_american"], ( 300, -1740, 58 ) );
  3076.     playfx( level._effect["zombie_flashback_american"], ( 300, -1740, 58 ) );
  3077. }
  3078. platform_R()
  3079. {
  3080.     self endon("disconnect");
  3081.     level thread add_zombie_hint( "Trigger_1", "Press &&1 To Use Lunar Lander" );
  3082.     level.trig = spawn( "trigger_radius", level.Lunar1.origin, 1, 50, 20 );
  3083.     level.trig SetCursorHint( "HINT_NOICON" );
  3084.     level.trig UseTriggerRequireLookAt();
  3085.     level.trig set_hint_string( level.trig, "Trigger_1" );
  3086.     cost = 0;
  3087.     for(;;)
  3088.     {
  3089.         level.trig waittill( "trigger", i );
  3090.         if( i UseButtonPressed() && level.LunarPosition == "Spawn" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
  3091.         {
  3092.             if(i.score >= cost )
  3093.             {
  3094.                 i.zombie_cost = 0;
  3095.                 i.score -= 0;
  3096.                 level.LunarInUse = true;
  3097.                 level.trig SetHintString( "Lunar Lander In Use" );
  3098.                 level.trig2 SetHintString( "Lunar Lander In Use" );
  3099.                 i platform_Spawn2Dest();
  3100.                 level.LunarPosition = "Destination";
  3101.                 level.LunarInUse = false;
  3102.                 level.trig SetHintString( "Press &&1 To Call Lunar Lander" );
  3103.                 level.trig2 SetHintString( "Press &&1 To Use Lunar Lander" );
  3104.             }
  3105.             else
  3106.             {
  3107.                 i iPrintln("^1Not Enough Points");
  3108.             }
  3109.         }
  3110.         if( i UseButtonPressed() && level.LunarPosition == "Destination" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
  3111.         {
  3112.             level.LunarInUse = true;
  3113.             level.trig SetHintString( "Lunar Lander In Use" );
  3114.             level.trig2 SetHintString( "Lunar Lander In Use" );
  3115.             i platform_Dest2Spawn();
  3116.             level.LunarPosition = "Spawn";
  3117.             level.LunarInUse = false;
  3118.             level.trig SetHintString( "Press &&1 To Use Lunar Lander" );
  3119.             level.trig2 SetHintString( "Press &&1 To Call Lunar Lander" );
  3120.         }
  3121.     }
  3122. }
  3123. platform_R2()
  3124. {
  3125.     self endon("disconnect");
  3126.     DestPos = ( 300, -1740, 63 );
  3127.     level thread add_zombie_hint( "Trigger_1", "Press &&1 To Use Lunar Lander" );
  3128.     level.trig2 = spawn( "trigger_radius", DestPos, 1, 50, 20 );
  3129.     level.trig2 SetCursorHint( "HINT_NOICON" );
  3130.     level.trig2 UseTriggerRequireLookAt();
  3131.     level.trig2 set_hint_string( level.trig2, "Trigger_2" );
  3132.     cost = 0;
  3133.     for(;;)
  3134.     {
  3135.         level.trig2 waittill( "trigger", i );
  3136.         if( i UseButtonPressed() && level.LunarPosition == "Spawn" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
  3137.         {
  3138.             level.LunarInUse = true;
  3139.             level.trig SetHintString( "Lunar Lander In Use" );
  3140.             level.trig2 SetHintString( "Lunar Lander In Use" );
  3141.             i platform_Spawn2Dest();
  3142.             level.LunarPosition = "Destination";
  3143.             level.LunarInUse = false;
  3144.             level.trig SetHintString( "Press &&1 To Call Lunar Lander" );
  3145.             level.trig2 SetHintString( "Press &&1 To Use Lunar Lander" );
  3146.         }
  3147.         if( i UseButtonPressed() && level.LunarPosition == "Destination" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
  3148.         {
  3149.             if(i.score >= cost )
  3150.             {
  3151.                 i.zombie_cost = 0;
  3152.                 i.score -= 0;
  3153.                 level.LunarInUse = true;
  3154.                 level.trig SetHintString( "Lunar Lander In Use" );
  3155.                 level.trig2 SetHintString( "Lunar Lander In Use" );
  3156.                 i platform_Dest2Spawn();
  3157.                 level.LunarPosition = "Spawn";
  3158.                 level.LunarInUse = false;
  3159.                 level.trig SetHintString( "Press &&1 To Use Lunar Lander" );
  3160.                 level.trig2 SetHintString( "Press &&1 To Call Lunar Lander" );
  3161.             }
  3162.             else
  3163.             {
  3164.                 i iPrintln("^1Not Enough Points");
  3165.             }
  3166.         }
  3167.     }
  3168. }
  3169. platform_Spawn2Dest()
  3170. {
  3171.     self endon("disconnect");
  3172.     self PlayerCheck(0,level.PlayerOrig0);
  3173.     self PlayerCheck(1,level.PlayerOrig2);
  3174.     self PlayerCheck(2,level.PlayerOrig3);
  3175.     self PlayerCheck(3,level.PlayerOrig4);
  3176.     self thread platform_effect();
  3177.     self thread platform_Sound();
  3178.     self thread LunarFx( ( 52, -440, 1.8 ) );
  3179.     level.Lunar1 moveto( ( 85, -450, 699 ), 3, .5 );
  3180.     level.Lunar1 vibrate((0,-100,0), 1.5, .4, 3);
  3181.     level.Lunar1 waittill( "movedone" );
  3182.     wait .2;
  3183.     level.Lunar1 moveto( ( 300, -1740, 699 ), 6 );
  3184.     level.Lunar1 waittill( "movedone" );
  3185.     wait .2;
  3186.     self thread AllDeath1();
  3187.     level.Lunar1 moveto( ( 300, -1740, 58 ), 3, 0, .5 );
  3188.     level.Lunar1 vibrate((0,-100,0), 1.5, .4, 2.5);
  3189.     level.Lunar1 waittill( "movedone" );
  3190.     self PlayerUnlink(0);
  3191.     self PlayerUnlink(1);
  3192.     self PlayerUnlink(2);
  3193.     self PlayerUnlink(3);
  3194.     self notify( "platform_arived" );
  3195. }
  3196. platform_Dest2Spawn()
  3197. {
  3198.     self endon("disconnect");
  3199.     self PlayerCheck(0,level.PlayerOrig0);
  3200.     self PlayerCheck(1,level.PlayerOrig2);
  3201.     self PlayerCheck(2,level.PlayerOrig3);
  3202.     self PlayerCheck(3,level.PlayerOrig4);
  3203.     self thread platform_effect();
  3204.     self thread platform_Sound();
  3205.  
  3206.     self thread LunarFx( ( 300, -1740, 63 ) );
  3207.     level.Lunar1 moveto( ( 300, -1740, 699 ), 3, .5 );
  3208.     level.Lunar1 vibrate((0,-100,0), 1.5, .4, 3);
  3209.     level.Lunar1 waittill( "movedone" );
  3210.     wait .2;
  3211.     level.Lunar1 moveto( ( 52, -440, 699 ), 6 );
  3212.     level.Lunar1 waittill( "movedone" );
  3213.     wait .2;
  3214.     self thread AllDeath2();
  3215.     level.Lunar1 moveto( ( 52, -440, 1.8 ), 3, 0, .5 );
  3216.     level.Lunar1 vibrate((0,-100,0), 1.5, .4, 2.5);
  3217.     level.Lunar1 waittill( "movedone" );
  3218.     self PlayerUnlink(0);
  3219.     self PlayerUnlink(1);
  3220.     self PlayerUnlink(2);
  3221.     self PlayerUnlink(3);
  3222.     self notify( "platform_arived" );
  3223. }
  3224. PlayerCheck(num, origin)
  3225. {
  3226.     self endon("disconnect");
  3227.     P = get_players();
  3228.     if( distance( P[num].origin, level.Lunar1.origin ) < 100 )
  3229.     {
  3230.         P[num] EnableHealthShield( true );
  3231.         P[num] EnableInvulnerability();
  3232.         P[num] playerLinkTo( origin );
  3233.     }
  3234. }
  3235. PlayerUnlink(num)
  3236. {
  3237.     self endon("disconnect");
  3238.     P = get_players();
  3239.     if( distance( P[num].origin, level.Lunar1.origin ) < 100 )
  3240.     {
  3241.         P[num] unlink();
  3242.         P[num] EnableHealthShield( false );
  3243.         P[num] DisableInvulnerability();
  3244.         P[num].OnLunar = false;
  3245.     }
  3246. }
  3247. platform_effect()
  3248. {
  3249.     self endon("disconnect");
  3250.     self endon("platform_arived");
  3251.     for(;;)
  3252.     {
  3253.         earthquake (.15, .2, level.Lunar2.origin, 500);
  3254.         wait .2;
  3255.     }
  3256. }
  3257. platform_Sound()
  3258. {
  3259.     self endon("disconnect");
  3260.     self endon("platform_arived");
  3261.     for(;;)
  3262.     {
  3263.         playsoundatposition( "wpn_flmthwr_mn_flame", level.Lunar2.origin );
  3264.         self PlaySound("wpn_flmthwr_mn_flame","wpn",true);
  3265.         wait 1.5;
  3266.     }
  3267. }
  3268.  
  3269. AllDeath1()
  3270. {
  3271.     wait 2;
  3272.     self thread playerDie((300, -1740, 58), 0);
  3273.     self thread playerDie((300, -1740, 58), 1);
  3274.     self thread playerDie((300, -1740, 58), 2);
  3275.     self thread playerDie((300, -1740, 58), 3);
  3276.  
  3277. }
  3278. AllDeath2()
  3279. {
  3280.     wait 2;
  3281.     self thread playerDie((52, -440, 1.8), 0);
  3282.     self thread playerDie((52, -440, 1.8), 1);
  3283.     self thread playerDie((52, -440, 1.8), 2);
  3284.     self thread playerDie((52, -440, 1.8), 3);
  3285. }
  3286. playerDie(ent,num)
  3287. {
  3288.     self endon("disconnect");
  3289.     self endon("platform_arived");
  3290.     P = get_players();
  3291.     for(;;)
  3292.     {
  3293.         XAx = RandomIntRange( -110, 110 );
  3294.         YAx = RandomIntRange( -110, 110 );
  3295.         if( distance( P[num].origin, ent ) < 100 && P[num].OnLunar == false )
  3296.         {
  3297.             P[num] DoDamage( P[num].health + 999999, P[num].origin, undefined, undefined, "riflebullet" );
  3298.             P[num] setOrigin( ent + ( XAx, YAx, 3 ) );
  3299.         }
  3300.         wait .01;
  3301.     }
  3302. }
  3303. platform_playerFalse()
  3304. {
  3305.     for( i = 0;i < get_players().size;
  3306.     i++ )
  3307.     {
  3308.         get_players()[i].OnLunar = false;
  3309.     }
  3310. }
  3311. LunarFx( orig )
  3312. {
  3313.     self endon("disconnect");
  3314.     level._effect["mainframe_steam"] = loadfx( "maps/zombie/fx_zombie_mainframe_steam" );
  3315.     a = "mainframe_steam";
  3316.     playfx( level._effect[a], orig + ( 50, -50, 0 ) );
  3317.     wait .05;
  3318.     playfx( level._effect[a], orig + ( -50, -50, 0 ) );
  3319.     wait .05;
  3320.     playfx( level._effect[a], orig + ( 50, 50, 0 ) );
  3321.     wait .05;
  3322.     playfx( level._effect[a], orig + ( -50, 50, 0 ) );
  3323.     wait .05;
  3324.     playfx( level._effect[a], orig + ( 0, -50, 0 ) );
  3325.     wait .05;
  3326.     playfx( level._effect[a], orig + ( 0, 50, 0 ) );
  3327.     wait .05;
  3328.     playfx( level._effect[a], orig + ( -50, 0, 0 ) );
  3329.     wait .05;
  3330.     playfx( level._effect[a], orig + ( 50, 0, 0 ) );
  3331.     wait .05;
  3332.     playfx( level._effect[a], orig + ( -50, 25, 0 ) );
  3333.     wait .05;
  3334.     playfx( level._effect[a], orig + ( -50, -25, 0 ) );
  3335.     wait .05;
  3336.     playfx( level._effect[a], orig + ( 50, 25, 0 ) );
  3337.     wait .05;
  3338.     playfx( level._effect[a], orig + ( 50, -25, 0 ) );
  3339.     wait .05;
  3340.     playfx( level._effect[a], orig + ( -25, -50, 0 ) );
  3341.     wait .05;
  3342.     playfx( level._effect[a], orig + ( -25, 50, 0 ) );
  3343.     wait .05;
  3344.     playfx( level._effect[a], orig + ( 25, -50, 0 ) );
  3345.     wait .05;
  3346.     playfx( level._effect[a], orig + ( 25, 50, 0 ) );
  3347.     wait .05;
  3348. }
  3349. BerrysBase()
  3350. {
  3351.     self iprintln("^1Base Not Working");
  3352. }
  3353.  
  3354. doCompletefloorBase()
  3355. {
  3356. if( self == get_players()[0] )
  3357. {
  3358. if( IsSubStr( level.script, "nazi_zombie_factory" ) )
  3359. {
  3360. self thread docar();
  3361. self thread doControlPanel();
  3362. self thread floor6((-69, -380, 180));
  3363. self thread floor6((-69, -470, 180));
  3364. self thread floor6((-69, -550, 180));
  3365. self thread wall((-95, -590, 135));
  3366. self thread wall((-95, -590, 45));
  3367. wait .5;
  3368. self thread wallsolid((-95, -590, 5));
  3369. self thread wallside((-95, -569, 45));
  3370. self thread wallside((-95, -569, 135));
  3371. self thread wallside((220, -569, 45));
  3372. self thread wallside((220, -569, 135));
  3373. self thread wallsidesolid((-95, -569, 5));
  3374. self thread wallsidesolid((220, -569, 5));
  3375. self thread wallfront((-95, -320, 45));
  3376. wait .5;
  3377. self thread wallfront((-95, -320, 135));
  3378. self thread wallfront((120, -320, 45));
  3379. self thread wallfront((120, -320, 135));
  3380. self thread walllid((-107, -320, 45));
  3381. self thread walllid((-107, -320, 135));
  3382. self thread walllidsolid((-115, -320, 5));
  3383. self thread walllid((108, -320, 45));
  3384. self thread walllid((108, -320, 135));
  3385. self thread walllidsolid((135, -320, 5));
  3386. wait .5;
  3387. self thread CreateVender17((124.9, -347.7, -2.875));
  3388. self thread jugg((124.9, -347.7, -2.875));
  3389. self thread CreateVender18((-37.6, -360.7, -2.875));
  3390. self thread CreateVender20((46.2872, -420.755, -2.875));
  3391. self thread boxes((0.9984, -550.992, -3.0));
  3392. self thread boxes((0.9984, -550.992, 8));
  3393. self thread CreateVender10((29.9984, -550.992, -3.0));
  3394. wait .5;
  3395. self thread toggle_DeathSkulls((29.9984, -550.992, -3.0));
  3396. }}}
  3397. floor6(origin)
  3398. {
  3399.         for(i=0;i<13;i++)
  3400.         {
  3401.                 model = spawn("script_model", (origin[0]+(i*24),origin[1],origin[2]));model.angles = (0,90,0);model setmodel("zombie_treasure_box_lid");
  3402.         }
  3403. }
  3404. wall(origin)
  3405. {
  3406.         for(i=0;i<13;i++)
  3407.         {
  3408.                 model = spawn("script_model", (origin[0]+(i*24),origin[1],origin[2]));model.angles = (90,0,90);model setmodel("zombie_treasure_box_lid");
  3409.         }
  3410. }
  3411. wallfront(origin)
  3412. {
  3413.         for(i=0;i<5;i++)
  3414.         {
  3415.                 model = spawn("script_model", (origin[0]+(i*24),origin[1],origin[2]));model.angles = (90,0,90);model setmodel("zombie_treasure_box");
  3416.         }
  3417. }
  3418. walllid(origin)
  3419. {
  3420.         for(i=0;i<5;i++)
  3421.         {
  3422.                 model = spawn("script_model", (origin[0]+(i*24),origin[1],origin[2]));model.angles = (-90,0,-90);model setmodel("zombie_treasure_box_lid");
  3423.         }
  3424. }
  3425. wallside(origin)
  3426. {
  3427.         for(i=0;i<14;i++)
  3428.         {
  3429.                 model = spawn("script_model", (origin[0],origin[1]+(i*18),origin[2]));model.angles = (90,0,90);model setmodel("zombie_treasure_box");
  3430.         }
  3431. }
  3432. wallsolid( origin )
  3433. {
  3434.         for( i = 0; i < 13; i++ )
  3435.         {
  3436.                 Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 );
  3437.                 Solid.origin = (origin[0]+(i*24),origin[1],origin[2]);
  3438.                 Solid setContents( 1 );
  3439.         }
  3440. }
  3441. wallsidesolid( origin )
  3442. {
  3443.         for( i = 0; i < 14; i++ )
  3444.         {
  3445.                 Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 );
  3446.                 Solid.origin = (origin[0],origin[1]+(i*18),origin[2]);
  3447.                 Solid setContents( 1 );
  3448.         }
  3449. }
  3450. walllidsolid(origin)
  3451. {
  3452.         for( i = 0; i < 5; i++ )
  3453.         {
  3454.                 Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 );
  3455.                 Solid.origin = (origin[0]+(i*24),origin[1],origin[2]);
  3456.                 Solid setContents( 1 );
  3457.         }
  3458. }
  3459. jugg(origin)
  3460. {
  3461.         for( i = 0; i < 1; i++ )
  3462.         {
  3463.                 Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 );
  3464.                 Solid.origin = (origin[0]+(i*24),origin[1],origin[2]);
  3465.                 Solid setContents( 1 );
  3466.         }
  3467. }
  3468. boxes(origin)
  3469. {
  3470.         for( i = 0; i < 7; i++ )
  3471.         {
  3472.                 Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 24 );
  3473.                 Solid.origin = (origin[0]+(i*24),origin[1],origin[2]);
  3474.                 Solid setContents( 1 );
  3475.         }
  3476. }
  3477. RotateModel( ent, yaw, time )
  3478. {
  3479.         for(;;)
  3480.         {
  3481.                 ent RotateYaw( yaw, time );
  3482.                 wait time;
  3483.         }
  3484. }
  3485. CreateVender10( Mikey )
  3486. {
  3487.         Ven = spawn("script_model", Mikey);
  3488.         Ven setModel("zombie_treasure_box");
  3489.         Ven1 = spawn("script_model", Mikey + (0, 0, 20));
  3490.         Ven1 setModel("zombie_treasure_box");
  3491.         Ven2 = spawn("script_model", Mikey + (90, 0, 0));
  3492.         Ven2 setModel("zombie_treasure_box");
  3493.         Ven3 = spawn("script_model", Mikey + (90, 0, 20));
  3494.         Ven3 setModel("zombie_treasure_box");
  3495.         Ven6 = spawn("script_model", Mikey + (0, -12, 40));
  3496.         Ven6 setModel("zombie_treasure_box_lid");
  3497.         Ven7 = spawn("script_model", Mikey + (90, -12, 60));
  3498.         Ven7 setModel("zombie_treasure_box_lid");
  3499.         Ven4 = spawn("script_model", Mikey + (90, 0, 40));
  3500.         Ven4 setModel("zombie_treasure_box");
  3501. }
  3502.  
  3503.  
  3504.  
  3505.  
  3506. CreateVender17( Mikey )
  3507. {
  3508.         Jugg = spawn("script_model", Mikey);
  3509.         Jugg setModel("zombie_vending_jugg_on");
  3510.         level._effect["4"] = loadfx( "misc/fx_zombie_powerup_on" );
  3511.         level._effect["5"] = loadfx ("misc/fx_ui_airstrike_smk_yellow");
  3512.         level._effect["6"] = loadfx("misc/fx_black_box");
  3513.         playfx(level._effect["4"], Jugg.origin);
  3514.         playfx(level._effect["5"], Jugg.origin);
  3515.         playfx(level._effect["6"], Jugg.origin);
  3516.  
  3517.         level thread add_zombie_hint( "Trig4", "Press & Hold &&1 For All Perks [Cost: 2000]" );
  3518.         trig = spawn("trigger_radius", Jugg.origin, 1, 35, 35);
  3519.         trig SetCursorHint( "HINT_NOICON" );
  3520.         trig UseTriggerRequireLookAt();
  3521.         trig set_hint_string( trig, "Trig4" );
  3522.         for(;;)
  3523.         {
  3524.  
  3525.                 trig waittill("trigger", player);
  3526.  
  3527.                 if( player.is_zombie == false && player usebuttonpressed() && !player maps\_laststand::player_is_in_laststand() )
  3528.                 {
  3529.                         if( player.score >= 2000 )
  3530.                         {
  3531.                                 player playsound( "cha_ching" );
  3532.                                 player.zombie_cost = 2000;
  3533.                                 player.score -= 2000;
  3534.                                 player Purchase_Perks();
  3535.                                 wait 1;
  3536.                         }
  3537.                         else
  3538.                         {
  3539.                                 player playsound( "deny" );
  3540.                                 player iPrintlnBold("^1Not Enough Points!");
  3541.                                 wait 1;
  3542.                         }
  3543.                 }
  3544.         }
  3545. }
  3546.  
  3547. CreateVender18( Mikey )
  3548. {
  3549.         Skull = spawn("script_model", Mikey + (0, 0, 35));skull.angles = (0,-45,0);
  3550.         Skull setModel("viewmodel_zombie_cymbal_monkey");
  3551.         level._effect["1"] = loadfx( "misc/fx_zombie_powerup_on" );
  3552.         playfx(level._effect["1"], skull.origin);
  3553.         self thread RotateModel( skull, 360, 2 );
  3554.  
  3555.         level thread add_zombie_hint( "Trig4", "Press & Hold &&1 To Purchase a JetPack [Cost: 1000]" );
  3556.         trig = spawn("trigger_radius", Skull.origin, 1, 15, 15);
  3557.         trig SetCursorHint( "HINT_NOICON" );
  3558.         trig UseTriggerRequireLookAt();
  3559.         trig set_hint_string( trig, "Trig4" );
  3560.         for(;;)
  3561.         {
  3562.                 trig waittill("trigger", player);
  3563.  
  3564.                 if( player.is_zombie == false && player usebuttonpressed() && !player maps\_laststand::player_is_in_laststand() )
  3565.                 {
  3566.                         if( player.score >= 1000 )
  3567.                         {
  3568.                                 player.score -= 1000;
  3569.                                 player.zombie_cost = 1000;
  3570.                                 player iprintlnbold("^2Press and hold [{+frag}] To use your JetPack");
  3571.                                 player playsound( "cha_ching" );
  3572.                                 wait 1;
  3573.                                 player jetbootstog();
  3574.                         }
  3575.                         else
  3576.                         {
  3577.                                 player playsound( "deny" );
  3578.                                 player iPrintlnBold("^1Not Enough Points!");
  3579.                                 wait 1;
  3580.                         }
  3581.                 }
  3582.         }
  3583. }
  3584. jetbootstog()
  3585. {
  3586.         if(self.jetboots == false)
  3587.         {
  3588.                 self thread jetboots();
  3589.                 self.jetboots = true;
  3590.         }
  3591.         else
  3592.         {
  3593.                 self.jetboots = false;
  3594.                 self notify("jetboots_off");
  3595.                 self thread jetboots();
  3596.                 self.jetboots = true;
  3597.         }
  3598. }
  3599.  
  3600. CreateVender20( Mikey )  
  3601. {
  3602.         openRoll = 180;
  3603.         openTime = 0.1;
  3604.  
  3605.         Ven = spawn("script_model", Mikey + (-59, 95, 100));
  3606.         Ven setModel("zombie_vending_doubletap_on");
  3607.         Ven1 = spawn("script_model", Mikey + (-89, 95, 100));
  3608.         Ven1 setModel("zombie_vending_doubletap_on");
  3609.         Ven2 = spawn("script_model", Mikey + (-119, 95, 100));
  3610.         Ven2 setModel("zombie_vending_doubletap_on");
  3611.         Ven3 = spawn("script_model", Mikey + (-149, 95, 100));
  3612.         Ven3 setModel("zombie_vending_doubletap_on");
  3613.  
  3614.         Ven5 = spawn("script_model", Mikey + (-59, 95, 100));
  3615.         Ven5 setModel("zombie_vending_doubletap_on");
  3616.         Ven6 = spawn("script_model", Mikey + (-89, 95, 100));
  3617.         Ven6 setModel("zombie_vending_doubletap_on");
  3618.         Ven7 = spawn("script_model", Mikey + (-119, 95, 100));
  3619.         Ven7 setModel("zombie_vending_doubletap_on");
  3620.         Ven8 = spawn("script_model", Mikey + (-149, 95, 100));
  3621.         Ven8 setModel("zombie_vending_doubletap_on");
  3622.  
  3623.         Ven9 = spawn("script_model", Mikey + (-59, 95, 100));
  3624.         Ven9 setModel("zombie_vending_doubletap_on");
  3625.         Ven10 = spawn("script_model", Mikey + (-89, 95, 100));
  3626.         Ven10 setModel("zombie_vending_doubletap_on");
  3627.         Ven11 = spawn("script_model", Mikey + (-119, 95, 100));
  3628.         Ven11 setModel("zombie_vending_doubletap_on");
  3629.         Ven12 = spawn("script_model", Mikey + (-149, 95, 100));
  3630.         Ven12 setModel("zombie_vending_doubletap_on");
  3631.  
  3632.         Ven4 = spawn("script_model", Mikey);
  3633.         Ven4 setModel("zombie_zapper_cagelight_red");
  3634.         Ven4 RotateRoll( 180, openTime, ( openTime * 0.1 ) );
  3635.  
  3636.         level thread add_zombie_hint( "Trig6", "Press & Hold &&1 To Open/Close The Shutters" );
  3637.         trig = spawn("trigger_radius", (-48.1377,-230.265,-2.875), 1, 25, 25);
  3638.         trig SetCursorHint( "HINT_NOICON" );
  3639.         trig UseTriggerRequireLookAt();
  3640.         trig set_hint_string( trig, "Trig6" );
  3641.         for(;;)
  3642.                 {
  3643.                 trig waittill("trigger", player);
  3644.                
  3645.                 if( player.is_zombie == false && !player maps\_laststand::player_is_in_laststand() )
  3646.                 {
  3647.                         if( player UseButtonPressed() && level.door_closed == false )
  3648.                         {
  3649.                                 level.door_closed = true;
  3650.                                 Ven moveto (Ven.origin + (105,0,-80),2);
  3651.                                 Ven1 moveto (Ven1.origin + (105,0,-80),2);
  3652.                                 Ven2 moveto (Ven2.origin + (105,0,-80),2);
  3653.                                 Ven3 moveto (Ven3.origin + (105,0,-80),2);
  3654.  
  3655.                                 Ven5 moveto (Ven5.origin + (105,0,0),2);
  3656.                                 Ven6 moveto (Ven6.origin + (105,0,0),2);
  3657.                                 Ven7 moveto (Ven7.origin + (105,0,0),2);
  3658.                                 Ven8 moveto (Ven8.origin + (105,0,0),2);                       
  3659.  
  3660.                                 Ven9 moveto (Ven9.origin + (105,0,-150),2);
  3661.                                 Ven10 moveto (Ven10.origin + (105,0,-150),2);
  3662.                                 Ven11 moveto (Ven11.origin + (105,0,-150),2);
  3663.                                 Ven12 moveto (Ven12.origin + (105,0,-150),2);
  3664.                                 playsoundatposition("door_slide_open", Mikey);
  3665.                                 wait 3;
  3666.                         }
  3667.                         if( player UseButtonPressed() && level.door_closed == true )
  3668.                         {
  3669.                                 level.door_closed = false;
  3670.                                 Ven moveto (Ven.origin + (-105,0,80),2);
  3671.                                 Ven1 moveto (Ven1.origin + (-105,0,80),2);
  3672.                                 Ven2 moveto (Ven2.origin + (-105,0,80),2);
  3673.                                 Ven3 moveto (Ven3.origin + (-105,0,80),2);
  3674.  
  3675.                                 Ven5 moveto (Ven5.origin + (-105,0,0),2);
  3676.                                 Ven6 moveto (Ven6.origin + (-105,0,0),2);
  3677.                                 Ven7 moveto (Ven7.origin + (-105,0,0),2);
  3678.                                 Ven8 moveto (Ven8.origin + (-105,0,0),2);
  3679.  
  3680.                                 Ven9 moveto (Ven9.origin + (-105,0,150),2);
  3681.                                 Ven10 moveto (Ven10.origin + (-105,0,150),2);
  3682.                                 Ven11 moveto (Ven11.origin + (-105,0,150),2);
  3683.                                 Ven12 moveto (Ven12.origin + (-105,0,150),2);
  3684.                                 Ven4 setModel("zombie_zapper_cagelight_red");
  3685.                                 playsoundatposition("door_slide_open", Mikey);
  3686.                                 wait 3;
  3687.                         }
  3688.                 }
  3689.         }
  3690. }
  3691. doControlPanel()
  3692. {
  3693.     level.CtrlPan = spawn( "script_model", (-48.1377,-230.265,25) );
  3694.     level.CtrlPan setmodel( "zombie_teleporter_control_panel" );
  3695.     level.CtrlPan.angles = ( 0, 180, 0 );
  3696. }
  3697. toggle_DeathSkulls()
  3698. {
  3699.         self endon ( "disconnect" );
  3700.         self endon ( "death" );
  3701.  
  3702.         Location = self.origin;
  3703.         Distance = 80;
  3704.         Rise = (0, 0, 40);
  3705.         quake = 0;
  3706.         nuke = 150;
  3707.         munk = 200;
  3708.  
  3709.         self iPrintlnBold( "^2The Store Has Been Built!" );
  3710.  
  3711.         nZxMikeeeyx = spawn("script_model", (52.2737, -462.445, -2.875) + Rise);
  3712.         nZxMikeeeyx setModel("");
  3713.         for(;;)
  3714.         {
  3715.                 wait .1;
  3716.                 nZxMikeeeyx moveto (nZxMikeeeyx.origin + (0,0,40),1);
  3717.                 nZxMikeeeyx rotateyaw(2880,2);
  3718.                 if( distance( self.origin, (52.2737, -462.445, -2.875) ) < quake )
  3719.                 earthquake(1, .4, self.origin, 512);
  3720.                 if( distance( self.origin, (52.2737, -462.445, -2.875) ) < quake )
  3721.                 if( distance( self.origin, (52.2737, -462.445, -2.875) ) < nuke )
  3722.                 wait 2;
  3723.                 nZxMikeeeyx moveto (nZxMikeeeyx.origin - (0,0,40),.1);
  3724.                 zombies = GetAiSpeciesArray( "axis", "all" );
  3725.                 for (i = 0; i < zombies.size; i++)              
  3726.                 if( distance( zombies[i].origin, (52.2737, -462.445, -2.875) ) < munk )            
  3727.                 zombies[i] dodamage(zombies[i].health + 666, zombies[i].origin);
  3728.                 wait .2;
  3729.         }
  3730. }
  3731.  docar()
  3732. {
  3733.         maps\_aircraft::main( "defaultvehicle", "defaultvehicle", 0 );
  3734.         level.plane[0] = SpawnVehicle( "defaultvehicle", "new_tank", "defaultvehicle", (43.8272,-449.132,-2.875), self getplayerangles() );
  3735.         level.plane[0].vehicletype = "defaultvehicle";
  3736.         maps\_vehicle::vehicle_init(level.plane[0]);
  3737.         level.plane[0] MakeVehicleUsable();
  3738.         level.plane[0] StartEngineSound();
  3739.         level.plane[0] SetHoverParams( 700, 98, 7 );
  3740.         self waittill("use");
  3741.         self hide();
  3742.         self setclientdvar( "cg_thirdperson", "1");
  3743.         self setclientdvar( "cg_thirdpersonrange", "500");
  3744. }
  3745. EasterEgg()
  3746. {
  3747.     if( self.easterEggDR == false )
  3748.     {
  3749.         self.easterEggDR = true;
  3750.         self playsound( "mx_eggs" );
  3751.         if( IsSubStr( level.script, "nazi_zombie_factory" ) )
  3752.         {
  3753.             self iPrintln("^3Music Playing ^2:: ^5Der Riese Easter Egg Song");
  3754.             wait( 270 );
  3755.         }
  3756.         if( IsSubStr( level.script, "nazi_zombie_sumpf" ) )
  3757.         {
  3758.             self iPrintln("^3Music Playing ^2:: ^5Shi No Numa Easter Egg Song");
  3759.             wait( 292 );
  3760.         }
  3761.         if( IsSubStr( level.script, "nazi_zombie_asylum" ) )
  3762.         {
  3763.             self iPrintln("^3Music Playing ^2:: ^5Zombie Verruckt Easter Egg Song");
  3764.             wait( 245 );
  3765.         }
  3766.         self.easterEggDR = false;
  3767.     }
  3768.     else
  3769.     {
  3770.         if( IsSubStr( level.script, "nazi_zombie_factory" ) )
  3771.         {
  3772.             self iPrintln("^3Der Riese ^2Easter Egg Song ^5Already Playing");
  3773.         }
  3774.         if( IsSubStr( level.script, "nazi_zombie_sumpf" ) )
  3775.         {
  3776.             self iPrintln("^3Shi No Numa ^2Easter Egg Song ^5Already Playing");
  3777.         }
  3778.         if( IsSubStr( level.script, "nazi_zombie_asylum" ) )
  3779.         {
  3780.             self iPrintln("^3Zombie Verruckt ^2Easter Egg Song ^5Already Playing");
  3781.         }
  3782.     }
  3783. }
  3784. Powa()
  3785. {
  3786.     if ( level.script == "nazi_zombie_factory" )
  3787.     {
  3788.         trigger = GetEnt( "use_power_switch", "targetname" );
  3789.     }
  3790.      else
  3791.     {
  3792.         trigger = GetEnt( "use_master_switch", "targetname" );
  3793.     }
  3794.     if ( !IsDefined( trigger ) )
  3795.     {
  3796.         self iprintln("Map does not have power switch trigger or power is already on");
  3797.         return;
  3798.     }
  3799.     self iprintln( "^1CONSOLE:^7 Activating power!" );
  3800.     trigger notify( "trigger", self );
  3801. }
  3802. GunGame2()
  3803. {
  3804. self Kill_Menu();
  3805. self.gameMode = 1;
  3806. self thread GunGameDos();
  3807. }
  3808. GunGameDos()
  3809. {
  3810. self endon ( "disconnect" ); self endon ( "death" );
  3811. self DisableInvulnerability();
  3812.         if( !IsDefined( self.gunList ) )
  3813.                 self.gunList = GetArrayKeys( level.zombie_weapons );
  3814.         if( !IsDefined( self.gunblock ) )
  3815.                 self.gunblock = strTok( "stielhandgranate|molotov|mine_bouncing_betty|zombie_cymbal_monkey", "|" );
  3816.         if( !IsDefined( self.usedgunz ) )
  3817.                 self.usedgunz = [];
  3818.         ZmbKills = 0;
  3819.         while(self.gameMode == 1)
  3820.         {
  3821.                 self waittill( "zom_kill" );
  3822.                         ZmbKills++;
  3823.                         NextWep = 10 + level.round_number; //Make it harder for a weapon change
  3824.                         self iPrintlnBold( "^1Next Weapon:  " + ZmbKills + "/" + NextWep ); //Probly should be a label
  3825.                 if ( ZmbKills == 10 + level.round_number ) {
  3826.                         self TakeAllWeapons();
  3827.                         self.PickedWeapon = RandomInt(self.gunList.size);
  3828.                         for( x = 0; x < self.usedgunz.size; x++ ) {
  3829.                             if(self.gunList[self.PickedWeapon] == self.usedgunz[x] )
  3830.                                 self.PickedWeapon = RandomInt(self.gunList.size);
  3831.                         }
  3832.                         for( q = 0; q < self.gunblock.size; q++ ) {
  3833.                             if(self.gunList[self.PickedWeapon] == self.gunblock[q] )
  3834.                                 self.PickedWeapon = RandomInt(self.gunList.size);
  3835.                         }
  3836.                         self.usedgunz[self.usedgunz.size] = self.gunList[self.PickedWeapon];
  3837.                         self giveweapon(self.gunList[self.PickedWeapon], 0);
  3838.                         self switchToWeapon(self.gunList[self.PickedWeapon]);
  3839.                         ZmbKills = 0;
  3840.                 }
  3841.         }
  3842. }
  3843. SharpShooter()
  3844. {
  3845. self Kill_Menu();
  3846. self.gameMode = 2;
  3847. self thread SharpShooterz();
  3848. }
  3849. SharpShooterZ()
  3850. {
  3851. self endon ( "disconnect" ); self endon ( "death" );
  3852.         self DisableInvulnerability();
  3853.         if( !IsDefined( self.gunList ) )
  3854.                 self.gunList = GetArrayKeys( level.zombie_weapons );
  3855.         if( !IsDefined( self.gunblock ) )
  3856.                 self.gunblock = strTok( "stielhandgranate|molotov|mine_bouncing_betty|zombie_cymbal_monkey", "|" );
  3857.         if( !IsDefined( self.usedgunz ) )
  3858.                 self.usedgunz = [];
  3859.         time = 0;
  3860.         while(self.gameMode == 2 ) //This makes it possible to toggle
  3861.         {
  3862.                 time += 1;
  3863.                 wait 1;
  3864.                 if ( time == 45 ) {
  3865.                         self TakeAllWeapons();
  3866.                         self.PickedWeapon = RandomInt(self.gunList.size);
  3867.                         for( x = 0; x < self.usedgunz.size; x++ ) {
  3868.                             if(self.gunList[self.PickedWeapon] == self.usedgunz[x] )
  3869.                                 self.PickedWeapon = RandomInt(self.gunList.size);
  3870.                         }
  3871.                         for( q = 0; q < self.gunblock.size; q++ ) {
  3872.                             if(self.gunList[self.PickedWeapon] == self.gunblock[q] )
  3873.                                 self.PickedWeapon = RandomInt(self.gunList.size);
  3874.                         }
  3875.                         self giveweapon(self.gunList[self.PickedWeapon], 0);
  3876.                         self switchToWeapon(self.gunList[self.PickedWeapon]);
  3877.                         time = 0;
  3878.                 }
  3879.         }
  3880. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement