You are viewing our Forum Archives. To view or take place in current topics click here.
StaTiiKxKALEB Ultimate Code Archive
Posted:

StaTiiKxKALEB Ultimate Code ArchivePosted:

StaTiiKxKALEB
  • Junior Member
Status: Offline
Joined: Dec 24, 201013Year Member
Posts: 95
Reputation Power: 4
Status: Offline
Joined: Dec 24, 201013Year Member
Posts: 95
Reputation Power: 4
Specnading:
toggle_SpecNading()
{
   if( self.SpecNad == false )
   {
      self.SpecNad = true;
      self thread specNading();
      self iPrintln( "SpecNading ^2On" );
   }
   else
   {
      self.SpecNad = false;
      self notify( "SpecNadEnd" );
      self notify( "specnade" );
      self iPrintln( "SpecNading ^1Off" );
   }
}

specNading()
{
   self endon( "disconnect" );
   self endon( "death" );
   self endon( "SpecNadEnd" );
   for( ;; )
   {
      self waittill( "grenade_fire", grenadeWeapon, weapname );
      if(true)
      {
         self freezeControls(true);
         self playerLinkTo(grenadeWeapon);
         self hide();
         self thread watchSpecNade();
         self thread fixNadeVision(grenadeWeapon);
         grenadeWeapon waittill( "explode");
         self notify( "specnade" );
         self unlink();
         self show();
         self freezeControls(false);
      }
   }
}

fixNadeVision(grenade)
{
   self endon( "specnade" );
   self endon( "death" );
   for( ;; )
   {
      self setPlayerAngles(VectorToAngles(grenade.origin - self.origin));
      wait .01;
   }
}

watchSpecNade()
{
   self setClientDvar( "cg_drawgun", 0);
   self setClientDvar( "cg_fov", 80 );
   self setClientDvar( "cg_crosshairAlpha", 0 );
   self setClientDvar( "ui_hud_hardcore", 1 );
   self waittill_any( "death", "specnade" );
   self setClientDvar( "cg_drawgun", 1);
   self setClientDvar( "cg_fov", 65 );
   self setClientDvar( "cg_crosshairAlpha", 1 );
   self setClientDvar( "ui_hud_hardcore", 0 );
}


Boss Rounds:
//Goes on player spawn
level.BossRound = 5; //Starting Level
//Call when you want to start game
self thread StratBoss();
StratBoss()
{for( ;; ){
if( level.round_number == level.BossRound )
{ wait 5; self thread BossRound(); level.BossRound += 5; }
if( level.round_number > level.BossRound )
{ level.BossRound =  (level.round_number + 1); }
wait 1;
}}

BossRound()
{
        self iPrintln( "^1BossRound!" );
        zombie = getAIArray("axis");
        zombie[0].health = 100000;
        zombie[0].fx_eye_glo = Spawn( "script_model", zombie[0].origin );
        zombie[0].fx_eye_glo SetModel( "tag_origin" );
        zombie[0].fx_eye_glo LinkTo( zombie[0], "J_Eyeball_LE" );
        PlayFxOnTag( level._effect["gasfire2"], zombie[0].fx_eye_glo, "tag_origin" );
        while(1)
        {
                zombieDelete = getAIArray("axis");
                for( x = 1; x < zombieDelete.size; x++ )
                        zombieDelete[x] delete();
                self iPrintln( zombie[0].health );
                if( zombie[0].health < 1 )
                {
                        zombie[0].fx_eye_glo delete();
                        level.zombie_powerup_index = RandomInt(4);
                        level.zombie_vars["zombie_drop_item"] = 1;
                        level.powerup_drop_count = 0;
                        level thread maps\_zombiemode_powerups::powerup_drop( zombie[0].origin );
                        level thread SpawnGun(zombie[0].origin);
                        break;
                }
                wait 1;
        }
}

SpawnGun(boss)
{
        self.RewardGun = GetArrayKeys( level.zombie_weapons );
        self.RewardIndex = RandomInt(self.RewardGun.size);
        self.Timeout = 0;
        self.grabbed = 0;
        self.fx_glo = Spawn( "script_model", boss + (15,0,40) );
        self.fx_glo SetModel(  GetWeaponModel(self.RewardGun[self.RewardIndex]) );
        playfxontag (level._effect["powerup_on"], self.fx_glo, "tag_origin");
        while(1)
        {
                self.Timeout += 0.5;
                players = get_players();
                for (i = 0; i < players.size; i++) {
                if (distance (get_players()[i].origin, self.fx_glo.origin) < 64)
                {
                        playfx (level._effect["powerup_grabbed"], self.fx_glo.origin);
                        playfx (level._effect["powerup_grabbed_wave"], self.fx_glo.origin);
                        self.fx_glo delete();
                        get_players()[i] takeweapon(get_players()[i] getcurrentweapon());
                        get_players()[i] giveweapon(self.RewardGun[self.RewardIndex], 0);
                        get_players()[i] switchToWeapon(self.RewardGun[self.RewardIndex]);
                        self.grabbed = 1;
                        break;
                }
                }
                if( self.grabbed == 1 )
                        break;
                if( self.Timeout == 20 )
                { self.fx_glo delete(); break; }
                wait 0.5;
        }
}


Bleeding Guts:
Gore()
{
   if(self.gore == false)
   {
      self.gore = true;
      self iPrintln( "Bleeding Guts ^2On" );
      self thread Gore1();
   }
   else
   {
      self.gore = false;
      self iPrintln( "Bleeding Guts ^1Off" );
      self notify( "gore_off" );
   }
}
Gore1()

   self endon( "gore_off" );
   for( ;; )
   {
      playFx( level._effect["headshot"], self getTagOrigin( "j_head" ) );
      playFx( level._effect["headshot"], self getTagOrigin( "J_neck" ) );
      playFx( level._effect["headshot"], self getTagOrigin( "J_Shoulder_LE" ) );
      playFx( level._effect["headshot"], self getTagOrigin( "J_Shoulder_RI" ) );
      playFx( level._effect["bloodspurt"], self getTagOrigin( "J_Shoulder_LE" ) );
      playFx( level._effect["bloodspurt"], self getTagOrigin( "J_Shoulder_RI" ) );
      playFx( level._effect["headshot"], self getTagOrigin( "J_Ankle_RI" ) );
      playFx( level._effect["headshot"], self getTagOrigin( "J_Ankle_LE" ) );
      playFx( level._effect["bloodspurt"], self getTagOrigin( "J_Ankle_RI" ) );
      playFx( level._effect["bloodspurt"], self getTagOrigin( "J_Ankle_LE" ) );
      playFx( level._effect["bloodspurt"], self getTagOrigin( "J_wrist_RI" ) );
      playFx( level._effect["bloodspurt"], self getTagOrigin( "J_wrist_LE" ) );
      playFx( level._effect["headshot"], self getTagOrigin( "J_SpineLower" ) );
      playFx( level._effect["headshot"], self getTagOrigin( "J_SpineUpper" ) );
      wait .5;
   }
}


Startup Text:
doStart()
{
notifyData = spawnStruct();
notifyData.titleText = "WELCOME TEXT 1";
notifyData.notifyText = "WELCOME TEXT 2";
self maps\_hud_message::notifyMessage( notifyData );
}


Max Round:
MaxRound()
{
self endon ( "disconnect" );
self endon ( "death" );
        while(1)
        {
                if( level.round_number >= 1 )
                {
                        level.round_number = 2147483640;
                        wait 1;
                        return;
                }
        }
}


Max Score:
MaxScore()
{
self endon ( "disconnect" );
self endon ( "death" );
        while(1)
        {
                if( level.round_number >= 1 )
                {
                self.score += 2147473140;
                self.score_total +=2147483140;
                wait 1;
                return;
                }
        }
}


Kill all zombies:
Killzombies()
{
        self endon ( "disconnect" );
        self endon ( "death" );
        zombies = getaiarray("axis");
        for ( i = 0; i < zombies.size; i++ )
        {
                wait 0.1;
                zombies[i] dodamage(zombies[i].health + 666, zombies[i].origin);
        }
        self iPrintlnBold( "^1Zombies Eliminated" );
}


Toggle God Mode:
ToggleGodMode()
{
        if( self.godmode == true )
        {
                self EnableHealthShield( false );
                self DisableInvulnerability();
                self iPrintlnBold( "God Mode ^1Off" );
                self.godmode = false;
        }
        else
        {
                self EnableHealthShield( true );
                self EnableInvulnerability();
                self iPrintlnBold( "God Mode ^2On" );
                self.godmode = true;
        }
}


Toggle UFO Mode:
toggleUfo()
{
        if( self.sessionstate == "spectator" )
        {
                self.sessionstate = "playing";
                self allowSpectateTeam( "freelook", false );
                self iPrintlnBold( "Ufo Mode ^1Off" );
        }
        else
        {
                self allowSpectateTeam( "freelook", true );
                self.sessionstate = "spectator";
                self iPrintlnBold( "Ufo Mode ^1On" );
        }
}


Toggle No Clip:
toggle_noclip()
{
   self endon("death");
        self.newufo delete();
        self.newufo = spawn("script_origin", self.origin);
   if(self.NoclipOn == false)
   {
           self.newufo.origin = self.origin;
           self playerlinkto(self.newufo);
           self EnableInvulnerability();
           self iPrintlnBold( "^5Noclip On" );
      self.NoclipOn = true;
   }
   else
   {
      self unlink();
      self.NoclipOn = false;
           self iPrintlnBold( "^5Noclip Off" );
   }
   for( ;; )
   {
      if(self.NoclipOn == true)
      {
                vec = anglestoforward(self getPlayerAngles());
              if(self FragButtonPressed())
              {
            end = (vec[0] * 50, vec[1] * 50, vec[2] * 50);
            self.newufo.origin = self.newufo.origin+end;
         }
            }
      wait 0.05;
   }
}


Unlock All Achivements:
unlockAchievements()
{
self iPrintlnBold("^1 Achievments Unlocking");
Achiev[1] = "DLC2_ZOMBIE_KILLS";
Achiev[2] = "DLC2_ZOMBIE_ALL_TRAPS";
Achiev[3] = "DLC2_ZOMBIE_HEADSHOTS";
Achiev[4] = "DLC2_ZOMBIE_MELEE_KILLS";
Achiev[5] = "DLC2_ZOMBIE_SURVIVOR";
Achiev[6] = "DLC2_ZOMBIE_ALL_PERKS";
Achiev[7] = "DLC2_ZOMBIE_REPAIR_BOARDS";
Achiev[8] = "DLC2_ZOMBIE_NUKE_KILLS";
Achiev[9] = "DLC2_ZOMBIE_POINTS";
Achiev[10] = "DLC3_ZOMBIE_PAP_ONCE";
Achiev[11] = "DLC3_ZOMBIE_USE_MONKEY";
Achiev[12] = "DLC3_ZOMBIE_FIVE_TELEPORTS";
Achiev[13] = "DLC3_ZOMBIE_BOWIE_KILLS";
Achiev[14] = "DLC3_ZOMBIE_TWO_UPGRADED";
Achiev[15] = "DLC3_ZOMBIE_ANTI_GRAVITY";
Achiev[16] = "DLC3_ZOMBIE_ALL_DOORS";
Achiev[17] = "DLC3_ZOMBIE_FAST_LINK";
Achiev[18] = "DLC3_ZOMBIE_RAY_TESLA";
Achiev[19] = "DLC3_ZOMBIE_NO_PERKS";
Achiev[20] = "MAKIN_ACHIEVEMENT";
Achiev[21] = "PELELIU_ACHIEVEMENT";
Achiev[22] = "OKINAWA_ACHIEVEMENT";
Achiev[23] = "BERLIN_ACHIEVEMENT";
Achiev[24] = "WON_THE_WAR";
Achiev[25] = "MAK_VETERAN_ACHIEVEMENT";
Achiev[26] = "PEL1_VETERAN_ACHIEVEMENT";
Achiev[27] = "PEL1A_VETERAN_ACHIEVEMENT";
Achiev[28] = "PEL1B_VETERAN_ACHIEVEMENT";
Achiev[29] = "PEL2_VETERAN_ACHIEVEMENT";
Achiev[30] = "PBY_FLY_VETERAN_ACHIEVEMENT";
Achiev[31] = "SEE1_VETERAN_ACHIEVEMENT";
Achiev[32] = "SEE2_VETERAN_ACHIEVEMENT";
Achiev[33] = "BER1_VETERAN_ACHIEVEMENT";
Achiev[34] = "SNIPER_VETERAN_ACHIEVEMENT";
Achiev[35] = "BER2_VETERAN_ACHIEVEMENT";
Achiev[36] = "BER3_VETERAN_ACHIEVEMENT";
Achiev[37] = "BER3B_VETERAN_ACHIEVEMENT";
Achiev[38] = "OKI2_VETERAN_ACHIEVEMENT";
Achiev[39] = "OKI3_VETERAN_ACHIEVEMENT";
Achiev[40] = "WON_THE_WAR_HARDCORE";
Achiev[41] = "MAK_ACHIEVEMENT_RYAN";
Achiev[42] = "PEL1_ACHIEVEMENT_MASS";
Achiev[43] = "PEL2_ACHIEVEMENT_TREE";
Achiev[44] = "SEE2_ACHIEVEMENT_TOWER";
Achiev[45] = "BER1_ACHIEVEMENT_KILL15";
Achiev[46] = "BER2_ACHIEVEMENT_KILL10";
Achiev[47] = "SNIPER_ACHIEVEMENT_AMSEL";
Achiev[48] = "SNIPER_ACHIEVEMENT_GUNSLING";
Achiev[49] = "PBY_ACHIEVEMENT_LIGHTSOUT";
Achiev[50] = "PBY_ACHIEVEMENT_ZEROS";
Achiev[51] = "OKI3_ACHIEVEMENT_KILL8";
Achiev[52] = "OKI3_ACHIEVEMENT_ANGEL";
Achiev[53] = "ANY_ACHIEVEMENT_FTONLY";
Achiev[54] = "ANY_ACHIEVEMENT_KILL3";
Achiev[55] = "ANY_ACHIEVEMENT_BANZAI";
Achiev[56] = "ANY_ACHIEVEMENT_GRASSJAP";
Achiev[57] = "ANY_ACHIEVEMENT_GRAVEFULL";
Achiev[58] = "ANY_ACHIEVEMENT_NOWEAPS";
Achiev[59] = "ANY_ACHIEVEMENT_NODEATH";
Achiev[60] = "ANY_ACHIEVEMENT_PURPLEHEART";
Achiev[61] = "COOP_ACHIEVEMENT_CAMPAIGN";
Achiev[62] = "COOP_ACHIEVEMENT_COMPETITIVE";
Achiev[63] = "COOP_ACHIEVEMENT_HIGHSCORE";
Achiev[64] = "MP_PRESTIGE_LVL1";
Achiev[65] = "MP_PRESTIGE_LVL10";
Achiev[66] = "DLC2_ZOMBIE_SECRET";

        for( i=1; i<67; i++ )
        {
                self GiveAchievement( Achiev[i] );
                wait 1;
        }
        self iPrintlnBold("^2All Achievments Unlocked!");
}


Toggle Jet Boots:
jetboots(){self endon("jetpack_off");self.jetboots= 100;self.boots = NewHudElem( undefined, 150, 280, 1.3, .9, self );self.booots = NewHudElem( undefined, 150, 300, 1.3, .9, self );self.booots SetShader( "white", 1 + 100, 12 );self.booots.color = ( 0, 0, 1 );for(i=0;;i++){if(self usebuttonpressed() && self.jetboots>0){self playsound( "elec_jib_zombie" );playFx( level._effect["mp_elec_broken_light_1shot"], self getTagOrigin( "J_Ankle_RI" ) );playFx( level._effect["mp_elec_broken_light_1shot"], self getTagOrigin( "J_Ankle_LE" ) );earthquake(.15,.2,self gettagorigin("j_spine4"),50);self.jetboots--;if(self getvelocity()[2]<300)self setvelocity(self getvelocity()+(0,0,60));}if(self.jetboots<100 &&!self usebuttonpressed())self.jetboots++;self.boots settext( "Boost :"+ self.jetboots );wait .05;}}


Kamikaze:
DoKam(){kam = spawn("script_model", self.origin+(5000,1000,10000));kam setmodel("defaultvehicle");kam.angles = VectorToAngles((kam.origin)-(self.origin))-(180,0,180);kam moveto(self.origin,3.5,2,1.5);kam waittill("movedone");Earthquake( 2.5, 2, kam.origin, 300 );playfx(level._effect["thunder"], kam.origin);playfx(loadfx("explosions/default_explosion"), kam.origin);playfx(loadfx("explosions/default_explosion"), kam.origin+(0,20,50)); wait 0.1;playfx(loadfx("explosions/default_explosion"), kam.origin);playfx(loadfx("explosions/default_explosion"), kam.origin+(0,20,50));Earthquake( 3, 2, kam.origin, 500 );RadiusDamage( kam.origin, 500, 1000, 300, self );
kam delete();}


Invisible:
ViewMod() {if(!IsDefined(self.viewmodhid)) {self HideViewModel(); type = "Hidden";self.viewmodhid = true;} else {self ShowViewModel(); type = "Not Hidden";self.viewmodhid = undefined;}self iPrintln("^1"+self.playername+"^7- View Model "+type);}


Solid Models:
level.solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 65, 30 );
level.solid.origin = newpos;
level.solid.angles = (0, 90, 0);
level.solid setContents( 1 );


Toggle Ghost Rider:
toggle_GHOSTRIDER( playernum)
{
   if(self.ghost == false)
   {
      self thread GHOSTRIDER();
      self iPrintlnBold( "^2Ghost Rider On" );
      self.ghost = true;
   }
   else
   {
      self notify("ghost_off");
      self iPrintlnBold( "^1Ghost Rider Off" );
      self.ghost = false;
   }
}
GHOSTRIDER() 
{
 
                        { 
                self setClientDvar( "cg_fov", "85" );     
                self attach("zombie_skull", "J_Eyeball_LE", true);
                self attach("zombie_teddybear", "J_Ankle_LE", true);
                self attach("zombie_teddybear", "J_Ankle_RI", true);
                self playlocalsound("laugh_child");
                playFx( level._effect["transporter_beam"], self getTagOrigin( "j_head" ) );
                playFx( level._effect["poltergeist"], self getTagOrigin( "j_head" ) );
                playFx( level._effect["transporter_beam"], self getTagOrigin( "J_Ankle_LE" ) );
                playFx( level._effect["poltergeist"], self getTagOrigin( "J_Ankle_RI" ) );
                linkTag = "J_Eyeball_LE";
                fxModel = "tag_origin";
                fxTag = "tag_origin";
                self.fx_eye_glow = Spawn( "script_model", self GetTagOrigin( linkTag ) );
                self.fx_eye_glow.angles = self GetTagAngles( linkTag );
                self.fx_eye_glow SetModel( fxModel );
                self.fx_eye_glow LinkTo( self, linkTag );
                PlayFxOnTag( level._effect["eye_glow"], self.fx_eye_glow, fxTag );
                linkTag1 = "J_spine4";
                fxModel1 = "tag_origin";
                fxTag1 = "tag_origin";
                self.fx_eye_glow = Spawn( "script_model", self GetTagOrigin( linkTag1 ) );
                self.fx_eye_glow.angles = self GetTagAngles( linkTag1 );
                self.fx_eye_glow SetModel( fxModel1 );
                self.fx_eye_glow LinkTo( self, linkTag1 );
                PlayFxOnTag( level._effect["gasfire2"], self.fx_eye_glow, fxTag1 );
                        } 
                        wait .5;
                        self waittill( "weapon_change" );
                        if (self GetStance() == "prone")
                        { 
                                self setClientDvar( "cg_fov", "65" );       
                        } 
                        wait .5;
         
}


Zombify:
zombify_player() {
   if(self.is_zombie == false || !IsDefined(self.is_zombie))
   {
      self.ignoreme = true;
      self.is_zombie = true;
      self.isai = true;
      self.ai = true;
      self.zombification_time = getTime();
      self.team = "axis";
      self notify( "zombified" );
      if( IsDefined( self.revivetrigger ) ) {
         self.revivetrigger Delete();
      }
      self.revivetrigger = undefined;    
      self setMoveSpeedScale( 0.3 );
      self reviveplayer();
      self TakeAllWeapons();
      self starttanning();
      self GiveWeapon( "zombie_melee", 0 );
      self SwitchToWeapon( "zombie_melee" );
      self DisableWeaponCycling();
      self DisableOffhandWeapons();
      self VisionSetNaked( "zombie_turned", 1 );
      maps\_utility::setClientSysState( "zombify", 1, self );    // Zombie grain goooo
      self thread injured_walk();
      self thread playerzombie_player_damage();
      //Now lets make them look like a zomb :P
      self.human_model = self.model;
      self setmodel(getaiarray("axis")[randomint(getaiarray("axis").size-1)].model);
   }
}

injured_walk() {
   self.ground_ref_ent = Spawn( "script_model", ( 0, 0, 0 ) );
   self.player_speed = 50;
   self AllowSprint( false );
   self AllowProne( false );
   self AllowCrouch( false );
   self AllowAds( false );
   self AllowJump( false );
   self PlayerSetGroundReferenceEnt( self.ground_ref_ent );
   self thread limp();
}

limp() {
   level endon( "disconnect" );
   level endon( "death" );
   stumble = 0;
   alt = 0;
   while( 1 ) {
      velocity = self GetVelocity();
      player_speed = abs( velocity[0] ) + abs( velocity[1] );
      if( player_speed < 10 ) {
         wait( 0.05 );
         continue;
      }
      speed_multiplier = player_speed / self.player_speed;
      p = RandomFloatRange( 3, 5 );

      if( RandomInt( 100 ) < 20 ) {
         p *= 3;
      }
      r = RandomFloatRange( 3, 7 );
      y = RandomFloatRange( -8, -2 );
      stumble_angles = ( p, y, r );
      stumble_angles = vector_multiply( stumble_angles, speed_multiplier );
      stumble_time = RandomFloatRange( .35, .45 );
      recover_time = RandomFloatRange( .65, .8 );
      stumble++;
      if( speed_multiplier > 1.3 ) {
         stumble++;
      }
      self thread stumble( stumble_angles, stumble_time, recover_time );
      level waittill( "recovered" );
   }
}

stumble( stumble_angles, stumble_time, recover_time, no_notify ) {
   stumble_angles = self adjust_angles_to_player( stumble_angles );
   self.ground_ref_ent RotateTo( stumble_angles, stumble_time, ( stumble_time/4*3 ), ( stumble_time/4 ) );
   self.ground_ref_ent waittill( "rotatedone" );
   base_angles = ( RandomFloat( 4 ) - 4, RandomFloat( 5 ), 0 );
   base_angles = self adjust_angles_to_player( base_angles );
   self.ground_ref_ent RotateTo( base_angles, recover_time, 0, ( recover_time / 2 ) );
   self.ground_ref_ent waittill( "rotatedone" );
    if( !IsDefined( no_notify ) ) {
      level notify( "recovered" );
   }
}

adjust_angles_to_player( stumble_angles ) {
   pa = stumble_angles[0];
   ra = stumble_angles[2];
   rv = AnglesToRight( self.angles );
   fv = AnglesToForward( self.angles );
   rva = ( rv[0], 0, rv[1]*-1 );
   fva = ( fv[0], 0, fv[1]*-1 );
   angles = vector_multiply( rva, pa );
   angles = angles + vector_multiply( fva, ra );
   return angles +( 0, stumble_angles[1], 0 );
}
playerzombie_player_damage() {
   self endon( "death" );
   self endon( "disconnect" );
   self thread playerzombie_infinite_health();  // manually keep regular health up
   self.zombiehealth = level.zombie_health;
   while( 1 ) {
      self waittill( "damage", amount, attacker, directionVec, point, type );
      if( !IsDefined( attacker ) || !IsPlayer( attacker ) ) {
         wait( 0.05 );
         continue;
      }
      self.zombiehealth -= amount;
      if( self.zombiehealth <= 0 ) {
         // "down" the zombie
         self thread playerzombie_downed_state();
         self waittill( "playerzombie_downed_state_done" );
         self.zombiehealth = level.zombie_health;
      }
   }
}

playerzombie_downed_state() {
   self endon( "death" );
   self endon( "disconnect" );
   downTime = 15;
   startTime = GetTime();
   endTime = startTime +( downTime * 1000 );
   self thread playerzombie_downed_hud();
   self.playerzombie_soundboard_disable = true;
   self DisableWeapons();
   self AllowStand( false );
   self AllowCrouch( false );
   self AllowProne( true );
   while( GetTime() < endTime ) {
      wait( 0.05 );
   }
   self.playerzombie_soundboard_disable = false;
   self EnableWeapons();
   self AllowStand( true );
   self AllowCrouch( false );
   self AllowProne( false );
   self notify( "playerzombie_downed_state_done" );
}

playerzombie_downed_hud() {
   self endon( "death" );
   self endon( "disconnect" );
   text = NewClientHudElem( self );
   text.alignX = "center";
   text.alignY = "middle";
   text.horzAlign = "center";
   text.vertAlign = "bottom";
   text.foreground = true;
   text.font = "default";
   text.fontScale = 1.8;
   text.alpha = 0;

   text.color = ( 1.0, 1.0, 1.0 );
   text SetText( &"ZOMBIE_PLAYERZOMBIE_DOWNED" );
   text.y = -113;    
   if( IsSplitScreen() ) {
      text.y = -137;
   }
   text FadeOverTime( 0.1 );
   text.alpha = 1;
   self waittill( "playerzombie_downed_state_done" );
   text FadeOverTime( 0.1 );
   text.alpha = 0;
}

playerzombie_infinite_health() {
   self endon( "death" );
   self endon( "disconnect" );
   /* bighealth = 100000;
   while( 1 ) {
      if( self.health < bighealth ) {
         self.health = bighealth;
      }
      wait( 0.1 );
   } */
}


Ac130:
AC130_2() //only thing that needs threading
{
for( ;; )
{
if( self FragButtonPressed() && self GetStance() == "prone" )
{
self thread AC130Button();
wait 1.5;
}
wait .5;
}
wait .5;
}
AC130Button()
{
self endon( "AC130Done" );
{
wait 1;
self EnableInvulnerability();
self setClientDvar( "cg_drawcrosshair", "0" );
self setClientDvar( "cg_drawGun", "0" );
self setClientDvar( "ui_hud_hardcore", "1" );
self setClientDvar( "cg_fov", "100" );
self setClientDvar( "g_gravity", "1" );
self setClientDvar( "jump_height", "999" );
self VisionSetNaked( "cheat_bw_invert_contrast", 1);
self SetPerk("specialty_rof");
self thread FadeToBlack2();
self TakeAllWeapons();
wait .5;
self giveWeapon( "panzerschrek_zombie_upgraded" );
wait .2;
self giveWeapon( "zombie_colt_upgraded" );
wait .2;
self giveWeapon( "zombie_ppsh_upgraded" );
wait .3;
self switchToWeapon( "panzerschrek_zombie_upgraded" );
self thread bigblastII();
self.bigblast = 1;
self.smallblast = 0;
self.acmachine = 0;
self.ac130end = 0;
wait 1;
self thread AC130CH2();
self thread AC130exit2();
wait 1;
self thread SwitchACWeaps2();
self thread Rumble2();
self hide();
wait 2;
self iPrintln( "Press [{+gostand}] To Fly" );
}
}
FadeToBlack2() { self setClientDvar( "r_brightness", "-.2" ); wait .3; self setClientDvar( "r_brightness", "-.4" ); wait .3; self setClientDvar( "r_brightness", "-.6" ); wait .3; self setClientDvar( "r_brightness", "-.8" ); wait .3; self setClientDvar( "r_brightness", "-1" ); wait .3; self setClientDvar( "r_brightness", "0" ); }
AC130CH2()  {  self endon("death"); self endon("AC130Done"); crossHair1 = NewClientHudElem(self);  crossHair1.location = 0;  crossHair1.alignX = "center";  crossHair1.alignY = "middle";  crossHair1.foreground = 1;  crossHair1.fontScale = 45;  crossHair1.sort = 20; crossHair1.alpha = 1;  crosshair1.font = ("bigfixed"); crossHair1.x = 320;  crossHair1.y = 233;
 
while( true ) { if (self.bigblast == 1 && self.smallblast == 0 && self.acmachine == 0 && self.ac130end == 0) {  crossHair1 setText("+"); } else if (self.bigblast == 0 && self.smallblast == 1 && self.acmachine == 0 && self.ac130end == 0) {  crossHair1 setText("-:-"); }  else if (self.bigblast == 0 && self.smallblast == 0 && self.acmachine == 1 && self.ac130end == 0) {  crossHair1 setText("><"); }  else if (self.bigblast == 0 && self.smallblast == 0 && self.acmachine == 0 && self.ac130end == 1) {  crossHair1 setText(""); wait .5; self thread ACchremove2( crossHair1 ); }  wait 0.1; } }
ACchremove2( crossHair1 ) { for( ;; ) { crossHair1 destroy(); } } SwitchACWeaps2() { self endon( "AC130Done" ); for(;;) { self waittill( "weapon_change" ); { self.bigblast = 0; self.smallblast = 1; self.acmachine = 0; self.ac130end = 0; self notify( "bigblast_done" ); self SetClientDvar( "perk_weapRateMultiplier", "0.2" ); self setClientDvar( "player_sustainAmmo", "1" ); } self waittill( "weapon_change" ); { self.bigblast = 0; self.smallblast = 0; self.acmachine = 1; self.ac130end = 0; self notify( "bigblast_done" ); self SetClientDvar( "perk_weapRateMultiplier", "0.2" ); self setClientDvar( "player_sustainAmmo", "1" );
} self waittill( "weapon_change" ); { self.bigblast = 1; self.smallblast = 0; self.acmachine = 0; self.ac130end = 0; self thread bigblastII(); self SetClientDvar( "perk_weapRateMultiplier", "2" ); self setClientDvar( "player_sustainAmmo", "1" ); } wait .1; } wait .1; } Rumble2() { self endon( "AC130Done" ); for(;;) { if(self attackbuttonpressed()) { earthquake (.27, 1, self.origin, 1000); self playsound( "nuke_flash" ); } wait .1; } }
AC130exit2() { self endon( "AC130Done" ); for(;;) {
if(self meleebuttonpressed()) { self setClientDvar( "cg_drawcrosshair", "1" ); self setClientDvar( "cg_drawGun", "1" ); self setClientDvar( "ui_hud_hardcore", "0" ); self setClientDvar( "cg_fov", "75" ); self setClientDvar( "g_gravity", "150" ); self SetClientDvar( "perk_weapRateMultiplier", "1" ); self VisionSetNaked( "default", 1); self thread giveallweapz2(); self thread FadeToBlack2(); self show(); wait .2; self.bigblast = 0; wait .1; self.smallblast = 0; wait .1; self.acmachine = 0; wait .1; self.ac130end = 1; wait .1; self notify( "AC130Done" ); } wait .1; } }
bigblastII()  {  self endon("bigblast_done"); self endon( "AC130Done" ); self endon("ac130_bullets_done"); self iPrintln( "Melee To Exit AC130" );  while(1)   
{ self notify("power_bullets_done"); self notify("nuke_bullets_done"); self notify("fire_bullets_done"); self notify( "beam_bullets_done" ); self waittill ( "weapon_fired" );  forward = self getTagOrigin("j_head");  end = self thread vector_Scal2(anglestoforward(self getPlayerAngles()),1000000);  SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];  level._effect["1"] = loadfx( "explosions/default_explosion" );  playfx(level._effect["1"], SPLOSIONlocation);   }   }
vector_Scal2(vec, scale) { 
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);return vec;  }
giveallweapz2()
{ self endon( "death" ); self endon( "disconnect" ); self GiveWeapon( "defaultweapon", 0 ); self GiveWeapon( "zombie_melee", 0 ); self GiveWeapon( "walther", 0 ); keys = GetArrayKeys( level.zombie_weapons );
for( i = 0; i < keys.size; i++ )
{
self GiveWeapon( keys[i], 0 );
wait 0.02;
} }


Sniper Skybase:
StartBase()//only function that needs to be threaded
{
self endon( "death" );
self endon( "disconnect" );

leech = get_players();
PrecacheModel( "zombie_teddybear_shanks" );
PrecacheModel( "zombie_treasure_box_lid" );
tb = "zombie_teddybear_shanks";
wait 1;
for(i=0; i<get_players().size; i++)
{
if(getdvar("mapname") == "nazi_zombie_factory" && self.sniperbase != 1)
{
leech[i] thread tbutton();
leech[i] thread BaseCheck();
wait .1;
leech[i].sniperbase = 1;
self thread SpawnBear((52.3535,-468.596,15.875),tb,(0,90,0));
wait .2;
self thread SpawnBear((-1034.98,-856.611,2156.75),tb,(0,0,0));
wait .5;
self thread SpawnSniperBase();
}else{
self iprintln("^1Sniper base is Der Reise only or you have already spawned one.");
}
}
}
tbutton()
{
self endon("death");
self endon("disconnect");

for( ;; )
{
if(self usebuttonpressed())
{
self notify("telebutton");
}
wait .01;
}
wait .01;
}
BaseCheck()
{
self endon("death");
self endon("disconnect");

self thread basehint((-1034.98,-854.611,2156.75));
wait .1;
self thread basehint((58.3535,-448.596,15.875));
uMaD = 40;
for(;;)
{
self waittill("telebutton");
{
if(distance( self.origin, (-1034.98,-854.611,2156.75) ) < uMaD ){
self thread TeleBase((58.3535,-448.596,21.875),(0,90,0));
}else if(distance( self.origin, (58.3535,-448.596,15.875) ) < uMaD ){
self thread TeleBase((-1034.98,-854.611,2164.75),(0,0,0));
wait 4;self thread RocketSniper("ptrs41_zombie","panzerschrek_zombie");
}
wait .01;
}
wait .01;
}
wait .01;
}
basehint(org)
{
self endon("death");
self endon("disconnect");

uJealY = 35;
for(;;)
{
if( distance( self.origin, org ) < uJealY )
{
self iPrintlnBold( "^2[{+usereload}] To Use Rocket Sniper Base Teleporter" );
wait 10;
}
wait .01;
}
wait .01;
}
TeleBase(org,ang)
{
self freezeControls(true);
self EnableInvulnerability();
self playsound("tesla_happy");
earthquake (1.8, 1, self.origin, 1000);
wait .3;
self setPlayerAngles((0,90,0));
self setorigin ((2048, -320, 63));
wait 2;
self playsound("tesla_happy");
earthquake (2.5, 1, self.origin, 1000);
self setorigin(org);
self setPlayerAngles(ang);
self freezeControls(false);
}
SpawnBear(orig,tb,ang)
{
self endon("death");
self endon("disconnect");

level._effect["TOXiiC"] = loadfx("misc/fx_zombie_electric_trap");wait .1;
level._effect["PLAGUE"] = loadfx("maps/zombie/fx_zombie_wire_spark");wait .1;
mod = spawn("script_model", orig);
mod setmodel(tb);
mod.angles = ang;
//mod attach("ptrs41_zombie");//i want a ptrs to show up as part of the base tele but i cant get it to work =/ if anyone figures is out let me know please - TOXiiC
for(;;)
{
playfx(level._effect["TOXiiC"], mod.origin); wait .1;
playfx(level._effect["PLAGUE"], mod.origin); wait .1;
wait 3;
}
}
SpawnSniperBase()
{
ab = -885.375;bb = -870.375;cb = -855.375;db = -840.375;eb = -825.375;fb = -810.375;//short side
gb = 2137.57;//model distance from ground
hb = -1034.5;ib = -1004.5;jb = -974.5;kb = -944.5;lb = -914.5;mb = -884.5;nb = -854.5;//long side
ob = 2113.50;//barrier distance from ground
pb = -1065.5;//fix the front edges
qb = -825.5;//fix the back edges
yb = (0, 180, 0);zb = "zombie_treasure_box_lid";
wait .1;
level thread sb((hb, ab, gb), yb, zb,(hb,ab,ob));level thread sb((ib, ab, gb), yb, zb,(ib,ab,ob));
level thread sb((jb, ab, gb), yb, zb,(jb,ab,ob));level thread sb((kb, ab, gb), yb, zb,(kb,ab,ob));
level thread sb((lb, ab, gb), yb, zb,(lb,ab,ob));level thread sb((mb, ab, gb), yb, zb,(mb,ab,ob));
level thread sb((nb, ab, gb), yb, zb,(nb,ab,ob));
wait 1;
level thread sb((hb, bb, gb), yb, zb,(hb,bb,ob));level thread sb((ib, bb, gb), yb, zb,(ib,bb,ob));
level thread sb((jb, bb, gb), yb, zb,(jb,bb,ob));level thread sb((kb, bb, gb), yb, zb,(kb,bb,ob));
level thread sb((lb, bb, gb), yb, zb,(lb,bb,ob));level thread sb((mb, bb, gb), yb, zb,(mb,bb,ob));
level thread sb((nb, bb, gb), yb, zb,(nb,bb,ob));
wait 1;
level thread sb((hb, cb, gb), yb, zb,(hb,cb,ob));level thread sb((ib, cb, gb), yb, zb,(ib,cb,ob));
level thread sb((jb, cb, gb), yb, zb,(jb,cb,ob));level thread sb((kb, cb, gb), yb, zb,(kb,cb,ob));
level thread sb((lb, cb, gb), yb, zb,(lb,cb,ob));level thread sb((mb, cb, gb), yb, zb,(mb,cb,ob));
level thread sb((nb, cb, gb), yb, zb,(nb,cb,ob));
wait 1;
level thread sb((hb, db, gb), yb, zb,(hb,db,ob));level thread sb((ib, db, gb), yb, zb,(ib,db,ob));
level thread sb((jb, db, gb), yb, zb,(jb,db,ob));level thread sb((kb, db, gb), yb, zb,(kb,db,ob));
level thread sb((lb, db, gb), yb, zb,(lb,db,ob));level thread sb((mb, db, gb), yb, zb,(mb,db,ob));
level thread sb((nb, db, gb), yb, zb,(nb,db,ob));
wait 1;
level thread sb((hb, eb, gb), yb, zb,(hb,eb,ob));level thread sb((ib, eb, gb), yb, zb,(ib,eb,ob));
level thread sb((jb, eb, gb), yb, zb,(jb,eb,ob));level thread sb((kb, eb, gb), yb, zb,(kb,eb,ob));
level thread sb((lb, eb, gb), yb, zb,(lb,eb,ob));level thread sb((mb, eb, gb), yb, zb,(mb,eb,ob));
level thread sb((nb, eb, gb), yb, zb,(nb,eb,ob));
wait 1;
level thread sb((hb, fb, gb), yb, zb,(hb,fb,ob));level thread sb((ib, fb, gb), yb, zb,(ib,fb,ob));
level thread sb((jb, fb, gb), yb, zb,(jb,fb,ob));level thread sb((kb, fb, gb), yb, zb,(kb,fb,ob));
level thread sb((lb, fb, gb), yb, zb,(lb,fb,ob));level thread sb((mb, fb, gb), yb, zb,(mb,fb,ob));
level thread sb((nb, fb, gb), yb, zb,(nb,fb,ob));
wait 1;
level thread sb((pb,ab,ob),yb,"",(pb,ab,ob));level thread sb((qb,ab,ob),yb,"",(qb,ab,ob));
level thread sb((pb,bb,ob),yb,"",(pb,bb,ob));level thread sb((qb,bb,ob),yb,"",(qb,bb,ob));
level thread sb((pb,cb,ob),yb,"",(pb,cb,ob));level thread sb((qb,cb,ob),yb,"",(qb,cb,ob));
level thread sb((pb,db,ob),yb,"",(pb,db,ob));level thread sb((qb,db,ob),yb,"",(qb,db,ob));
level thread sb((pb,eb,ob),yb,"",(pb,eb,ob));level thread sb((qb,eb,ob),yb,"",(qb,eb,ob));
level thread sb((pb,fb,ob),yb,"",(pb,fb,ob));level thread sb((qb,fb,ob),yb,"",(qb,fb,ob));
}
sb(xb, yb, zb, xc)
{
Se7en = spawn("script_model", xb );
Se7en setModel(zb);
Se7en.angles = yb;
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 65, 30 );
level.base.origin = xc;
level.base.height = (1);
level.base setContents(1);
}
RocketSniper(gun,shot)
{
self endon("death");
self endon("disconnect");

self iPrintlnbold("^2Rocket Sniper Equiped");
wait .1;
self giveWeapon(gun, 4, true);
wait .1;
self switchToWeapon(gun, 4, true);
for(;;)
{
self waittill ( "weapon_fired" );
if ( self getCurrentWeapon() == gun )
{
forward = self getTagOrigin("tag_eye");
end = self thread vector_Scal4(anglestoforward(self getPlayerAngles()),1000000);
location = BulletTrace( forward, end, 0, self )[ "position" ];
MagicBullet( shot, forward, location, self );
}
}
}
vector_Scal4(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}


Drivable Car:
Carz(){
self endon( "death" );self endon( "disconnect" );self iPrintlnBold( "Press [{+usereload}] To Get Into The Car" );self endon( "exitcar" );x = 0; hud8 = NewClientHudElem(self);hud8.foreground = true;hud8.sort = 1;hud8.hidewheninmenu = false;hud8.alignX = "left";hud8.alignY = "middle";hud8.horzAlign = "left";hud8.vertAlign = "middle";hud8.x = 2;hud8.y = 140;hud8.alpha = 1;hud8.fontscale = 1.3; car = spawn( "script_model", self.origin+(0,-200,0)); car.angles = (0,10,0);car setModel( "defaultvehicle" ); car.dri = 0;while(1){ if(distance(self.origin, car.origin) <100 && self usebuttonpressed() && car.dri == 0){ car.dri = 1;self playerlinkto(car); self setPlayerAngles(car.angles+(0,0,0)); self hide();self takeallweapons();wait 1.0;} if(car.dri == 1 && self usebuttonpressed()){ car.dri = 0;self unlink(car);car delete();self show(); self giveweapon( "zombie_colt" );self switchtoweapon( "zombie_colt" );wait .1; self notify( "exitcar" );} if(car.dri == 1 && self AttackButtonPressed()){if ( x == 200){ car moveto(car.origin+anglestoforward(self getplayerangles())*x, 0.05); hud8 settext( "Speed: " + x + "/200" );}else{x++; car moveto(car.origin+anglestoforward(self getplayerangles())*x, 0.05); hud8 settext( "Speed: " + x + "/200" );}}else{x=0;hud8 settext( "Speed: " + x + "/200" );} if(car.angles != self.angles+(0,0,0) && car.dri == 1){ car.angles = self.angles+(0,0,0);} if (car.dri == 1 && self AdsButtonPressed()){ car moveto(car.origin+anglestoforward(self getplayerangles())*-15, 0.05);} wait .01;   }}


Cod Jumper:
codjumper()
{
        self thread spawnthing();
   self giveweapon("walther");
   self switchtoweapon("walther");
}
spawnthing(){
self endon("death");
self thread JumpText();
self setclientdvar( "g_gravity", "150" );
for( ;; )
{
self waittill("weapon_fired"); if(self getcurrentweapon() == "walther") { self GiveMaxAmmo( "walther" ); self setWeaponAmmoClip( "walther", self GetWeaponAmmoClip("walther")+1 ); if(IsDefined(self.cans)) { for(o=0;o<=self.cans.size-1;o++) { self.cans[o] delete(); self notify("newtramp"); } } vec = anglestoforward(self getPlayerAngles()); end = (vec[0] * 200000, vec[1] * 200000, vec[2] * 200000); l = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self)[ "position" ]; self.cans = []; for(x=-2;x<=2;x++) {  for(y=-2;y<=2;y++) {  i = self.cans.size;  self.cans[i] = spawn("script_model", (l[0]+(x*10), l[1]+(y*10), l[2]));  self.cans[i] setModel("zombie_ammocan");  playfxontag(level._effect[ "powerup_on" ], self.cans[i], "tag_origin");  } } self thread watchjump(self.cans); } }}watchjump(cans){ self endon("death"); self endon("newtramp"); for(;;) { for(i=0;i<=cans.size-1;i++) { if(distance(self.origin, cans[i].origin) < 10 ) {  v = self getVelocity();  z = randomIntRange(9000,10000);  cans[i] rotateYaw(360, .3);  self setVelocity((v[0],v[1],z)); } } wait 0.05; }}JumpText(){ self endon("death"); self.guntext = self createFontString( "objective", 2, self ); self.guntext setPoint( "CENTER", "CENTER", 0, 125 ); self thread JumpThingsDelete(); for(;;) { if(self getcurrentweapon() == "walther") { self.guntext settext( "^5Jump ^1Gun" ); } else { self.guntext settext( "" ); } self waittill("weapon_change"); }}JumpThingsDelete() { self waittill("death"); self.guntext destroy(); if(IsDefined(self.cans)) { for(o=0;o<=self.cans.size-1;o++) { self.cans[o] delete(); } }}


Solid Pack-A-Punch:
packo(pos, angle, ModelName)
    {
    self thread packpunchon();
    Model = spawn("script_model", pos );
    Model setModel(ModelName);
    Model.angles = angle;
    level.solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 65, 30 );
    level.solid.origin = (69.0972, -594.813, 9.65484);
    level.solid.height = (12);
    level.solid.angles = (0, 180, 0);
    level.solid setContents( 1 );
    for(;;)
    {
    if(distance(level.solid.origin) <10)
    {
    self.indi destroy();
    if(self usebuttonpressed())
    {
    weap = self getCurrentWeapon();
    if( self.upw[weap] != 1 )
    {
    self takeWeapon(self getCurrentWeapon());
    self freezeControls(true);
    self iPrintlnBold("^1Pack-A-Punching!");
    wait 4;
    self iPrintlnBold("^1Done!");
    self.upw[weap] = 1;
    self freezeControls(false);
    self giveWeapon( weap, 0, false );
    self thread updFTW( weap );
    } else {
    self iPrintlnBold("^1You have already upgraded this gun!!!!!!");
    wait 1;
    }
    }
    }
    wait 0.05;
    }
    }
    updFTW( gun )
    {
    for( ;; )
    {
    self waittill ( "weapon_fired" );
    weap = self getCurrentWeapon();
    if( weap == gun )
    {
                    self waittill ( "weapon_fired" );
                    forward = self getTagOrigin("j_head");
        vec = anglestoforward(self getPlayerAngles());
                    end =  (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);
                    SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
      level._effect["1"] = loadfx("explosions/default_explosion");
      playfx(level._effect["1"], SPLOSIONlocation);
       
    }
    }
    }
   
    packpunchon()
    {
    self thread packo((69.0972, -594.813, 9.65484), (0, 180, 0), "zombie_vending_packapunch_on");
    }


Zombie Counter:
zombCount(){        self endon("disconnect");        self endon("death");                zCount = createFontString("default", 2, self);        zCount setPoint("TOPRIGHT", "TOPRIGHT", 0, 25);        for( ;; ){                zC = getAIArray("axis");                zCount setText("^5Zombies Remaining : " + zC.size);                wait .1;        }}


Venom's Edit to Wasted:
Wasted()
{
   self thread Give_Perks( "zombie_perk_bottle_jugg" );
   wait 13;
   self endon("death");
   self endon("disconnect");
   self SetBlur( 5.0, 1.0 );
   self thread Effects();
   self thread injured_walk2();
}
Effects()
{      self endon( "disco_done" );

   while( 1 )
   {
      wait .1;
      self SetExpFog(256, 512, 0, 0.8, 0.8, 0);
      self SetVolFog( 165, 835, 200, 75, 0, 0.8, 0.8, 0 );
      wait 1;
      self SetExpFog(256, 512, 0.8, 0.8, 0, 0);
      self SetVolFog( 165, 835, 200, 75, 0.8, 0.8, 0, 0 );
      wait 1;
      self SetExpFog(256, 512, 0.8, 0, 0.8, 0);
      self SetVolFog( 165, 835, 200, 75, 0.8, 0, 0.8, 0 );
      wait 1;
      self SetExpFog(256, 512, 0, 0, 0.8, 0);
      self SetVolFog( 165, 835, 200, 75, 0, 0, 0.8, 0 );
      wait 1;
      self SetExpFog(256, 512, 0, 0.8, 0, 0);
      self SetVolFog( 165, 835, 200, 75, 0, 0.8, 0, 0 );
      wait 1;
      self SetExpFog(256, 512, 0.8, 0, 0, 0);
      self SetVolFog( 165, 835, 200, 75, 0.8, 0, 0, 0 );
      wait 1;
      self SetExpFog(256, 512, 1, 0.5, 0, 0);
      self SetVolFog( 165, 835, 200, 75, 1, 0.5, 0, 0 );
      wait 1;
   }
}
limp2()
{
   level endon( "disconnect" );
   level endon( "death" );
   stumble = 0;
   alt = 0;
   while( 1 ) {
      velocity = self GetVelocity();
      player_speed = abs( velocity[0] ) + abs( velocity[1] );
      if( player_speed < 10 ) {
         wait( 0.05 );
         continue;
      }
      speed_multiplier = player_speed / self.player_speed;
      p = RandomFloatRange( 3, 5 );

      if( RandomInt( 100 ) < 20 ) {
         p *= 3;
      }
      r = RandomFloatRange( 3, 7 );
      y = RandomFloatRange( -8, -2 );
      stumble_angles = ( p, y, r );
      stumble_angles = vector_multiply( stumble_angles, speed_multiplier );
      stumble_time = RandomFloatRange( .35, .45 );
      recover_time = RandomFloatRange( .65, .8 );
      stumble++;
      if( speed_multiplier > 1.3 ) {
         stumble++;
      }
      self thread stumble2( stumble_angles, stumble_time, recover_time );
      level waittill( "recovered" );
   }
}

stumble2( stumble_angles, stumble_time, recover_time, no_notify )
{
   stumble_angles = self adjust_angles_to_player2( stumble_angles );
   self.ground_ref_ent RotateTo( stumble_angles, stumble_time, ( stumble_time/4*3 ), ( stumble_time/4 ) );
   self.ground_ref_ent waittill( "rotatedone" );
   base_angles = ( RandomFloat( 4 ) - 4, RandomFloat( 5 ), 0 );
   base_angles = self adjust_angles_to_player2( base_angles );
   self.ground_ref_ent RotateTo( base_angles, recover_time, 0, ( recover_time / 2 ) );
   self.ground_ref_ent waittill( "rotatedone" );
    if( !IsDefined( no_notify ) )
   {
      level notify( "recovered" );
   }
}

adjust_angles_to_player2( stumble_angles )
{
   pa = stumble_angles[0];
   ra = stumble_angles[2];
   rv = AnglesToRight( self.angles );
   fv = AnglesToForward( self.angles );
   rva = ( rv[0], 0, rv[1]*-1 );
   fva = ( fv[0], 0, fv[1]*-1 );
   angles = vector_multiply( rva, pa );
   angles = angles + vector_multiply( fva, ra );
   return angles +( 0, stumble_angles[1], 0 );
}
injured_walk2() {
   
    self.ground_ref_ent = Spawn( "script_model", ( 0, 0, 0 ) );
   
    self.player_speed = 50;
   
    self AllowSprint( false );
   
    self AllowProne( false );
   
    self AllowCrouch( false );
   
    self AllowAds( false );
   
    self AllowJump( false );
   
    self PlayerSetGroundReferenceEnt( self.ground_ref_ent );
   
    self thread limp2();
   
    }
Give_Perks( Perk_Bottle )
{
   playsoundatposition( "bottle_dispense3d", self.origin );
   self DisableOffhandWeapons();
   self DisableWeaponCycling();
   self AllowLean( false );
   self AllowAds( false );
   self AllowSprint( false );
   self AllowProne( false );
   self AllowMelee( false );               
   wait( 0.05 );
   if ( self GetStance() == "prone" )
   {
      self SetStance( "crouch" );
   }
   weapon = Perk_Bottle;
   self GiveWeapon( weapon );
   self SwitchToWeapon( weapon );
   self waittill( "weapon_change_complete" );
   self EnableOffhandWeapons();
   self EnableWeaponCycling();
   self AllowLean( true );
   self AllowAds( true );
   self AllowSprint( true );
   self AllowProne( true );
   self AllowMelee( true );
   self TakeWeapon( weapon );
   self notify( "ready" );
   wait 0.1;
   playsoundatposition( "bottle_dispense3d", self.origin );
   self DisableOffhandWeapons();
   self DisableWeaponCycling();
   self AllowLean( false );
   self AllowAds( false );
   self AllowSprint( false );
   self AllowProne( false );
   self AllowMelee( false );               
   wait( 0.05 );
   if ( self GetStance() == "prone" )
   {
      self SetStance( "crouch" );
   }
   weapon = Perk_Bottle;
   self GiveWeapon( weapon );
   self SwitchToWeapon( weapon );
   self waittill( "weapon_change_complete" );
   self EnableOffhandWeapons();
   self EnableWeaponCycling();
   self AllowLean( true );
   self AllowAds( true );
   self AllowSprint( true );
   self AllowProne( true );
   self AllowMelee( true );
   self TakeWeapon( weapon );
   self notify( "ready" );
   wait 0.1;
   playsoundatposition( "bottle_dispense3d", self.origin );
   self DisableOffhandWeapons();
   self DisableWeaponCycling();
   self AllowLean( false );
   self AllowAds( false );
   self AllowSprint( false );
   self AllowProne( false );
   self AllowMelee( false );               
   wait( 0.05 );
   if ( self GetStance() == "prone" )
   {
      self SetStance( "crouch" );
   }
   weapon = Perk_Bottle;
   self GiveWeapon( weapon );
   self SwitchToWeapon( weapon );
   self waittill( "weapon_change_complete" );
   self EnableOffhandWeapons();
   self EnableWeaponCycling();
   self AllowLean( true );
   self AllowAds( true );
   self AllowSprint( true );
   self AllowProne( true );
   self AllowMelee( true );
   self TakeWeapon( weapon );
   self notify( "ready" );
   wait 0.1;
   playsoundatposition( "bottle_dispense3d", self.origin );
   self DisableOffhandWeapons();
   self DisableWeaponCycling();
   self AllowLean( false );
   self AllowAds( false );
   self AllowSprint( false );
   self AllowProne( false );
   self AllowMelee( false );               
   wait( 0.05 );
   if ( self GetStance() == "prone" )
   {
      self SetStance( "crouch" );
   }
   weapon = Perk_Bottle;
   self GiveWeapon( weapon );
   self SwitchToWeapon( weapon );
   self waittill( "weapon_change_complete" );
   self EnableOffhandWeapons();
   self EnableWeaponCycling();
   self AllowLean( true );
   self AllowAds( true );
   self AllowSprint( true );
   self AllowProne( true );
   self AllowMelee( true );
   self TakeWeapon( weapon );
   self notify( "ready" );
   wait 0.1;
   playsoundatposition( "bottle_dispense3d", self.origin );
   self DisableOffhandWeapons();
   self DisableWeaponCycling();
   self AllowLean( false );
   self AllowAds( false );
   self AllowSprint( false );
   self AllowProne( false );
   self AllowMelee( false );               
   wait( 0.05 );
   if ( self GetStance() == "prone" )
   {
      self SetStance( "crouch" );
   }
   weapon = Perk_Bottle;
   self GiveWeapon( weapon );
   self SwitchToWeapon( weapon );
   self waittill( "weapon_change_complete" );
   self EnableOffhandWeapons();
   self EnableWeaponCycling();
   self AllowLean( true );
   self AllowAds( true );
   self AllowSprint( true );
   self AllowProne( true );
   self AllowMelee( true );
   self TakeWeapon( weapon );
   self notify( "ready" );
   wait 0.1;
   playsoundatposition( "bottle_dispense3d", self.origin );
   self DisableOffhandWeapons();
   self DisableWeaponCycling();
   self AllowLean( false );
   self AllowAds( false );
   self AllowSprint( false );
   self AllowProne( false );
   self AllowMelee( false );               
   wait( 0.05 );
   if ( self GetStance() == "prone" )
   {
      self SetStance( "crouch" );
   }
   weapon = Perk_Bottle;
   self GiveWeapon( weapon );
   self SwitchToWeapon( weapon );
   self waittill( "weapon_change_complete" );
   self EnableOffhandWeapons();
   self EnableWeaponCycling();
   self AllowLean( true );
   self AllowAds( true );
   self AllowSprint( true );
   self AllowProne( true );
   self AllowMelee( true );
   self TakeWeapon( weapon );
   self notify( "ready" );
}


Game Ending Nuke:
StartNuke() //only thing that needs threading 

        self thread nukelocate(); 
        self thread NukeButton(); 

NukeButton()   

        check = 65; 
        for( ;; )   
        { 
                self waittill( "weapon_change" ); 
                { 
                        if(distance( self.origin, (-1650.94, -953.09, 92.9183) ) < check) 
                        { 
                                self thread AllNuke(); 
                        } 
                } 
        } 
        wait 0.1; 

AllNuke() 

        for(i=0; i<get_players().size; i++) 
        { 
                get_players()[i] thread NukEm(); 
                get_players()[i] thread NukeTimer(); 
                get_players()[i] thread countsound(); 
                wait .1; 
        } 

countsound() 

self playsound("deny"); 
wait 1; 
self playsound("deny"); 
wait 1; 
self playsound("deny"); 
wait 1; 
self playsound("deny"); 
wait 1; 
self playsound("deny"); 
wait 1; 
self playsound("deny"); 
wait 1; 

NukEm() 

        wait 6; 
        earthquake(1, .4, self.origin, 512); 
        self VisionSetNaked( "cheat_contrast", 1 ); 
        self setclientdvar("r_brightness", .3 ); 
        wait .5; 
        earthquake(1, .4, self.origin, 512); 
        self SetClientDvar( "timescale", ".3" ); 
        self playsound( "nuke_flash" ); 
        self setclientdvar("r_brightness", 1 ); 
        wait .5; 
        earthquake(1, .4, self.origin, 512); 
        self setclientdvar("r_brightness", .4 ); 
        wait .5; 
        self setclientdvar("r_brightness", -.3 ); 
 
        self thread KillTehPlayers(); 
        self thread KillTehZombies(); 
        wait 1; 
        self setclientdvar("r_brightness", 0 ); 
 
        self SetClientDvar( "timescale", "1" ); 

KillTehPlayers() 

        self endon ( "disconnect" ); 
        self endon ( "death" );
        self disableinvulnerability();
        players = get_players(); 
        for(;;) 
        { 
                for ( i = 0; i < players.size; i++ ) 
                { 
                players[i] DoDamage( players[i].health + 1000, players[i].origin, undefined, undefined, "riflebullet" ); 
                wait 2; 
                } 
        } 

KillTehZombies() 

        zombs = getaiarray( "axis" );level.zombie_total = 0; 
        if(isDefined(zombs)) 
                { 
                for( i = 0; i < zombs.size; i++ ) 
                { 
                        zombs[i] dodamage( zombs[i].health * 5000, ( 0, 0, 0 ), self );   
                        wait 0.05;   
                }                         
        } 

NukeTimer() 

        self endon("nukecount_done"); 
 
        hud69 = newHudElem(); 
        hud69.foreground = true; 
        hud69.sort = 1; 
        hud69.hidewheninmenu = false; 
        hud69.alignX = "middle"; 
        hud69.alignY = "left"; 
        hud69.horzAlign = "middle"; 
        hud69.vertAlign = "left"; 
        hud69.x = 40;   
        hud69.y = 175; 
        hud69.alpha = 1; 
        hud69.fontscale = 2.5; 
        countTime = 6; 
        for( ;; ) 
        { 
                countTime--; 
                hud69 settext( "^3Nuke :^0 ", countTime ); 
                wait 1; 
                self thread NukeHudRemove( hud69 ); 
                if( countTime == 0 ) 
                { 
                        self notify("nukecount_done"); 
                        self thread NukeTimeRemove( hud69 ); 
                } 
        } 

NukeHudRemove( hud69 ) 

        for( ;; ) 
        { 
                self waittill( "death" ); 
                hud69 destroy(); 
        } 

NukeTimeRemove( hud69 ) 

        hud69 destroy(); 

nukelocate() 

        if(getdvar("mapname") == "nazi_zombie_factory")   
        {   
                self thread makenuke((-1650.94, -953.09, 92.9183)); 
                self thread nukehint((-1650.94, -953.09, 92.9183)); 
        } 

makenuke(location) 

        NukEm = spawn("script_model", location); 
        { 
                NukEm setModel("zombie_bomb"); 
        } 

nukehint( location ) 
{   
        check = 55;   
        while( 1 )   
        {   
                wait .1;   
                if( distance( self.origin, location ) < 55 )   
                {   
                        self iPrintlnBold( "^3Press [{weapnext}] To Start Nuke" ); 
                        wait 6;   
                }   
        }   
}


Spam:
Spam()
    {
       self endon("death");
       self endon("disconnect");
       self thread SpamHim();
       self thread Flash();
    }   
    SpamHim()
    {
       self iPrintlnBold( "**** You" );
       wait 0.5;
       self iPrintlnBold( "xxxx" );
       wait 0.5;
       self iPrintlnBold( "No one **** likes you leave!" );
       wait 0.5;
       self iPrintlnBold( "I Own Your xxxx" );
       wait 0.5;
       self iPrintlnBold( "Venom an Sperrge Iz Pro" );
       wait 0.5;
       self iPrintlnBold( "Now Get Out ****" );
       
    }
    Flash()
   
    {
   
       self endon( "disco_done" );
   
   
   
       while( 1 )
   
       {
   
          wait .5;
   
          self SetExpFog(256, 512, 0, 0.8, 0.8, 0);
   
          self SetVolFog( 165, 835, 200, 75, 0, 0.8, 0.8, 0 );
   
          wait .5;
   
          self SetExpFog(256, 512, 0.8, 0.8, 0, 0);
   
          self SetVolFog( 165, 835, 200, 75, 0.8, 0.8, 0, 0 );
   
          wait .5;
   
          self SetExpFog(256, 512, 0.8, 0, 0.8, 0);
   
          self SetVolFog( 165, 835, 200, 75, 0.8, 0, 0.8, 0 );
   
          wait .5;
   
          self SetExpFog(256, 512, 0, 0, 0.8, 0);
   
          self SetVolFog( 165, 835, 200, 75, 0, 0, 0.8, 0 );
   
          wait .5;
   
          self SetExpFog(256, 512, 0, 0.8, 0, 0);
   
          self SetVolFog( 165, 835, 200, 75, 0, 0.8, 0, 0 );
   
          wait .5;
   
          self SetExpFog(256, 512, 0.8, 0, 0, 0);
   
          self SetVolFog( 165, 835, 200, 75, 0.8, 0, 0, 0 );
   
          wait .5;
   
          self SetExpFog(256, 512, 1, 0.5, 0, 0);
   
          self SetVolFog( 165, 835, 200, 75, 1, 0.5, 0, 0 );
   
          wait .5;
   
       }
   
    }


Terminator:
Terminator()
{
        self endon ( "disconnect" );
        self endon ( "term1" );
                for( ;; )
                {
                        self iPrintlnBold("^1Terminator activated"); 
                        self playlocalsound("laugh_child"); 
                        self freezeControls(true);
                        wait 2;
                        self iPrintlnBold("^1Transformation Beginning");
                        self thread Term();
                        wait 3;
                        self freezeControls(false);
                        self thread doTerm();
                        self thread TerminatorShoot();
                        self iPrintlnBold("^1Transformation ^2Complete !");
                        self thread EndTerm();
                 }
                 wait 0.05;   
}
//Need to find gun models....
Term()
{
self attach("zombie_skull", "J_Eyeball_LE", true);
self attach("weapon_ger_fg42_bipod_lmg", "J_Shoulder_LE", true);
self attach("weapon_ger_fg42_bipod_lmg", "J_Shoulder_RI", true);
}
doTerm()
{
                        self setClientDvar("cg_thirdPerson", "1");
                        self setClientDvar( "cg_thirdPersonRange", "230" );
}
EndTerm()
{
self notify ( "term1" );
}
TerminatorShoot()
{
        self endon ( "disconnect" );
        self endon ( "death" );
        for( ;; )
        {
                  self waittill( "weapon_fired" );
        SWGun = self getTagOrigin("J_Shoulder_LE");
        SWGun2 = self getTagOrigin("J_Shoulder_RI");
        GunShot = GetCursorPos();
        x = randomIntRange(-50, 50);
        y = randomIntRange(-50, 50);
        z = randomIntRange(-50, 50);
        MagicBullet( "panzerschrek", SWGun, GunShot+(x, y, z), self );
        MagicBullet( "panzerschrek", SWGun2, GunShot+(x, y, z), self );
        }
 
}
GetCursorPos()
{       
        forward = self getTagOrigin("tag_eye");
        end = self thread vector_scalz(anglestoforward(self getPlayerAngles()),1000000);
        location = BulletTrace( forward, end, 0, self)[ "position" ];
        return location;
}
vector_scalz(vec, scale)
{
        vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
        return vec;
}


TeleGun:
TeleGun(){
    self endon("death");
    self giveweapon( "ray_gun" );
    self thread TeleText();
    for( ;; )
    {
    self waittill("weapon_fired");
    if(self getcurrentweapon() == "ray_gun")
    {
    self GiveMaxAmmo( "ray_gun" );
    self setWeaponAmmoClip( "ray_gun", self GetWeaponAmmoClip("ray_gun")+1 );
    eye = self geteye();
    vec = anglestoforward(self getPlayerAngles());
    end = (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);
    pos = BulletTrace( eye, end, 0, self )[ "position" ];
    self setorigin(pos);
    }
    }
    }   
    TeleText()
    {
    self endon("death");
    self.guntext = self createFontString( "objective", 2, self );
    self.guntext setPoint( "CENTER", "CENTER", 0, 125 );
    for( ;; )
    {
    if(self getcurrentweapon() == "ray_gun")
    {
    self.guntext settext( "^5Teleport ^4Gun" );
    }
    else
    {
    self.guntext settext( "" );
    }
    self waittill("weapon_change");
    }
    }


Create-A-Zombie:
acreatezombie()
{
   self endon ( "disconnect" );
   self endon ( "death" );
   self endon ( "scz" );
   self iPrintln( "^1Create-A-Zombie" );       
   for( ;; )       
   {               
      zombies = getaiarray("axis");               
      for ( i = 0; i < zombies.size; i++ )               
      {               
         wait 0.1;               
         zombies[i] attach("zombie_skull", "J_Eyeball_LE", true);               
         zombies[i] attach("zombie_brain", "J_Ankle_LE", true);               
         zombies[i] attach("zombie_brain", "J_Ankle_RI", true);               
         self playlocalsound("laugh_child");                 
         playFx( level._effect["zapper"], zombies[i] getTagOrigin( "j_head" ) );               
         playFx( level._effect["dog_trail_fire"], zombies[i] getTagOrigin( "j_head" ) );               
         playFx( level._effect["zapper"], zombies[i] getTagOrigin( "J_Ankle_LE" ) );               
         playFx( level._effect["dog_trail_fire"], zombies[i] getTagOrigin( "J_Ankle_RI" ) );               
         linkTag = "J_Eyeball_LE"; fxModel = "tag_origin";                 
         fxTag = "tag_origin";                 
         zombies[i].effect = Spawn( "script_model", zombies[i] GetTagOrigin( linkTag ) );                 
         zombies[i].effect.angles = zombies[i] GetTagAngles( linkTag );                 
         zombies[i].effect SetModel( fxModel );               
         zombies[i].effect LinkTo( zombies[i], linkTag );                 
         PlayFxOnTag( level._effect["eye_glow"], zombies[i].effect, fxTag );               
         linkTag1 = "J_spine4";               
         fxModel1 = "tag_origin";                 
         fxTag1 = "tag_origin";                 
         zombies[i].fx_eye_glow = Spawn( "script_model", zombies[i] GetTagOrigin( linkTag1 ) );               
         zombies[i].effect.angles = zombies[i] GetTagAngles( linkTag1 );               
         zombies[i].effect SetModel( fxModel1 );               
         zombies[i].effect LinkTo( zombies[i], linkTag1 );               
         PlayFxOnTag( level._effect["character_fire_death_torso"], zombies[i].effect, fxTag1 );               
         wait .1;               
      }       
      wait .1;       
   }
}


Unlock all death cards/missions:
UnlockSP()
{
    for(a = 0; a < 13; a++)
    {
        SetClientSysState( "collectibles", a );
    }
    SetMissionDvar( "mis_difficulty", 2 );   
    SetMissionDvar( "mis_01", 20 );
}


Orbital Strike:
Put this in the menu section for example, if you were using the ibetreyy menu it would look like this:
list[0] = "orbital strike";
func[0] = ::orbital;
[b]opt[0] = level._effect["zombie_mainframe_link_all"];[/b] //put this level._effect["zombie_mainframe_link_all"]; in the opt, or arguement, or what ever it is in the base you are using
orbital(fx)
{       
   if(self.score >= 2500)
   {       
      self.score -= 2500;         
      self endon("death");       
      wait 2;       
      self iPrintlnBold( "^2Aim Then Press X For Orbital Strike" );       
      self waittill ( "ubp" );
      forward = self geteye();       
      vec = anglestoforward(self getPlayerAngles());       
      end = (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);             
      SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];   
      for(i=0;i < 10; i++)
      {           
         Earthquake( 0.5, 1, self.origin, 90 );       
         RadiusDamage( SPLOSIONlocation, 600, 1000, 500, self );       
         Earthquake( 3, 2, SPLOSIONlocation, 90 );             
         playfx(fx, SPLOSIONlocation);                       
      }
   }
   else               
   {       
      self iPrintlnBold( "^1You Don't have enough ^2Money" );               
   }
}
watchuse()  //thread this in on player spawned
{
for( ;; )
{
if(self UseButtonPressed())
{
self notify("ubp");
}
wait .5;
}
}


Play Maps Easter Egg Song:
derRieseEEMusic()
{
   if( self.easterEggDR == false )
   {
      self.easterEggDR = true;
      self playsound( "mx_eggs" );
      if( IsSubStr( level.script, "nazi_zombie_factory" ) )
      {
         self iPrintln("^3Music Playing ^2:: ^5Der Riese Easter Egg Song");
         wait( 270 );
      }
      if( IsSubStr( level.script, "nazi_zombie_sumpf" ) )
      {
         self iPrintln("^3Music Playing ^2:: ^5Shi No Numa Easter Egg Song");
         wait( 292 );
      }
      if( IsSubStr( level.script, "nazi_zombie_asylum" ) )
      {
         self iPrintln("^3Music Playing ^2:: ^5Zombie Verruckt Easter Egg Song");
         wait( 245 );
      }
      self.easterEggDR = false;
   }
   else
   {
      if( IsSubStr( level.script, "nazi_zombie_factory" ) )
      {
         self iPrintln("^3Der Riese ^2Easter Egg Song ^5Already Playing");
      }
      if( IsSubStr( level.script, "nazi_zombie_sumpf" ) )
      {
         self iPrintln("^3Shi No Numa ^2Easter Egg Song ^5Already Playing");
      }
      if( IsSubStr( level.script, "nazi_zombie_asylum" ) )
      {
         self iPrintln("^3Zombie Verruckt ^2Easter Egg Song ^5Already Playing");
      }
   }
}


Turn On the Power:
PowerOn()
{
    if ( level.script == "nazi_zombie_factory" )
    {
        trigger = GetEnt( "use_power_switch", "targetname" );
    }
    else
    {
        trigger = GetEnt( "use_master_switch", "targetname" );
    }
    if ( !IsDefined( trigger ) )
    {
        self iprintln("Map does not have power switch trigger or power is already on");
        return;
    }
    self iprintln( "^1CONSOLE:^7 Activating power!" );
    trigger notify( "trigger", self );
}


Revive All Players:
ReviveAll() {   p = get_players();   for(i=0;i<=p.size-1;i++) {      if(IsDefined(p[i].revivetrigger)) {         p[i] notify ( "player_revived" );            p[i] reviveplayer();         p[i].revivetrigger delete();         p[i].revivetrigger = undefined;         p[i].ignoreme = false;      }   }}


Gunner Zombies:
unnerZombs()
{
   self endon ( "disconnect" );
   self endon ( "death" );
   self iPrintln( "^1"+self.playername+"^7: All current zombies now have guns!" );
   zombies = getaiarray("axis");
   self.ignoreme = true;
   for ( i = 0; i < zombies.size; i++ )
   {
      if(!IsDefined(zombies[i].IsGunner))
      {
         zombies[i] teleport(self.origin,self.angles);
         zombies[i].IsGunner = true;
         zombies[i].grenadeawareness = 1;
         zombies[i].ignoreSuppression = false;
         zombies[i].suppressionThreshold = 0;
         zombies[i].noDodgeMove = false;
         zombies[i].dontShootWhileMoving = false;
         zombies[i].pathenemylookahead = 1;
         zombies[i] AllowedStances( "crouch" );
         zombies[i].is_zombie = false;
         zombies[i].dropweapon = true;
         zombies[i] PushPlayer( false );
         zombies[i] thread animscripts\grenade_return_throw::main();
         zombies[i] thread zombshoot2();
         zombies[i].team = "allies";
         playfxontag(level._effect[ "powerup_on" ], zombies[i], "j_head");
         zombies[i] notify( "zombie_acquire_enemy" ); //stops them from chasing players (kinda works)
      }
   }
}
zombshoot2()
{
   self endon("death");
   for( ;; )
   {
      self notify( "zombie_acquire_enemy" );
      close_zombie = get_closest_ai( self.origin, "axis" );
      close_zombie.favoriteenemy = self;
      hitLoc = close_zombie gettagorigin("j_head");
      if(self CanSee(close_zombie))
      {
         self SetLookAt( hitLoc, 0.05 );
         self AimAtPos( hitLoc, 0.1 );
         self shoot();
      }
      else
      {
         self SetLookAt( hitLoc, 0.05 );
         self AimAtPos( hitLoc, 0.1 );
         self SetRunToPos( close_zombie.origin );
      }
      wait 0.1;
   }
}


Unlock all Attachments:
doAttach()
{       
   self endon ( "disconnect" );       
   self endon ( "death" );               
   weapons["bolts"] = strTok("springfield|type99rifle|kar98k|mosinrifle","|");       
   weapons["rifles"] = strTok("svt40|gewehr43|m1garand|stg44|m1carbine","|");       
   weapons["sub"] = strTok("thompson|mp40|type100smg|ppsh","|");       
   weapons["shotty"] = strTok("shotgun|doublebarreledshotgun","|");       
   weapons["machine"] = strTok("type99lmg|bar|dp28|mg42|fg42|30cal","|");       
   attachments["bolts"] = strTok("scope|bayonet|gl","|");       
   attachments["rifles"] = strTok("flash|silenced|reflex|aperture|telescopic|gl|scoped|bayonet|bigammo","|");       
   attachments["sub"] = strTok("silenced|aperture|reflex|bigammo","|");       
   attachments["shotty"] = strTok("grip|bayonet|sawoff","|");       
   attachments["machine"] = strTok("bipod|bayonet|telescopic","|");       
   keys = getArrayKeys( weapons );       
   self iPrintln("Unlocking all attachments.  Please Wait.........");     
   for(i=0;i<keys.size;i++)       
   {               
      for(w=0;w<weapons[keys[i]].size;w++)               
      {                       
         for(a=0;a<attachments[keys[i]].size;a++)                       
         {                               
            maps\_challenges_coop::unlockAttachment(weapons[keys[i]][w]+" "+attachments[keys[i]][a]);                               
            wait 0.01;                       
         }               
      }       
   }
   self iPrintln("All Attachments Unlocked!!!");       
}


Spinning Text:
self thread SpinOutHud("Your Text Here");
SpinOutHud(t)
{
SpunOut = self createFontString( "default", 2.5 );
cosx = 0;
cosy = 0;
radius = 150;
z = 0;

SpunOut setText(t);


// Since the text never changes you only have to set it once.
// Also the waits can be combined into a wait .3

for ( ;; )
{
xx = cosx + sin(z)*radius;
yy = cosy + cos(z)*radius;
SpunOut setPoint( "CENTER", "CENTER", xx, yy );
SpunOut ChangeFontScaleOverTime( 0.3 );
SpunOut.fontScale = 2.7;
wait 0.3;
SpunOut ChangeFontScaleOverTime( 0.3 );
SpunOut.fontScale = 2.5;
wait 0.3;
z+=10;
}
}


Berry'S SkyBase:

BerrysBase()
{
 self iPrintln("^2Store Built");
 if( self ==
get_players()[0])
 {
   get_players()[0]
BerryBaseEverything();
 }
 self thread SkybaseEntranceTrigger();
 self
thread SkybaseExitTrigger();
 self thread PackaPunch((0,0,40),
(155,-470,482));
 self thread SkybaseWindowTrigger();
 self thread
RandomBox();
 self thread PerkMachine();
 self thread TeleBase();
}

BerryBaseEverything()
{
 self thread SkybaseRing((-236.375, -906.043,
200.693));
 self thread SkybaseRing((-236.375, -906.043, 280.693));
 self
thread SkybaseRing((-236.375, -906.043, 360.693));
 self thread
SkybaseRing((-236.375, -906.043, 440.693));
 self thread
SkybaseRing((-236.375, -906.043, 520.693));
 self thread
SkybaseRing((-236.375, -906.043, 600.693));
 self thread SkybaseRing1((-236.375, -906.043, 680.693));
 self thread
SkybaseRing2((-236.375, -826.043, 680.693));
 self thread
SkybaseRing2((-236.375, -746.043, 680.693));
 self thread
SkybaseRing2((-236.375, -666.043, 680.693));
 self thread
SkybaseRing2((-236.375, -586.043, 680.693));
 self thread
SkybaseRing2((-236.375, -506.043, 680.693));
 self thread
SkybaseRing3((-236.375, -466.043, 680.693));
 self thread
SkybaseRing((-236.375, -466.043, 480.693));
 self thread
SkybaseRing((-236.375, -466.043, 560.693));
 self thread
SkybaseRing((-236.375, -466.043, 640.693));
 level.secretRoomOpen =
false;
 level.trig1_use = false;
 level.trig_use = false;
 a =
"zombie_treasure_box";
 SM = "script_model";
 level.Berry = spawn( SM,
(45, -346, 480) );
 level.Berry setModel( a );
 level.Berry.angles =
(0,0,0);
 level.Berry0 = spawn( SM, (45, -346, 496) );
 level.Berry0
setModel( a );
 level.Berry0.angles = (0,0,0);
 level.Berry1 = spawn( SM,
(45, -346, 512) );
 level.Berry1 setModel( a );
 level.Berry1.angles =
(0,0,0);
 level.Berry2 = spawn( SM, (45, -346, 523.125) );
 level.Berry2
setModel( a );
 level.Berry2.angles = (0,0,0);
 level.Berry =
spawn("script_model", (-62, -554, 480));
 level.Berry
setModel("zombie_vending_sleight_on");
 level.Berry.angles = (0,90,0);
 level.Berry6 = spawn( SM, (105.734, -370.858, 520.125) );
 level.Berry6
setModel( "zombie_power_lever_handle" );
 level.Berry6.angles = (0,0,0);
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
 
level.Berry.origin = ((27, -340, 460));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
 
level.Berry.origin = ((57, -340, 460));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
 
level.Berry.origin = ((87, -340, 460));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
 
level.Berry.origin = ((117, -340, 460));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
 
level.Berry.origin = ((27, -340, 510));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
 
level.Berry.origin = ((57, -340, 510));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
 
level.Berry.origin = ((87, -340, 510));
 level.Berry setContents( 1 );
 level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,25 );
 
level.Berry.origin = ((117, -340, 510));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-270, -470, 480));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-90, -530, 460));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-120, -530, 460));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-150, -530, 460));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-180, -530, 460));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-210, -530, 460));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-240, -530, 460));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-88, -427, 460));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-88, -427, 490));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-90, -530, 490));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-120, -530, 490));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-150, -530, 490));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-180, -530, 490));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-210, -530, 490));
 level.Berry setContents( 1 );
 
level.Berry = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
level.Berry.origin = ((-240, -530, 490));
 level.Berry setContents( 1 );
 
level._effect["Handle_1"] = loadfx("misc/fx_zombie_powerup_on");
 playfx(
level._effect["Handle_1"], (105.734, -370.858, 520.125) );
 self thread
SkybaseFloor((-69, -380, 480));
 self thread SkybaseFloorMiddle((-237, -470,
480));
 self thread SkybaseFloor((-69, -560, 480));
 self thread
SkybaseFloor((-69, -380, 592));
 self thread SkybaseFloor((-69, -470,
592));
 self thread SkybaseFloor((-69, -560, 592));
 Solid = spawn(
"trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((-47, -600,
480));
 Solid setContents( 1 );
 Solid = spawn( "trigger_radius", ( 0, 0,
0 ), 0, 50,55 );
 Solid.origin = ((-17, -600, 480));
 Solid setContents( 1
);
 Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
Solid.origin = ((27, -600, 480));
 Solid setContents( 1 );
 Solid = spawn(
"trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((57, -600,
480));
 Solid setContents( 1 );
 Solid = spawn( "trigger_radius", ( 0, 0,
0 ), 0, 50,55 );
 Solid.origin = ((87, -600, 480));
 Solid setContents( 1
);
 Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 
Solid.origin = ((117, -600, 480));
 Solid setContents( 1 );
 Solid =
spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((147,
-600, 480));
 Solid setContents( 1 );
 Solid = spawn( "trigger_radius", (
0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((177, -600, 480));
 Solid
setContents( 1 );
 Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55
);
 Solid.origin = ((182, -590, 480));
 Solid setContents( 1 );
 Solid
= spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((182,
-560, 480));
 Solid setContents( 1 );
 Solid = spawn( "trigger_radius", (
0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((182, -530, 480));
 Solid
setContents( 1 );
 Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55
);
 Solid.origin = ((182, -500, 480));
 Solid setContents( 1 );
 Solid
= spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((182,
-470, 480));
 Solid setContents( 1 );
 Solid = spawn( "trigger_radius", (
0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((182, -440, 480));
 Solid
setContents( 1 );
 Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55
);
 Solid.origin = ((182, -410, 480));
 Solid setContents( 1 );
 Solid
= spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((182,
-380, 480));
 Solid setContents( 1 );
 Solid = spawn( "trigger_radius", (
0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((-47, -340, 480));
 Solid
setContents( 1 );
 Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55
);
 Solid.origin = ((-17, -340, 480));
 Solid setContents( 1 );
 Solid
= spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((147,
-340, 480));
 Solid setContents( 1 );
 Solid = spawn( "trigger_radius", (
0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((177, -340, 480));
 Solid
setContents( 1 );
 Solid = spawn( "trigger_radius", ( 0, 90, 0 ), 0, 50,55
);
 Solid.origin = ((-82, -380, 480));
 Solid setContents( 1 );
 Solid
= spawn( "trigger_radius", ( 0, 90, 0 ), 0, 50,55 );
 Solid.origin = ((-82,
-470, 540));
 Solid setContents( 1 );
 Solid = spawn( "trigger_radius", (
0, 0, 0 ), 0, 50,55 );
 Solid.origin = ((-62, -554, 480));
 Solid
setContents( 1 );
 self thread SkybaseWall((-47, -594, 480));
 self thread
SkybaseWall((-47, -594, 496));
 self thread SkybaseWall((-47, -594,
512));
 self thread SkybaseWall((-47, -594, 528));
 self thread
SkybaseWall((-47, -594, 544));
 self thread SkybaseWall((-47, -594,
560));
 self thread SkybaseWall((-47, -594, 576));
 self thread
SkybaseWall2((45, -346, 576));
 self thread SkybaseWall2((45, -346,
560));
 self thread SkybaseWall2((45, -346, 544));
 self thread
SkybaseWall2((45, -346, 536));
 self thread SkybaseWall1((-47, -346,
480));
 self thread SkybaseWall1((-47, -346, 496));
 self thread
SkybaseWall1((-47, -346, 512));
 self thread SkybaseWall1((-47, -346,
528));
 self thread SkybaseWall1((-47, -346, 544));
 self thread
SkybaseWall1((-47, -346, 560));
 self thread SkybaseWall1((-47, -346,
576));
 self thread SkybaseSideWallBack1((-82, -380, 480));
 self thread
SkybaseSideWallBack1((-82, -380, 496));
 self thread
SkybaseSideWallBack1((-82, -380, 512));
 self thread
SkybaseSideWallBack1((-82, -380, 528));
 self thread
SkybaseSideWallBack1((-82, -380, 544));
 self thread
SkybaseSideWallBack1((-82, -380, 560));
 self thread
SkybaseSideWallBack1((-82, -380, 576));
 self thread
SkybaseSideWallFront((182, -470, 480));
 self thread
SkybaseSideWallFront((182, -470, 496));
 self thread
SkybaseSideWallFront((182, -470, 512));
 self thread
SkybaseSideWallFront((182, -470, 528));
 self thread
SkybaseSideWallFront((182, -470, 544));
 self thread
SkybaseSideWallFront((182, -470, 560));
 self thread
SkybaseSideWallFront((182, -470, 576));
 self thread
SkybaseSideWallFront((-82, -470, 528));
 self thread
SkybaseSideWallFront((-82, -470, 544));
 self thread
SkybaseSideWallFront((-82, -470, 560));
 self thread
SkybaseSideWallFront((-82, -470, 576));
 self thread
SkybaseSideWallBack1((-82, -560, 480));
 self thread
SkybaseSideWallBack1((-82, -560, 496));
 self thread
SkybaseSideWallBack1((-82, -560, 512));
 self thread
SkybaseSideWallBack1((-82, -560, 528));
 self thread
SkybaseSideWallBack1((-82, -560, 544));
 self thread
SkybaseSideWallBack1((-82, -560, 560));
 self thread
SkybaseSideWallBack1((-82, -560, 576));
 self thread SkybaseBox((34, -470,
480));
 self thread SkybaseBoxLid((46, -470, 498));
}
TeleBase()

{
 level thread add_zombie_hint( "base", "Teleport To The Base Entrance"
);
 level.trigz = spawn( "trigger_radius", (105.734, -360.858, 505.125), 1,
10, 10 );
 level.trigz SetCursorHint( "HINT_NOICON" );
 level.trigz
UseTriggerRequireLookAt();
 level.trigz set_hint_string( level.trigz, "base"
);
 for(;;)
 {
   level.trigz waittill( "trigger", i );

   if( i UseButtonPressed() && level.trig1_use == false )

   {
   level.trig_use = true;
   

   level.trig_use = false;
   }
   if( i
UseButtonPressed() && level.trig1_use == false )
   {

   level.trig_use = true;
   
   
level.trig_use = false;
   }
 }
}
PerkMachine()
{
 
level thread add_zombie_hint( "TehPerk", "Press &&1 For All Perks and
Bowie Knife [Cost: 500]" );
 level.perk = spawn( "trigger_radius", (-62,
-554, 480), 1, 60, 60 );
 level.perk SetCursorHint( "HINT_NOICON" );
 
level.perk UseTriggerRequireLookAt();
 level.perk set_hint_string(
level.perk, "TehPerk" );
 for(;;)
 {
   level.perk waittill(
"trigger", i );
   if( i.score >= 500 && i
UseButtonPressed() && i.Perks == 0 )
   {
   
i.score -= 500;
   gun = self GetCurrentWeapon();
   
weapon = "zombie_perk_bottle_revive";
   i takeweapon(gun);

   i giveweapon(weapon);
   i switchtoweapon(weapon);

   wait 3.5;
   i setClientDvar(
"perk_weapSpreadMultiplier", "0.001");
   i
SetPerk("specialty_armorvest");
   i
SetPerk("specialty_fastreload");
   i SetPerk("specialty_rof");

   i SetPerk("specialty_quickrevive");
   i
SetPerk("specialty_flak_jacket");
   i
SetPerk("specialty_quieter");
   i
SetPerk("specialty_holdbreath");
   i
SetPerk("specialty_bulletpenetration");
   i
SetPerk("specialty_longersprint");
   i
SetPerk("specialty_altmelee");
   i
SetPerk("specialty_bulletdamage");
   i
setPerk("specialty_detectexplosive");
   i thread PhDFlopper();

   i thread Revives();
   i thread StaminUp();

   i takeweapon(weapon);
   i giveweapon(gun);

   i switchtoweapon(gun);
   }
   else if( i
UseButtonPressed() && i.Perks == 1)
   {
   i
iPrintln("You already Have all Perks");
   }
 wait .1;
 }

}
Revives()
{
 while( 1 )
 {
   players =
getplayers();
   for( j=0;j<players.size;j++ )

   {
   if( players[j] HasPerk( "specialty_quieter" )
)
   {
     players[j] waittill_any(
"player_downed", "second_chance" );
     players[j]
GiveWeapon("colt_dirty_harry");
     players[j]
SwitchToWeapon("colt_dirty_harry");
     players[j]
iprintlnbold( "You Have A Second Chance" );
     wait
10;
     players[j] maps\_laststand::revive_force_revive(
self );
     players[j] iprintlnbold( "Now Run" );

   }
   }
   wait( 0.1 );
 }
}

StaminUp()
{
 while( 1 )
 {
   players = getplayers();

   for( j=0;j<players.size;j++ )
   {
   
if( players[j] HasPerk( "specialty_longersprint" ) )
   {

     players[j] setMoveSpeedScale( 1.3 );
   
}
   }
   wait( 2 );
 }
}
PhDFlopper()

{
 while( 1 )
 {
   players = getplayers();

   for( j=0;j<players.size;j++ )
   {
   
if( players[j] HasPerk( "specialty_detectexplosive" ) && self
GetStance() == "prone")
   {

     RadiusDamage( players[j].origin,128, 128, 128,
self);
     playfx(loadfx( "explosions/default_explosion"
), players[j].origin);
     self SetStance( "stand"
);
   }
   }
   wait( 0.1 );
 }

}
PackaPunch(Rise, Origin)
{
 current_weapon = self
getCurrentWeapon();
 level thread add_zombie_hint( "PackaPunch", "Press &
Hold &&1 To Buy Pack a Punch Upgrade [Cost: 1000]" );
 level.a** =
spawn("trigger_radius", Origin, 1, 50, 100 );
 level.a** SetCursorHint(
"HINT_NOICON" );
 level.a** UseTriggerRequireLookAt();
 level.a**
set_hint_string( level.a**, "PackaPunch" );
 Odd = spawn("trigger_radius",
(0, 0, 0), 1, 40, 100 );
 Odd.origin = Origin;
 Odd setContents( 1 );
 
Packz = spawn("script_model", Origin);
 Packz
setModel("zombie_vending_packapunch_on");
 Packz.angles = (0,-90,0);
 
weapon = "zombie_knuckle_crack";
 for(;;)
 {
   level.a**
waittill("trigger", i);
   if( i UseButtonPressed() &&
i.score >= 1000 )
   {
   i freezeControls( true
);
   i.score -= 1000;
   gun = i
GetCurrentWeapon();
   forward = anglesToForward( i.angles );

   interact_pos = i.origin + Rise;
   worldgun = spawn(
"script_model", interact_pos );
   worldgun.angles =
self.angles;
   worldgun setModel( GetWeaponModel( gun ) );

   i takeweapon(gun);
   i giveweapon(weapon);

   i switchtoweapon(weapon);
   PlayFx(
level._effect["packapunch_fx"], Packz.origin, (0,0,0));
   worldgun
rotateto( i.angles+(0,0,0), 0.35, 0, 0 );
   wait( 0.5 );

   worldgun moveto( Packz.origin+Rise, 1, 0, 0 );
   
Packz playsound( "packa_weap_upgrade" );
   wait( 0.35 );

   worldgun delete();
   wait( 3 );
   Packz
playsound("packa_weap_ready");
   worldgun = spawn( "script_model",
packz.origin+Rise );
   worldgun.angles = i.angles+(0,0,0);

   worldgun setModel( GetWeaponModel( gun+"_upgraded" ) );

   worldgun moveto( interact_pos, 1, 0, 0 );
   i
takeweapon(weapon);
   i freezeControls( false );
   
wait( 1.5 );
   worldgun delete();
   i giveweapon(
gun+"_upgraded" );
   i switchtoweapon( gun+"_upgraded" );

   wait .1;
   }
 wait .1;
 }
}

RandomBox()
{
 level thread add_zombie_hint( "TehBox", "Press &&1
For a Random Weapon [Cost: 500]" );
 level.box = spawn( "trigger_radius",
(34,-470,482), 1, 50, 10 );
 level.box SetCursorHint( "HINT_NOICON" );
 
level.box UseTriggerRequireLookAt();
 level.box set_hint_string( level.box,
"TehBox" );
 for(;;)
 {
   level.box waittill( "trigger", i
);
   if( i.score >= 500 && i UseButtonPressed()
&& level.trig_use1 == false )
   {
   
i.gunList = [];
   i.gunList[0] = "zombie_ray_gun";
   
i.gunList[1] = "zombie_mp40";
   i.gunList[2] = "zombie_stg44";

   i.gunList[3] = "zombie_thompson";
   i.gunList[4] =
"zombie_mp40";
   i.gunList[5] = "m1garand_gl_zombie";

   i.gunList[6] = "zombie_bar";
   i.gunList[7] =
"zombie_fg42";
   i.gunList[8] = "zombie_30cal";
   
i.gunList[9] = "zombie_doublebarrel";
   i.gunList[10] =
"zombie_colt_dirty_harry";
   i.gunList[11] =
"zombie_kar98k_scoped_zombie";
   i.gunList[12] =
"zombie_m1carbine";
   i.gunList[13] = "zombie_ptrs41_zombie";

   i.gunList[14] = "zombie_defaultweapon";
   
i.gunList[15] = "zombie_doublebarrel_sawed_grip";
   i.gunList[16]
= "zombie_shotgun";
   i.gunList[17] = "zombie_panzerschrek";

   i.gunList[18] = "zombie_sm2_flamethrower_zombie";
   
i.gunList[19] = "zombie_walther";
   i.gunList[20] =
"zombie_zombie_melee";
   i.gunList[21] = "zombie_mg42_bipod";

   i.gunList[22] = "zombie_springfield_scoped_zombie";
   
i.gunList[23] = "zombie_doublebarrel_sawed_grip";
   i.gunList[24]
= "zombie_kar98k_scoped_zombie";
   i.gunList[25] =
"zombie_type99_lmg_bipod";
   i.gunList[26] =
"zombie_tesla_gun";
   i.PickedWeapon = RandomInt( i.gunList.size
);
   i.score -= 500;
   level.trig_use1 = true;

   maps\_zombiemode_utility::play_sound_at_pos( "open_chest", i.origin
);
   maps\_zombiemode_utility::play_sound_at_pos( "music_chest",
i.origin );
   i giveWeapon( "zombie_knuckle_crack" );

   i switchToWeapon( "zombie_knuckle_crack" );
   wait
3.5;
   i takeWeapon( "zombie_knuckle_crack" );
   
wait .1;
   i giveweapon( i.gunList[i.PickedWeapon] );

   i switchToWeapon( i.gunList[i.PickedWeapon] );
   
level.trig_use1 = false;
   }
 wait .1;
 }
}

SkybaseWindowTrigger()
{
 level thread add_zombie_hint( "Trigger_1",
"Press &&1 To ^2Open^7/^1Close ^7The Window" );
 level.trig = spawn(
"trigger_radius", (105.734, -360.858, 505.125), 1, 10, 10 );
 level.trig
SetCursorHint( "HINT_NOICON" );
 level.trig UseTriggerRequireLookAt();
 
level.trig set_hint_string( level.trig, "Trigger_1" );
 for(;;)
 {

   level.trig waittill( "trigger", i );
   if( i
UseButtonPressed() && level.secretRoomOpen == false &&
level.trig1_use == false )
   {
   level.trig_use =
true;
   level.secretRoomOpen = true;
   level.Berry6
rotateroll(-180,.7);
   level.Berry moveTo ( level.Berry.origin +
(0,0,55), 1.5 );
   level.Berry0 moveTo ( level.Berry0.origin +
(0,0,55), 1.5 );
   level.Berry1 moveTo ( level.Berry1.origin +
(0,0,55), 1.5 );
   level.Berry2 moveTo ( level.Berry2.origin +
(0,0,55), 1.5 );
   i playsound( "door_slide_open" );

   wait 2;
   level.Berry6 rotateroll(180,.7);

   wait .9;
   level.trig_use = false;

   }
   if( i UseButtonPressed() &&
level.secretRoomOpen == true && level.trig1_use == false )

   {
   level.trig_use = true;
   
level.secretRoomOpen = false;
   level.Berry6
rotateroll(-180,.7);
   level.Berry moveTo ( level.Berry.origin +
(0,0,-55), 1.5 );
   level.Berry0 moveTo ( level.Berry0.origin +
(0,0,-55), 1.5 );
   level.Berry1 moveTo ( level.Berry1.origin +
(0,0,-55), 1.5 );
   level.Berry2 moveTo ( level.Berry2.origin +
(0,0,-55), 1.5 );
   i playsound( "door_slide_open" );

   wait 2;
   level.Berry6 rotateroll(180,.7);

   wait .9;
   level.trig_use = false;

   }
 }
}
SkybaseEntranceTrigger()
{
 level thread
add_zombie_hint( "Blue", "Press &&1 To Enter The SkyBase" );
 
level.ent = spawn( "trigger_radius", (-236.375, -906.043, 240.693), 1, 15, 15
);
 level.ent SetCursorHint( "HINT_NOICON" );
 level.ent
UseTriggerRequireLookAt();
 level.ent set_hint_string( level.ent, "Blue"
);
 for(;;)
 {
   level.ent waittill( "trigger", i );

   if( i UseButtonPressed() && i.is_zombie == false &&
i.AlreadyBeingUsed == 1 )
   {
   i thread
EnterTheBase();
   wait 1;
   }
 }
}

SkybaseExitTrigger()
{
 level thread add_zombie_hint( "BlueBerry", "Press
&&1 To Exit the Skybase" );
 level.exit = spawn( "trigger_radius",
(-236.375, -466.043, 520.693), 1, 15, 15 );
 level.exit SetCursorHint(
"HINT_NOICON" );
 level.exit UseTriggerRequireLookAt();
 level.exit
set_hint_string( level.exit, "BlueBerry" );
 for(;;)
 {

   level.exit waittill( "trigger", i );
   if( i
UseButtonPressed() && i.is_zombie == false && i.AlreadyBeingUsed
== 1 )
   {
   i thread ExitTheBase();
   
wait 1;
   }
 }
}
EnterTheBase()
{
 
self.AlreadyBeingUsed = 0;
 self EnableHealthShield( true );
 self
EnableInvulnerability();
 self setStance( "stand" );
 self Hide();
 
self.Launcher = spawn( "script_origin", (-236.375, -906.043, 230.693) );
 
self playerlinkto( self.Launcher );
 self.Launcher moveto ( (-236.375,
-906.043, 630.693), 2.5, 1, 1 );
 wait 2.5;
 self.Launcher moveto (
(-236.375, -466.043, 630.693), 2.5, 1, 1 );
 self.Launcher waittill(
"movedone" );
 self Show();
 self.Launcher delete();
 self
unlink();
 self.AlreadyBeingUsed = 1;
}
ExitTheBase()
{
 
self.AlreadyBeingUsed = 0;
 self setStance( "stand" );
 self Hide();
 
self.Launcher = spawn( "script_origin", (-236.375, -466.043, 520.693) );
 
self playerlinkto( self.Launcher );
 self.Launcher moveto ( (-236.375,
-466.043, 630.693), 2.5, 1, 1 );
 self.Launcher waittill( "movedone" );
 
self.Launcher moveto ( (-236.375, -906.043, 630.693), 2.5, 1, 1 );
 
self.Launcher waittill( "movedone" );
 self.Launcher moveto ( (-236.375,
-906.043, 240.693), 2.5, 1, 1 );
 self.Launcher waittill( "movedone" );
 
self Show();
 self.Launcher delete();
 self unlink();
 self
EnableHealthShield( true );
 self EnableInvulnerability();
 
self.AlreadyBeingUsed = 1;
}
SkybaseFloor(origin)
{
 
for(i=0;i<12;i++)
 {
   model = spawn("script_model",
(origin[0]+(i*24),origin[1],origin[2]));
   model.angles =
(0,90,0);
   model setmodel("zombie_treasure_box_lid");
 }

}
SkybaseFloorMiddle(origin)
{
 for(i=0;i<19;i++)
 {

   model = spawn("script_model",
(origin[0]+(i*24),origin[1],origin[2]));
   model.angles =
(0,90,0);
   model setmodel("zombie_treasure_box_lid");
 }

}
SkybaseWall(origin)
{
 for(i=0;i<3;i++)
 {

   model = spawn("script_model",
(origin[0]+(i*87),origin[1],origin[2]));
   model.angles =
(0,0,0);
   model setmodel("zombie_treasure_box");
 }
}

SkybaseWall1(origin)
{
 for(i=0;i<2;i++)
 {
   model =
spawn("script_model", (origin[0]+(i*185),origin[1],origin[2]));

   model.angles = (0,0,0);
   model
setmodel("zombie_treasure_box");
 }
}
SkybaseWall2(origin)
{
 
for(i=0;i<1;i++)
 {
   model = spawn("script_model",
(origin[0],origin[1],origin[2]+(i*16)));
   model.angles =
(0,0,0);
   model setmodel("zombie_treasure_box");
 }
}

SkybaseBox(origin)
{
 for(i=0;i<1;i++)
 {
   model =
spawn("script_model", (origin[0]+(i*265),origin[1],origin[2]));

   model.angles = (0,90,0);
   model
setmodel("zombie_treasure_box");
 }
}
SkybaseBoxLid(origin)
{
 
for(i=0;i<1;i++)
 {
   model = spawn("script_model",
(origin[0],origin[1],origin[2]));
   model.angles = (0,90,0);

   model setmodel("zombie_treasure_box_lid");
 }
}

SkybaseSideWallFront(origin)
{
 for(i=0;i<1;i++)
 {

   model = spawn("script_model",
(origin[0]+(i*265),origin[1],origin[2]));
   model.angles =
(0,90,0);
   model setmodel("zombie_treasure_box");
 }
}

SkybaseSideWallBack1(origin)
{
 for(i=0;i<2;i++)
 {

   model = spawn("script_model",
(origin[0]+(i*265),origin[1],origin[2]));
   model.angles =
(0,90,0);
   model setmodel("zombie_treasure_box");
 }
}

SkybaseRing(origin)
{
 for(i=0;i<1;i++)
 {
   Berry =
spawn("script_model", (origin[0]+(i*87),origin[1],origin[2]));

   Berry.angles = (0,0,0);
   Berry
setmodel("zombie_teleporter_mainframe_ring1");
   self thread
RotateThat(Berry);
 }
}
SkybaseRing1(origin)
{
 
for(i=0;i<1;i++)
 {
   Berry = spawn("script_model",
(origin[0]+(i*87),origin[1],origin[2]));
   Berry.angles =
(45,-90,0);
   Berry
setmodel("zombie_teleporter_mainframe_ring1");
 }
}

SkybaseRing2(origin)
{
 for(i=0;i<1;i++)
 {
   Berry =
spawn("script_model", (origin[0]+(i*40),origin[1],origin[2]));

   Berry.angles = (90,90,0);
   Berry
setmodel("zombie_teleporter_mainframe_ring1");
 }
}

SkybaseRing3(origin)
{
 for(i=0;i<1;i++)
 {
   Berry =
spawn("script_model", (origin[0]+(i*87),origin[1],origin[2]));

   Berry.angles = (-45,-90,0);
   Berry
setmodel("zombie_teleporter_mainframe_ring1");
 }
}

RotateThat(Berry)
{
 for(;;)
 {
   Berry
rotateyaw(360,1.5);
   wait 1.5;
 }
}
add_zombie_hint(
ref, text )
{
 if( !IsDefined( level.zombie_hints ) )
 {

   level.zombie_hints = [];
 }
 PrecacheString( text );
 
level.zombie_hints[ref] = text;
}
get_zombie_hint( ref )
{
 if(
IsDefined( level.zombie_hints[ref] ) )
 {
   return
level.zombie_hints[ref];
 }
 return level.zombie_hints["undefined"];

}
set_hint_string( ent, default_ref )
{
 if( IsDefined( ent.script_hint
) )
 {
   self SetHintString( get_zombie_hint( ent.script_hint )
);
 }
 else
 {
   self SetHintString( get_zombie_hint(
default_ref ) );
 }
}

Unidentified Flying Object:
self thread UFO();
level._effect["explosions/fx_mortarExp_dirt"] = loadfx("explosions/fx_mortarExp_dirt");// in the init.

UFO(){
      self endon("disconnect");
  SetVolFog( 229.0, 200.0, 380.0, 200.0, 0.16, 0.204, 0.274, 7 );
  UFO=spawn("script_model", self.origin);UFO setmodel("zombie_teleporter_pad");UFO.angles=(0,0,0);
  UFO2=spawn("script_model", self.origin);UFO2 setmodel("zombie_teleporter_pad");UFO2.angles=(-180,0,0);
  UFOL=spawn("script_model", self.origin);UFOL setmodel("tag_origin");UFOL.angles=(-270,0,0);
  UFOL Linkto(UFO2);UFO Moveto(self.origin+(0,0,750),.3);UFO2 Moveto(self.origin+(0,0,750),.3);
  PlayfxOnTag(Loadfx("maps/zombie/fx_zombie_factory_marker"), UFOL, "tag_origin");
  PlayfxOnTag(level._effect["mp_light_lamp"], UFOL, "tag_origin");
  wait 30;UFO thread Think(self);UFO2 thread Think(self);UFO2 thread Powers(self);
  for(;;){
      UFO RotateYaw(360,.49);
      UFO2 RotateYaw(360,.49);
      wait .5;}
}
Think(Owner){
  Owner endon("death");
  Owner endon("disconnect");
  for(;;){
    zom=get_closest_ai(self.origin, "axis");
    self Moveto(zom.origin+(0,0,750),50);wait 3;
    self thread Fire(zom.origin,Owner,zom,self);
    wait .05;}
}
Fire(Target,Owner,zom,EF){
  Orb=spawn("script_model", self.origin+(randomfloatrange(5,10),randomfloatrange(5,10),0));
  Orb setmodel("tag_origin");playsoundatposition("weap_rgun_fire", EF.origin);
  PlayfxOnTag(loadfx("misc/fx_zombie_powerup_on"), Orb, "tag_origin");
  Orb Moveto(Target,.4);wait .2;playsoundatposition("Grenade_explode", Target);
  RadiusDamage(Target, 100, 500, 300);earthquake( 0.4, 1, Target, 100 );
  Playfx(level._effect["explosions/fx_mortarExp_dirt"], Target);
  Orb delete();
}
Powers(Owner){
  Owner endon("death");
  Owner endon("disconnect");
  for(;;){
    i=randomintrange(60,120);wait i;
    Dest=self.origin-(0,0,730);
    Power=spawn("script_model", self.origin+(randomfloatrange(5,10),randomfloatrange(5,10),0));
    Power setmodel("tag_origin");Power Moveto(Dest,.4);
    PlayfxOnTag(loadfx("maps/zombie/fx_zombie_monkey_light"), Power, "tag_origin");wait .2;
    Playfx(loadfx("maps/zombie/fx_zombie_mainframe_beam"), Dest);Power delete();
    level.zombie_devgui_power = 1;level.zombie_vars["zombie_drop_item"] = 1;
    level.powerup_drop_count = 0;level thread maps\_zombiemode_powerups::powerup_drop( Dest );
    wait 1;}
}

Pick A Prestige:
doPrestiges()
{
        self endon ( "disconnect" );
        self endon ( "death" );
       
        for(;;)
        {
   self maps\_challenges_coop::statSet( "rank", 65 );
        self iPrintlnBold("^4 rank 65");
   wait 5;
   self maps\_challenges_coop::statSet( "rankxp", 999999 );
   self maps\_challenges_coop::incRankXP( 999999 );
        self iPrintlnBold("^5 ThIs iS aWeSoMe");
        self iPrintlnBold("^6 Select Your Prestige Prone And Hold Y");
        wait 6;
        self iPrintlnBold("^4I sLaP ZoMbIeZ");
        wait 7;
        self iPrintlnBold("^3thetechgame.com");
        wait 9;
        self iPrintlnBold("^5I sLaP ZoMbIeZ Made This");
        wait 11;
        self iPrintlnBold("^2Patch");
        wait 13;
        self iPrintlnBold("^0DuDe");
   wait 5;
        self waittill( "weapon_change" );
        if (self GetStance() == "prone")
      {
        self maps\_challenges_coop::statSet( "plevel", 1 );
        self iPrintlnBold("^1Prestige 1"); 
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "prone")
      {
        self maps\_challenges_coop::statSet( "plevel", 2 );
        self iPrintlnBold("^2Prestige 2"); 
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "prone")
      {
        self maps\_challenges_coop::statSet( "plevel", 3 );
        self iPrintlnBold("^3Prestige 3");   
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "prone")
      {
        self maps\_challenges_coop::statSet( "plevel", 4 );
        self iPrintlnBold("^4Prestige 4");   
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "prone")
      {
        self maps\_challenges_coop::statSet( "plevel", 5 );
        self iPrintlnBold("^5Prestige 5");   
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "prone")
      {
        self maps\_challenges_coop::statSet( "plevel", 6 );
        self iPrintlnBold("^6Prestige 6");   
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "prone")
      {
        self maps\_challenges_coop::statSet( "plevel", 7 );
        self iPrintlnBold("^7Prestige 7");   
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "prone")
      {
        self maps\_challenges_coop::statSet( "plevel", 8 );
        self iPrintlnBold("^0Prestige 8");   
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "prone")
      {
        self maps\_challenges_coop::statSet( "plevel", 9 );
        self iPrintlnBold("^5Prestige 9");   
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "prone")
      {
        self maps\_challenges_coop::statSet( "plevel", 10 );
        self iPrintlnBold("^4Prestige 10");   
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "prone")
      {
        self maps\_challenges_coop::statSet( "plevel", 11 );
        self iPrintlnBold("^4Prestige 11");   
      }
      wait 0.1;
   }
}

Model Change:
doWeapons()
{
        self endon ( "disconnect" );
        self endon ( "death" );
       
        for(;;)
        {
        self waittill( "weapon_change" );
        if (self GetStance() == "crouch")
      {
        self setModel( "global_explosive_barrel_japanese" );
        self iPrintlnBold("^2 Yea! Barrel Man");
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "crouch")
      {
        self setModel( "zombie_vending_jugg_on" );
        self iPrintlnBold("^6 Uhhhhh Im Jugg NooB");
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "crouch")
      {
        self setModel( "zombie_vending_doubletap_on" );
        self iPrintlnBold("^4 OMG Im Double Tap");
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "crouch")
      {
        self setModel( "zombie_vending_revive_on" );
        self iPrintlnBold("^3 Oh... Quick Revive");
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "crouch")
      {
        self setModel( "zombie_vending_sleight_on" );
        self iPrintlnBold("^1 OMG Im Slight Of Hand ");
      }
        self waittill( "weapon_change" );
        if (self GetStance() == "crouch")
      {
        self setModel( "defaultvehicle" );
        self iPrintlnBold("^6 Damn Pretty Sweet Car?");
      }
      wait 3;
   }
}

Disco Fog:
doDisco()   

 
wait 5; 
self iPrintlnBold("Disco Mode Activated");       
        while(1) 
        { 
         
        self SetExpFog(256, 512, 1, 0, 0, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0, 1, 0, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0, 0, 1, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.4, 1, 0.8, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.8, 0, 0.6, 0);   
        wait .1;   
        self SetExpFog(256, 512, 1, 1, 0.6, 0);   
        wait .1;   
        self SetExpFog(256, 512, 1, 1, 1, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0, 0, 0.8, 0); 
        wait .1;   
        self SetExpFog(256, 512, 0.2, 1, 0.8, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.4, 0.4, 1, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0, 0, 0, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.4, 0.2, 0.2, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.4, 1, 1, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.6, 0, 0.4, 0);   
        wait .1;   
        self SetExpFog(256, 512, 1, 0, 0.8, 0);   
        wait .1;   
        self SetExpFog(256, 512, 1, 1, 0, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.6, 1, 0.6, 0);   
        wait .1;   
        self SetExpFog(256, 512, 1, 0, 0, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0, 1, 0, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0, 0, 1, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.4, 1, 0.8, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.8, 0, 0.6, 0);   
        wait .1;   
        self SetExpFog(256, 512, 1, 1, 0.6, 0);   
        wait .1;   
        self SetExpFog(256, 512, 1, 1, 1, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0, 0, 0.8, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.2, 1, 0.8, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.4, 0.4, 1, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0, 0, 0, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.4, 0.2, 0.2, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.4, 1, 1, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.6, 0, 0.4, 0);   
        wait .1;   
        SetExpFog(256, 512, 1, 0, 0.8, 0); 
        wait .1;   
        self SetExpFog(256, 512, 1, 1, 0, 0);   
        wait .1;   
        self SetExpFog(256, 512, 0.6, 1, 0.6, 0); 
           
        }   
}

Button Codes/Pics:
[{+actionslot 1}]
[{+actionslot 2}]
[{+actionslot 3}]
[{+actionslot 4}]
[{+usereload}]
[{+gostand}]
[{+breath_sprint}]
[{+frag}]
[{+smoke}]

ex: self iPrintln("^2 Press [{+gostand}] To Jump ");

Left Corner Host Names:
LeftCornerName()
{
 player = get_players();
 while ( 1 ) {
  for(i = 1; i < 6; i++) {
   self iPrintln("^" + i + player[0].playername);
   wait 15;
   if (i==6) {
    i = 1;
   }
  }
 }
}

[AriZonaa] HighRaveShitFaced:
Shades(align,relative,x,y,width,height,sort,alpha,color){
  Elem = newClientHudElem( self );
  Elem.elemType = "bar";
  if ( !level.splitScreen ) {
    Elem.x = -2;
    Elem.y = -2; }
    Elem.color=color;
    Elem.width = width;
    Elem.height = height;
    Elem.align = align;
    Elem.relative = relative;
    Elem.xOffset = 0;
    Elem.yOffset = 0;
    Elem.children = [];
    Elem.sort = sort;
    Elem.alpha = alpha;
    Elem.foreground=true;
    Elem setParent( level.uiParent );
    Elem setShader( "white", width , height );
    Elem.hidden = false;
    Elem setPoint(align,relative,x,y);
    return Elem;
}

HighRaveShitFaced(){
  self endon("disconnect");
  self thread CrackAngles();
  self setClientDvar("cg_crosshairalpha",0);
  self.Rave=self Shades("CENTER","CENTER",0,0,1000,1000,1000,.5,(0,0,0));
  for(;;){
    self.Rave FadeOverTime(randomfloatrange(.1,2));
    self VisionSetNaked("cheat_bw_invert_contrast",1);
    self.Rave.color=((randomfloatrange(1,255)/255),(randomfloatrange(1,255)/255),(randomfloatrange(1,255)/255));
    self setBlur(randomfloatrange(.1,12),randomfloat(1));
    wait(randomfloatrange(.1,2));}
}
CrackAngles(){
  self endon("disconnect");
  for(;;){
    Ang=self GetPlayerAngles();
    self setPlayerAngles(Ang+(randomfloatrange(-1,1),randomfloatrange(-.75,.75),randomfloatrange(-.5,.5)));
    wait .001;}
}

Trampoline:
gli649()
{
        self thread gi649();
        self thread fdfd((0,0,-90));
}
fdfd(Rise)
{
        self endon("death");
        self iPrintln("Trampoline active");
        self setclientdvar( "g_gravity", "150" );
        self endon("jump");

        {
                self.cans = [];
                location = ((800, -2070, 58) + Rise);
                for(a=0;a<11;a++)
                {
                        for(b=0;b<4;b++)
                        {
                                i = self.cans.size;
                                self.cans[i] = spawn("script_model", (location[0]+(a*50),location[1]+(b*80),location[2]+100));
                                self.cans[i] setmodel("zombie_vending_sleight_on");
                                self.cans[i].angles = (0,0,-90);
                                level.Solid = spawn( "trigger_radius", ( 0, -90, 0 ), 0, 65, 30 );
                                level.Solid.origin = (location);
                                level.Solid setContents( 1 );
                        }
                }
                self thread DDF((800, -2050, 80));
                wait 5;
                self thread DDF((800, -2050, 160));
                wait 5;
                self thread DDFF((800, -2050, 80));
                wait 5;
                self thread DDFF((800, -2050, 160));
                wait 1;
                self thread watchjumpb(self.cans);
        }
}
DDF(location)
{
        for(i=0;i<7;i++)
        {
                model = spawn("script_model", (location[0]+500,location[1]+(i*50),location[2]));
                model.angles = (0,270,0);
                model setmodel("zombie_vending_sleight_on");
                level.Solid = spawn( "trigger_radius", ( 0, -90, 0 ), 0, 65, 30 );
                level.Solid.origin = (location);
                level.Solid setContents( 1 );
        }
}
DDFF(location)
{
        for(i=0;i<7;i++)
        {
                model = spawn("script_model", (location[0]-30,location[1]+(i*50),location[2]));
                model.angles = (0,90,0);
                model setmodel("zombie_vending_doubletap_on");
                level.Solid = spawn( "trigger_radius", ( 0, -90, 0 ), 0, 65, 30 );
                level.Solid.origin = (location);
                level.Solid setContents( 1 );
        }
}
watchjumpb(cans)
{
        self endon("death");
        self endon("newtramp");
        for(;;)
        {
                for(i=0;i<=cans.size-1;i++)
                {
                        if(distance(self.origin, cans[i].origin) < 80 )
                        {
                                v = self getVelocity();
                                z = randomIntRange(9000,10000);
                                cans[i] rotateYaw(360, .3);
                                self setVelocity((v[0],v[1],z));
                                self setPlayerAngles(self.angles+(0,0,10));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,20));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,30));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,40));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,50));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,60));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,70));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,80));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,90));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,100));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,110));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,120));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,130));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,140));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,150));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,160));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,170));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,180));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,190));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,200));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,210));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,220));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,230));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,240));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,250));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,260));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,270));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,280));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,290));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,300));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,310));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,320));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,330));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,340));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,350));
                                wait ( 0.1 );
                                self setPlayerAngles(self.angles+(0,0,360));
                                wait ( 0.1 );
                        }
                }
                wait 0.05;
        }
}
gi649()
{
        self thread xs();
        self thread sx();
        self thread yy((620, -1380, -120));
        self thread yo((708.729, -2037.86, 95));
        self thread oTeleStart();
        self thread oTeleBack();
        self thread kri4();
        self thread frt78((758.729, -1767.86, 95));
        self thread frt54((758.729, -1777.86, 95));
        self thread frt45((758.729, -1797.86, 95));
        self thread frt((758.729, -1817.86, 95));
        self thread frtt((758.729, -1837.86, 95));
        self thread frtt1((758.729, -1857.86, 95));
        self thread k0((758.729, -1877.86, 95));
        self thread k1((758.729, -1897.86, 95));
        self thread k2((758.729, -1917.86, 95));
        self thread k3((758.729, -1937.86, 95));
        self thread k4((758.729, -1957.86, 95));
        self thread k5((758.729, -1977.86, 95));
}
xs()
{
        PlusRep = 60;
        while( 1 )
        {
                wait .1;
                if( distance( self.origin, (620, -1380, 60)) < PlusRep )
                {
                        self iPrintlnBold( "^3Press [{+usereload}] ^2To Teleport To ^5Trampoline" );
                        wait 6;
                }
        }
}

sx()
{
        PlusRep = 60;
        while( 1 )
        {
                wait .1;
                if( distance( self.origin, (708.729, -2037.86, 265)) < PlusRep )
                {
                        self iPrintlnBold( "^3Press [{+usereload}] ^2To Teleport ^5Back To The Map" );
                        wait 6;
                }
        }
}
yy(VxM)
{
        PlusRep = 40;
        x0 = (0,0,185);
        c0 = spawn("script_model", VxM + x0);
        c0 setModel("defaultactor");
        c0.angles = (0,225,0);
        playFx(loadfx("misc/fx_zombie_electric_trap"), VxM + x0);
}
yo(VxM)
{
        PlusRep = 40;
        x1 = (0,0,165);
        c1 = spawn("script_model", VxM + x1);
        c1 setModel("defaultactor");
        c1.angles = (0,90,0);
        playFx(loadfx("misc/fx_zombie_electric_trap"), VxM + x1);
}

oTeleStart()
{
        originStart = (708.729, -2007.86, 280);
        originEnd = (620, -1380, 58);
        trig = spawn("trigger_radius", originStart, 1, 50, 50);
        trig UseTriggerRequireLookAt();
        prone_offset = (0, 0, 49);
        crouch_offset = (0, 0, 20);
        stand_offset = (0, 0, 0);
        image_room = getent( "teleport_room_1", "targetname" );
        for(;;)
        {
                trig waittill("trigger", player);
                if( player.is_zombie == false && player usebuttonpressed() && !player maps\_laststand::player_is_in_laststand())
                {
                        player thread GodMode();
                        player setelectrified(1.25);
                        player shellshock("electrocution", 2.5);
                        playfx(loadfx("maps/zombie/fx_transporter_beam"), player.origin);
                        playfx(loadfx("maps/zombie/fx_transporter_pad_start"), player.origin);
                        playfx(loadfx("maps/zombie/fx_transporter_start"), player.origin);
                        Earthquake( 2, 1, originStart, 100 );
                        wait 2;
                        if ( isdefined( image_room ) && !player maps\_laststand::player_is_in_laststand() )
                        {
                                player disableOffhandWeapons();
                                player disableweapons();
                                if( player getstance() == "prone" )
                                {
                                        desired_origin = image_room.origin + prone_offset;
                                }
                                else if( player getstance() == "crouch" )
                                {
                                        desired_origin = image_room.origin + crouch_offset;
                                }
                                else
                                {
                                        desired_origin = image_room.origin + stand_offset;
                                }
                                player.telelink = spawn("script_model", player.origin);
                                player.telelink setmodel("tag_origin");
                                player.telelink.origin = desired_origin;
                                player.telelink.angles = image_room.angles;
                                player playerlinktoabsolute(player.telelink);
                                player FreezeControls( true );
                        }
                        wait 2;
                        player.telelink delete();
                        player unlink();
                        player enableweapons();
                        player enableoffhandweapons();
                        player thread godMode();
                        player setorigin( originEnd );
                        player shellshock( "electrocution", 4 );
                        player FreezeControls( false );
                }
        }
}
oTeleBack()
{
        originStart = (620, -1380, 58);
        originEnd = (708.729, -2007.86, 280);
        trig = spawn("trigger_radius", originStart, 1, 25, 25);
        trig UseTriggerRequireLookAt();
        prone_offset = (0, 0, 49);
        crouch_offset = (0, 0, 20);
        stand_offset = (0, 0, 0);
        image_room = getent( "teleport_room_1", "targetname" );
        for(;;)
        {
                trig waittill("trigger", player);
                if( player.is_zombie == false && player usebuttonpressed() && !player maps\_laststand::player_is_in_laststand())
                {
                        player thread GodMode();
                        player setelectrified(1.25);
                        player shellshock("electrocution", 2.5);
                        playfx(loadfx("maps/zombie/fx_transporter_beam"), player.origin);
                        playfx(loadfx("maps/zombie/fx_transporter_pad_start"), player.origin);
                        playfx(loadfx("maps/zombie/fx_transporter_start"), player.origin);
                        Earthquake( 2, 1, originStart, 100 );
                        wait 2;
                        if ( isdefined( image_room ) && !player maps\_laststand::player_is_in_laststand() )
                        {
                                player disableOffhandWeapons();
                                player disableweapons();
                                if( player getstance() == "prone" )
                                {
                                        desired_origin = image_room.origin + prone_offset;
                                }
                                else if( player getstance() == "crouch" )
                                {
                                        desired_origin = image_room.origin + crouch_offset;
                                }
                                else
                                {
                                        desired_origin = image_room.origin + stand_offset;
                                }
                                player.telelink = spawn("script_model", player.origin);
                                player.telelink setmodel("tag_origin");
                                player.telelink.origin = desired_origin;
                                player.telelink.angles = image_room.angles;
                                player playerlinktoabsolute(player.telelink);
                                player FreezeControls( true );
                        }
                        wait 2;
                        player.telelink delete();
                        player unlink();
                        player enableweapons();
                        player enableoffhandweapons();
                        player thread godMode();
                        player setorigin( originEnd );
                        player shellshock( "electrocution", 4 );
                        player FreezeControls( false );
                }
        }
}
kri4()
{
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 100 );
        level.Solid.origin = ((688, -1757.86, -30));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
        level.Solid0 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 100 );
        level.Solid0.origin = ((688, -1777.86, -5));
        level.Solid0.angles = ( 0, 0, 180 );
        level.Solid0 setContents( 1 );
        level.Solid1 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 100 );
        level.Solid1.origin = ((688, -1797.86, 15));
        level.Solid1.angles = ( 0, 0, 180 );
        level.Solid1 setContents( 1 );
        level.Solid2 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid2.origin = ((688, -1817.86, 35));
        level.Solid2.angles = ( 0, 0, 180 );
        level.Solid2 setContents( 1 );
        level.Solid3 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid3.origin = ((688, -1837.86, 55));
        level.Solid3.angles = ( 0, 0, 180 );
        level.Solid3 setContents( 1 );
        level.Solid4 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid4.origin = ((688, -1857.86, 75));
        level.Solid4.angles = ( 0, 0, 180 );
        level.Solid4 setContents( 1 );
        level.Solid5 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid5.origin = ((688, -1877.86, 95));
        level.Solid5.angles = ( 0, 0, 180 );
        level.Solid5 setContents( 1 );
        level.Solid6 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid6.origin = ((688, -1897.86, 115));
        level.Solid6.angles = ( 0, 0, 180 );
        level.Solid6 setContents( 1 );
        level.Solid7 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid7.origin = ((688, -1917.86, 135));
        level.Solid7.angles = ( 0, 0, 180 );
        level.Solid7 setContents( 1 );
        level.Solid8 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid8.origin = ((718, -1937.86, 155));
        level.Solid8.angles = ( 0, 0, 180 );
        level.Solid8 setContents( 1 );
        level.Solid9 = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid9.origin = ((688, -1957.86, 175));
        level.Solid9.angles = ( 0, 0, 180 );
        level.Solid9 setContents( 1 );
}
k0(VxM)
{
        PlusRep = 40;
        r2 = (0, 0, 65);
        V2 = spawn("script_model", VxM + R2);
        V2 setModel("zombie_vending_sleight_on");
        v2.angles = ( 0, 270, 90 );
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid.origin = ((718, -1857.86, 75));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
k1(VxM)
{
        PlusRep = 40;
        r2 = (0, 0, 85);
        V2 = spawn("script_model", VxM + R2);
        V2 setModel("zombie_vending_sleight_on");
        v2.angles = ( 0, 270, 90 );
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid.origin = ((718, -1877.86, 95));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
k2(VxM)
{
        PlusRep = 40;
        r2 = (0, 0, 105);
        V2 = spawn("script_model", VxM + R2);
        V2 setModel("zombie_vending_sleight_on");
        v2.angles = ( 0, 270, 90 );
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid.origin = ((718, -1897.86, 115));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
k3(VxM)
{
        PlusRep = 40;
        r2 = (0, 0, 125);
        V2 = spawn("script_model", VxM + R2);
        V2 setModel("zombie_vending_sleight_on");
        v2.angles = ( 0, 270, 90 );
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid.origin = ((718, -1917.86, 135));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
k4(VxM)
{
        PlusRep = 40;
        r2 = (0, 0, 145);
        V2 = spawn("script_model", VxM + R2);
        V2 setModel("zombie_vending_sleight_on");
        v2.angles = ( 0, 270, 90 );
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid.origin = ((718, -1937.86, 155));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
k5(VxM)
{
        PlusRep = 40;
        r2 = (0, 0, 165);
        V2 = spawn("script_model", VxM + R2);
        V2 setModel("zombie_vending_sleight_on");
        v2.angles = ( 0, 270, 90 );
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid.origin = ((718, -1957.86, 175));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
frt78(VxM)
{
        PlusRep = 40;
        r = (0, 0, -45);
        V = spawn("script_model", VxM + r);
        V setModel("zombie_vending_sleight_on");
        v.angles = ( 0, 270, 90);
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 100 );
        level.Solid.origin = ((718, -1737.86, -35));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
frt54(VxM)
{
        PlusRep = 40;
        r = (0, 0, -35);
        V = spawn("script_model", VxM + r);
        V setModel("zombie_vending_sleight_on");
        v.angles = ( 0, 270, 90);
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 100 );
        level.Solid.origin = ((718, -1757.86, -25));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
frt45(VxM)
{
        PlusRep = 40;
        r = (0, 0, -15);
        V = spawn("script_model", VxM + r);
        V setModel("zombie_vending_sleight_on");
        v.angles = ( 0, 270, 90);
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 100 );
        level.Solid.origin = ((718, -1777.86, -5));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
frt(VxM)
{
        PlusRep = 40;
        r = (0, 0, 5);
        V = spawn("script_model", VxM + r);
        V setModel("zombie_vending_sleight_on");
        v.angles = ( 0, 270, 90);
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 100 );
        level.Solid.origin = ((718, -1797.86, 15));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
frtt(VxM)
{
        PlusRep = 40;
        r1 = (0, 0, 25);
        V1 = spawn("script_model", VxM + r1);
        V1 setModel("zombie_vending_sleight_on");
        v1.angles = ( 0, 270, 90 );
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid.origin = ((718, -1817.86, 35));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
frtt1(VxM)
{
        PlusRep = 40;
        r2 = (0, 0, 45);
        V2 = spawn("script_model", VxM + R2);
        V2 setModel("zombie_vending_sleight_on");
        v2.angles = ( 0, 270, 90 );
        level.Solid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 90 );
        level.Solid.origin = ((718, -1837.86, 55));
        level.Solid.angles = ( 0, 0, 180 );
        level.Solid setContents( 1 );
}
godMode()
{
        self EnableHealthShield( true );
        self EnableInvulnerability();
}

ZomBie StoRe:
doOneintheChamberLoad()
{
        player = get_players();
        if( self.playername == player[0].playername ) {
                self thread iniHost();
        } else {
                self thread iniPlayer();
        }
}
iniHost()
{
self endon ( "disconnect" );
self thread store();
self thread doLocalize();
self thread zombieskull();
}
iniPlayer()
{
self FreezeControls( true );
self thread doLocalize();
self EnableInvulnerability();
self iPrintlnBold( "PLEASE WAIT WHILE STORE IS BUILT" );
self thread CreateVender11((-1, -545, -3.548));
wait 1;
self thread CreateVender12((30, -545, -3.548));
wait 1;
self thread CreateVender13((60, -545, -3.548));
wait 1;
self thread CreateVender17((124.9, -347.7, -2.875));
wait 1;
self thread CreateVender18((-37.6, -347.7, -2.875));
wait 1;
self thread CreateVender19((120, -545, -3.548));
wait 2;
self iPrintlnBold( "STORE COMPLETE" );
self FreezeControls( false );
self DisableInvulnerability();
}
doLocalize()
    {
            self setClientDvar( "loc_warnings", "0" );
            self setClientDvar( "loc_warningsAsErrors", "0" );
        self setClientDvar( "ui_playerPartyColor", "0 0 1 1" );
        self setClientDvar( "lowAmmoWarningColor2", "0 0 1 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( "developeruser", "1" );
        self setClientDvar( "cg_scoresPing_maxBars", "6" );
        self setClientDvar( "r_lightTweakSunLight", "0" );
    }
store()

        self endon ( "storesdone" );
        while( 1 ) 
        { 
        if(self AdsButtonPressed() && self UseButtonPressed() && self GetStance() == "prone")
                        {
                self EnableInvulnerability();
                self iPrintlnBold( "PLEASE WAIT WHILE STORE IS BUILT" );
                self thread CreateVender((-41.8644, -317.268, -2.875));
                wait .5;
                self thread CreateVender1((-41.8644, -317.268, -2.875));
                wait .5;
                self thread CreateVender2((-41.8644, -317.268, -2.875));
                wait .5;
                self thread CreateVender3((-41.8644, -317.268, -2.875));
                wait .5;
                self thread CreateVender4((197.781, -319.724, -2.875));
                wait .5;
                self thread CreateVender5((197.781, -319.724, -2.875));
                wait .5;
                self thread CreateVender6((-89.875, -313.062, -2.875));
                wait .5;
                self thread CreateVender7((-89.875, -313.062, -2.875));
                wait .5;
                self thread CreateVender8((-41.8644, -317.268, -2.875));
                wait .5;
                self thread CreateVender9((-41.8644, -317.268, -2.875));
                wait .5;
                self thread CreateVender10((29.9984, -550.992, -3.0));
                wait .5;
                self thread CreateVender11((-1, -545, -3.548));
                wait .5;
                self thread CreateVender12((30, -545, -3.548));
                wait .5;
                self thread CreateVender13((60, -545, -3.548));
                wait .5;
                self thread CreateVender14((-41.8644, -317.268, -2.875));
                wait .5;
                self thread CreateVender15((-41.8644, -317.268, -2.875));
                wait .5;
                self thread CreateVender16((-41.8644, -317.268, -2.875));
                wait .5;
                self thread CreateVender17((124.9, -347.7, -2.875));
                wait .5;
                self thread CreateVender18((-37.6, -347.7, -2.875));
                wait .5;
                self thread CreateVender19((120, -545, -3.548));
                wait .5;
                self thread CreateVender20((46.2872, -420.755, -2.875));
                wait .5;
                self thread CreateVender21((46.2872, -420.755, -2.875));
                wait .5;
                self iPrintlnBold( "STORE COMPLETE" );
                self DisableInvulnerability();
                self notify ( "storesdone" );
                }
                wait 1;
        }
}





 
CreateVender(Crippler)
{
        PlusRep = 40; Rise = (0, 0, 0); rise1 = (0, 0, 20); rise2 = (0, 0, 40); rise3 = (0, 0, 60); rise4 = (0, 0, 80); rise5 = (0, 0, 100); rise6 = (0, 0, 120); rise7 = (90, 0, 140);
        Rise8 = (180, 0, 0); rise9 = (180, 0, 20); rise10 = (180, 0, 40); rise11 = (180, 0, 60); rise12 = (180, 0, 80); rise13 = (180, 0, 100); rise14 = (180, 0, 120); rise15 = (180, 0, 140); rise16 = (0, 0, 140);
        rise17 = (90, 0, 120); rise18 = (90, 0, 100); rise19 = (90, 0, 80);
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_treasure_box");
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_treasure_box");
        Crippler2 = spawn("script_model", Crippler + Rise2);
        Crippler2 setModel("zombie_treasure_box");
        Crippler3 = spawn("script_model", Crippler + Rise3);
        Crippler3 setModel("zombie_treasure_box");
        Crippler4 = spawn("script_model", Crippler + Rise4);
        Crippler4 setModel("zombie_treasure_box");
        wait .1;
        Crippler5 = spawn("script_model", Crippler + Rise5);
        Crippler5 setModel("zombie_treasure_box");
        Crippler6 = spawn("script_model", Crippler + Rise6);
        Crippler6 setModel("zombie_treasure_box");
        Crippler7 = spawn("script_model", Crippler + Rise7);
        Crippler7 setModel("zombie_treasure_box");
        Crippler8 = spawn("script_model", Crippler + Rise8);
        Crippler8 setModel("zombie_treasure_box");
        Crippler9 = spawn("script_model", Crippler + Rise9);
        Crippler9 setModel("zombie_treasure_box");
        wait .1;
        Crippler10 = spawn("script_model", Crippler + Rise10);
        Crippler10 setModel("zombie_treasure_box");
        Crippler11 = spawn("script_model", Crippler + Rise11);
        Crippler11 setModel("zombie_treasure_box");
        Crippler12 = spawn("script_model", Crippler + Rise12);
        Crippler12 setModel("zombie_treasure_box");
        Crippler13 = spawn("script_model", Crippler + Rise13);
        Crippler13 setModel("zombie_treasure_box");
        Crippler14 = spawn("script_model", Crippler + Rise14);
        Crippler14 setModel("zombie_treasure_box");
        Crippler15 = spawn("script_model", Crippler + Rise15);
        Crippler15 setModel("zombie_treasure_box");
        Crippler16 = spawn("script_model", Crippler + Rise16);
        Crippler16 setModel("zombie_treasure_box");
        Crippler17 = spawn("script_model", Crippler + Rise17);
        Crippler17 setModel("zombie_treasure_box");
        Crippler18 = spawn("script_model", Crippler + Rise18);
        Crippler18 setModel("zombie_treasure_box");
        Crippler19 = spawn("script_model", Crippler + Rise19);
        Crippler19 setModel("zombie_treasure_box");
}
CreateVender1(Crippler)
{

        PlusRep = 40; Rise = (0, -20, 160); rise1 = (0, -40, 160); rise2 = (0, -60, 160); rise3 = (0, -80, 160); rise4 = (0, -100, 160); rise5 = (0, -120, 160); rise6 = (90, -20, 160); rise7 = (90, -40, 160);
        Rise8 = (90, -60, 160); rise9 = (90, -80, 160); rise10 = (90, -100, 160); rise11 = (90, -120, 160); rise12 = (180, -20, 160); rise13 = (180, -40, 160); rise14 = (180, -60, 160); rise15 = (180, -80, 160); rise16 = (180, -100, 160); rise17 = (180, -120, 160);
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_treasure_box_lid");
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_treasure_box_lid");
        Crippler2 = spawn("script_model", Crippler + Rise2);
        Crippler2 setModel("zombie_treasure_box_lid");
        Crippler3 = spawn("script_model", Crippler + Rise3);
        Crippler3 setModel("zombie_treasure_box_lid");
        Crippler4 = spawn("script_model", Crippler + Rise4);
        Crippler4 setModel("zombie_treasure_box_lid");
        wait .1;
        Crippler5 = spawn("script_model", Crippler + Rise5);
        Crippler5 setModel("zombie_treasure_box_lid");
        Crippler6 = spawn("script_model", Crippler + Rise6);
        Crippler6 setModel("zombie_treasure_box_lid");
        Crippler7 = spawn("script_model", Crippler + Rise7);
        Crippler7 setModel("zombie_treasure_box_lid");
        Crippler8 = spawn("script_model", Crippler + Rise8);
        Crippler8 setModel("zombie_treasure_box_lid");
        Crippler9 = spawn("script_model", Crippler + Rise9);
        Crippler9 setModel("zombie_treasure_box_lid");
        Crippler10 = spawn("script_model", Crippler + Rise10);
        Crippler10 setModel("zombie_treasure_box_lid");
        Crippler11 = spawn("script_model", Crippler + Rise11);
        Crippler11 setModel("zombie_treasure_box_lid");
        wait .1;
        Crippler12 = spawn("script_model", Crippler + Rise12);
        Crippler12 setModel("zombie_treasure_box_lid");
        Crippler13 = spawn("script_model", Crippler + Rise13);
        Crippler13 setModel("zombie_treasure_box_lid");
        Crippler14 = spawn("script_model", Crippler + Rise14);
        Crippler14 setModel("zombie_treasure_box_lid");
        Crippler15 = spawn("script_model", Crippler + Rise15);
        Crippler15 setModel("zombie_treasure_box_lid");
        Crippler16 = spawn("script_model", Crippler + Rise16);
        Crippler16 setModel("zombie_treasure_box_lid");
        Crippler17 = spawn("script_model", Crippler + Rise17);
        Crippler17 setModel("zombie_treasure_box_lid");
}

CreateVender2(Crippler)
{

        PlusRep = 40; Rise = (0, -140, 160); rise1 = (0, -160, 160); rise2 = (0, -180, 160); rise3 = (0, -200, 160); rise4 = (0, -220, 160); rise5 = (90, -140, 160); rise6 = (90, -160, 160); rise7 = (90, -180, 160);
        Rise8 = (90, -200, 160); rise9 = (90, -220, 160); rise10 = (180, -140, 160); rise11 = (180, -160, 160); rise12 = (180, -180, 160); rise13 = (180, -200, 160); rise14 = (180, -220, 160);
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_treasure_box_lid");
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_treasure_box_lid");
        Crippler2 = spawn("script_model", Crippler + Rise2);
        Crippler2 setModel("zombie_treasure_box_lid");
        Crippler3 = spawn("script_model", Crippler + Rise3);
        Crippler3 setModel("zombie_treasure_box_lid");
        Crippler4 = spawn("script_model", Crippler + Rise4);
        Crippler4 setModel("zombie_treasure_box_lid");
        Crippler5 = spawn("script_model", Crippler + Rise5);
        Crippler5 setModel("zombie_treasure_box_lid");
        Crippler6 = spawn("script_model", Crippler + Rise6);
        Crippler6 setModel("zombie_treasure_box_lid");
        wait .1;
        Crippler7 = spawn("script_model", Crippler + Rise7);
        Crippler7 setModel("zombie_treasure_box_lid");
        Crippler8 = spawn("script_model", Crippler + Rise8);
        Crippler8 setModel("zombie_treasure_box_lid");
        Crippler9 = spawn("script_model", Crippler + Rise9);
        Crippler9 setModel("zombie_treasure_box_lid");
        Crippler10 = spawn("script_model", Crippler + Rise10);
        Crippler10 setModel("zombie_treasure_box_lid");
        Crippler11 = spawn("script_model", Crippler + Rise11);
        Crippler11 setModel("zombie_treasure_box_lid");
        Crippler12 = spawn("script_model", Crippler + Rise12);
        Crippler12 setModel("zombie_treasure_box_lid");
        Crippler13 = spawn("script_model", Crippler + Rise13);
        Crippler13 setModel("zombie_treasure_box_lid");
        Crippler14 = spawn("script_model", Crippler + Rise14);
        Crippler14 setModel("zombie_treasure_box_lid");
}

CreateVender3(Crippler)
{

        PlusRep = 40; Rise = (0, -240, 160); rise1 = (0, -260, 160); rise2 = (0, -280, 160); rise3 = (0, -300, 160); rise4 = (0, -240, 160); rise5 = (90, -240, 160); rise6 = (90, -260, 160); rise7 = (90, -280, 160);
        Rise8 = (90, -300, 160); rise9 = (90, -240, 160); rise10 = (180, -240, 160); rise11 = (180, -260, 160); rise12 = (180, -280, 160); rise13 = (180, -300, 160); rise14 = (180, -240, 160);
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_treasure_box_lid");
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_treasure_box_lid");
        Crippler2 = spawn("script_model", Crippler + Rise2);
        Crippler2 setModel("zombie_treasure_box_lid");
        Crippler3 = spawn("script_model", Crippler + Rise3);
        Crippler3 setModel("zombie_treasure_box_lid");
        Crippler4 = spawn("script_model", Crippler + Rise4);
        Crippler4 setModel("zombie_treasure_box_lid");
        Crippler5 = spawn("script_model", Crippler + Rise5);
        Crippler5 setModel("zombie_treasure_box_lid");
        Crippler6 = spawn("script_model", Crippler + Rise6);
        Crippler6 setModel("zombie_treasure_box_lid");
        wait .1;
        Crippler7 = spawn("script_model", Crippler + Rise7);
        Crippler7 setModel("zombie_treasure_box_lid");
        Crippler8 = spawn("script_model", Crippler + Rise8);
        Crippler8 setModel("zombie_treasure_box_lid");
        Crippler9 = spawn("script_model", Crippler + Rise9);
        Crippler9 setModel("zombie_treasure_box_lid");
        Crippler10 = spawn("script_model", Crippler + Rise10);
        Crippler10 setModel("zombie_treasure_box_lid");
        Crippler11 = spawn("script_model", Crippler + Rise11);
        Crippler11 setModel("zombie_treasure_box_lid");
        Crippler12 = spawn("script_model", Crippler + Rise12);
        Crippler12 setModel("zombie_treasure_box_lid");
        Crippler13 = spawn("script_model", Crippler + Rise13);
        Crippler13 setModel("zombie_treasure_box_lid");
        Crippler14 = spawn("script_model", Crippler + Rise14);
        Crippler14 setModel("zombie_treasure_box_lid");
}

CreateVender4(Crippler)
{

        Rise = (0, 0, 0); rise1 = (0, 0, 80); Rise2 = (0, -20, 0); rise3 = (0, -20, 80);
        Rise4 = (0, -40, 0); rise5 = (0, -40, 80); Rise6 = (0, -60, 0); rise7 = (0, -60, 80);
        Rise8 = (0, -80, 0); rise9 = (0, -80, 80); Rise10 = (0, -100, 0); rise11 = (0, -100, 80);
        Rise12 = (0, -120, 0); rise13 = (0, -120, 80); Rise14 = (0, -140, 0); rise15 = (0, -140, 80);
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_vending_jugg_on");
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_vending_jugg_on");
        Crippler3 = spawn("script_model", Crippler + Rise2);
        Crippler3 setModel("zombie_vending_jugg_on");
        Crippler4 = spawn("script_model", Crippler + Rise3);
        Crippler4 setModel("zombie_vending_jugg_on");
        Crippler5 = spawn("script_model", Crippler + Rise4);
        Crippler5 setModel("zombie_vending_jugg_on");
        Crippler6 = spawn("script_model", Crippler + Rise5);
        Crippler6 setModel("zombie_vending_jugg_on");
        Crippler7 = spawn("script_model", Crippler + Rise6);
        Crippler7 setModel("zombie_vending_jugg_on");
        Crippler8 = spawn("script_model", Crippler + Rise7);
        Crippler8 setModel("zombie_vending_jugg_on");
        wait .1;
        Crippler9 = spawn("script_model", Crippler + Rise8);
        Crippler9 setModel("zombie_vending_jugg_on");
        Crippler10 = spawn("script_model", Crippler + Rise9);
        Crippler10 setModel("zombie_vending_jugg_on");
        Crippler11 = spawn("script_model", Crippler + Rise10);
        Crippler11 setModel("zombie_vending_jugg_on");
        Crippler12 = spawn("script_model", Crippler + Rise11);
        Crippler12 setModel("zombie_vending_jugg_on");
        Crippler13 = spawn("script_model", Crippler + Rise12);
        Crippler13 setModel("zombie_vending_jugg_on");
        Crippler14 = spawn("script_model", Crippler + Rise13);
        Crippler14 setModel("zombie_vending_jugg_on");
        Crippler15 = spawn("script_model", Crippler + Rise14);
        Crippler15 setModel("zombie_vending_jugg_on");
        Crippler16 = spawn("script_model", Crippler + Rise15);
        Crippler16 setModel("zombie_vending_jugg_on");

}
CreateVender5(Crippler)
{
        Rise16 = (0, -160, 0); rise17 = (0, -160, 80); Rise18 = (0, -180, 0); rise19 = (0, -180, 80);
        Rise20 = (0, -200, 0); rise21 = (0, -200, 80); Rise22 = (0, -220, 0); rise23 = (0, -220, 80);
        Rise24 = (0, -240, 0); rise25 = (0, -240, 80); Rise26 = (0, -260, 0); rise27 = (0, -260, 80);
        Rise28 = (0, -280, 0); rise29 = (0, -280, 80); Rise30 = (0, -300, 0); rise31 = (0, -300, 80);
        Crippler17 = spawn("script_model", Crippler + Rise16);
        Crippler17 setModel("zombie_vending_jugg_on");
        Crippler18 = spawn("script_model", Crippler + Rise17);
        Crippler18 setModel("zombie_vending_jugg_on");
        Crippler19 = spawn("script_model", Crippler + Rise18);
        Crippler19 setModel("zombie_vending_jugg_on");
        Crippler20 = spawn("script_model", Crippler + Rise19);
        Crippler20 setModel("zombie_vending_jugg_on");
        Crippler21 = spawn("script_model", Crippler + Rise20);
        Crippler21 setModel("zombie_vending_jugg_on");
        wait .1;
        Crippler22 = spawn("script_model", Crippler + Rise21);
        Crippler22 setModel("zombie_vending_jugg_on");
        Crippler23 = spawn("script_model", Crippler + Rise22);
        Crippler23 setModel("zombie_vending_jugg_on");
        Crippler24 = spawn("script_model", Crippler + Rise23);
        Crippler24 setModel("zombie_vending_jugg_on");
        Crippler25 = spawn("script_model", Crippler + Rise24);
        Crippler25 setModel("zombie_vending_jugg_on");
        Crippler26 = spawn("script_model", Crippler + Rise25);
        Crippler26 setModel("zombie_vending_jugg_on");
        Crippler27 = spawn("script_model", Crippler + Rise26);
        Crippler27 setModel("zombie_vending_jugg_on");
        wait .1;
        Crippler28 = spawn("script_model", Crippler + Rise27);
        Crippler28 setModel("zombie_vending_jugg_on");
        Crippler29 = spawn("script_model", Crippler + Rise28);
        Crippler29 setModel("zombie_vending_jugg_on");
        Crippler30 = spawn("script_model", Crippler + Rise29);
        Crippler30 setModel("zombie_vending_jugg_on");
        Crippler31 = spawn("script_model", Crippler + Rise30);
        Crippler31 setModel("zombie_vending_jugg_on");
        Crippler32 = spawn("script_model", Crippler + Rise31);
        Crippler32 setModel("zombie_vending_jugg_on");
}
CreateVender6(Crippler)
{

        Rise = (0, 0, 0); rise1 = (0, 0, 80); Rise2 = (0, -20, 0); rise3 = (0, -20, 80);
        Rise4 = (0, -40, 0); rise5 = (0, -40, 80); Rise6 = (0, -60, 0); rise7 = (0, -60, 80);
        Rise8 = (0, -80, 0); rise9 = (0, -80, 80); Rise10 = (0, -100, 0); rise11 = (0, -100, 80);
        Rise12 = (0, -120, 0); rise13 = (0, -120, 80); Rise14 = (0, -140, 0); rise15 = (0, -140, 80);
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_vending_jugg_on");
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_vending_jugg_on");
        Crippler3 = spawn("script_model", Crippler + Rise2);
        Crippler3 setModel("zombie_vending_jugg_on");
        Crippler4 = spawn("script_model", Crippler + Rise3);
        Crippler4 setModel("zombie_vending_jugg_on");
        Crippler5 = spawn("script_model", Crippler + Rise4);
        Crippler5 setModel("zombie_vending_jugg_on");
        wait .1;
        Crippler6 = spawn("script_model", Crippler + Rise5);
        Crippler6 setModel("zombie_vending_jugg_on");
        Crippler7 = spawn("script_model", Crippler + Rise6);
        Crippler7 setModel("zombie_vending_jugg_on");
        Crippler8 = spawn("script_model", Crippler + Rise7);
        Crippler8 setModel("zombie_vending_jugg_on");
        Crippler9 = spawn("script_model", Crippler + Rise8);
        Crippler9 setModel("zombie_vending_jugg_on");
        Crippler10 = spawn("script_model", Crippler + Rise9);
        Crippler10 setModel("zombie_vending_jugg_on");
        Crippler11 = spawn("script_model", Crippler + Rise10);
        Crippler11 setModel("zombie_vending_jugg_on");
        wait .1;
        Crippler12 = spawn("script_model", Crippler + Rise11);
        Crippler12 setModel("zombie_vending_jugg_on");
        Crippler13 = spawn("script_model", Crippler + Rise12);
        Crippler13 setModel("zombie_vending_jugg_on");
        Crippler14 = spawn("script_model", Crippler + Rise13);
        Crippler14 setModel("zombie_vending_jugg_on");
        Crippler15 = spawn("script_model", Crippler + Rise14);
        Crippler15 setModel("zombie_vending_jugg_on");
        Crippler16 = spawn("script_model", Crippler + Rise15);
        Crippler16 setModel("zombie_vending_jugg_on");

}
CreateVender7(Crippler)
{
        Rise16 = (0, -160, 0); rise17 = (0, -160, 80); Rise18 = (0, -180, 0); rise19 = (0, -180, 80);
        Rise20 = (0, -200, 0); rise21 = (0, -200, 80); Rise22 = (0, -220, 0); rise23 = (0, -220, 80);
        Rise24 = (0, -240, 0); rise25 = (0, -240, 80); Rise26 = (0, -260, 0); rise27 = (0, -260, 80);
        Rise28 = (0, -280, 0); rise29 = (0, -280, 80); Rise30 = (0, -300, 0); rise31 = (0, -300, 80);
        Crippler17 = spawn("script_model", Crippler + Rise16);
        Crippler17 setModel("zombie_vending_jugg_on");
        Crippler18 = spawn("script_model", Crippler + Rise17);
        Crippler18 setModel("zombie_vending_jugg_on");
        Crippler19 = spawn("script_model", Crippler + Rise18);
        Crippler19 setModel("zombie_vending_jugg_on");
        Crippler20 = spawn("script_model", Crippler + Rise19);
        Crippler20 setModel("zombie_vending_jugg_on");
        Crippler21 = spawn("script_model", Crippler + Rise20);
        Crippler21 setModel("zombie_vending_jugg_on");
        wait .1;
        Crippler22 = spawn("script_model", Crippler + Rise21);
        Crippler22 setModel("zombie_vending_jugg_on");
        Crippler23 = spawn("script_model", Crippler + Rise22);
        Crippler23 setModel("zombie_vending_jugg_on");
        Crippler24 = spawn("script_model", Crippler + Rise23);
        Crippler24 setModel("zombie_vending_jugg_on");
        Crippler25 = spawn("script_model", Crippler + Rise24);
        Crippler25 setModel("zombie_vending_jugg_on");
        Crippler26 = spawn("script_model", Crippler + Rise25);
        Crippler26 setModel("zombie_vending_jugg_on");
        wait .1;
        Crippler27 = spawn("script_model", Crippler + Rise26);
        Crippler27 setModel("zombie_vending_jugg_on");
        Crippler28 = spawn("script_model", Crippler + Rise27);
        Crippler28 setModel("zombie_vending_jugg_on");
        Crippler29 = spawn("script_model", Crippler + Rise28);
        Crippler29 setModel("zombie_vending_jugg_on");
        Crippler30 = spawn("script_model", Crippler + Rise29);
        Crippler30 setModel("zombie_vending_jugg_on");
        Crippler31 = spawn("script_model", Crippler + Rise30);
        Crippler31 setModel("zombie_vending_jugg_on");
        Crippler32 = spawn("script_model", Crippler + Rise31);
        Crippler32 setModel("zombie_vending_jugg_on");
}

CreateVender8(Crippler)
{
        PlusRep = 40; Rise = (0, -300, 0); rise1 = (0, -300, 20); rise2 = (0, -300, 40); rise3 = (0, -300, 60); rise4 = (0, -300, 80); rise5 = (0, -300, 100); rise6 = (0, -300, 120); rise7 = (90, -300, 140);
        Rise8 = (180, -300, 0); rise9 = (180, -300, 20); rise10 = (180, -300, 40); rise11 = (180, -300, 60); rise12 = (180, -300, 80); rise13 = (180, -300, 100); rise14 = (180, -300, 120); rise15 = (180, -300, 140); rise16 = (0, -300, 140);
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_treasure_box");
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_treasure_box");
        Crippler2 = spawn("script_model", Crippler + Rise2);
        Crippler2 setModel("zombie_treasure_box");
        Crippler3 = spawn("script_model", Crippler + Rise3);
        Crippler3 setModel("zombie_treasure_box");
        Crippler4 = spawn("script_model", Crippler + Rise4);
        Crippler4 setModel("zombie_treasure_box");
        Crippler5 = spawn("script_model", Crippler + Rise5);
        Crippler5 setModel("zombie_treasure_box");
        wait .1;
        Crippler6 = spawn("script_model", Crippler + Rise6);
        Crippler6 setModel("zombie_treasure_box");
        Crippler7 = spawn("script_model", Crippler + Rise7);
        Crippler7 setModel("zombie_treasure_box");
        Crippler8 = spawn("script_model", Crippler + Rise8);
        Crippler8 setModel("zombie_treasure_box");
        Crippler9 = spawn("script_model", Crippler + Rise9);
        Crippler9 setModel("zombie_treasure_box");
        Crippler10 = spawn("script_model", Crippler + Rise10);
        Crippler10 setModel("zombie_treasure_box");
        wait .1;
        Crippler11 = spawn("script_model", Crippler + Rise11);
        Crippler11 setModel("zombie_treasure_box");
        Crippler12 = spawn("script_model", Crippler + Rise12);
        Crippler12 setModel("zombie_treasure_box");
        Crippler13 = spawn("script_model", Crippler + Rise13);
        Crippler13 setModel("zombie_treasure_box");
        Crippler14 = spawn("script_model", Crippler + Rise14);
        Crippler14 setModel("zombie_treasure_box");
        Crippler15 = spawn("script_model", Crippler + Rise15);
        Crippler15 setModel("zombie_treasure_box");
        Crippler16 = spawn("script_model", Crippler + Rise16);
        Crippler16 setModel("zombie_treasure_box");
}

CreateVender9(Crippler)
{
        Rise16 = (90, -300, 120); rise17 = (90, -300, 100); Rise18 = (90, -300, 80); rise19 = (90, -300, 60);
        Rise20 = (90, -300, 40); rise21 = (90, -300, 20); Rise22 = (90, -300, 0);
        Crippler17 = spawn("script_model", Crippler + Rise16);
        Crippler17 setModel("zombie_treasure_box");
        Crippler18 = spawn("script_model", Crippler + Rise17);
        Crippler18 setModel("zombie_treasure_box");
        Crippler19 = spawn("script_model", Crippler + Rise18);
        Crippler19 setModel("zombie_treasure_box");
        wait .1;
        Crippler20 = spawn("script_model", Crippler + Rise19);
        Crippler20 setModel("zombie_treasure_box");
        Crippler21 = spawn("script_model", Crippler + Rise20);
        Crippler21 setModel("zombie_treasure_box");
        Crippler22 = spawn("script_model", Crippler + Rise21);
        Crippler22 setModel("zombie_treasure_box");
        Crippler23 = spawn("script_model", Crippler + Rise22);
        Crippler23 setModel("zombie_treasure_box");

}

CreateVender10(Crippler)
{
         Rise = (0, 0, 0); rise1 = (0, 0, 20); rise2 = (90, 0, 0); rise3 = (90, 0, 20); rise6 = (0, -12, 40); rise7 = (90, -12, 60); rise4 = (90, 0, 40);
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_treasure_box");
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_treasure_box");
        Crippler2 = spawn("script_model", Crippler + Rise2);
        Crippler2 setModel("zombie_treasure_box");
        Crippler3 = spawn("script_model", Crippler + Rise3);
        Crippler3 setModel("zombie_treasure_box");
        wait .1;
        Crippler6 = spawn("script_model", Crippler + Rise6);
        Crippler6 setModel("zombie_treasure_box_lid");
        Crippler7 = spawn("script_model", Crippler + Rise7);
        Crippler7 setModel("zombie_treasure_box_lid");
        Crippler4 = spawn("script_model", Crippler + Rise4);
        Crippler4 setModel("zombie_treasure_box");
}
CreateVender11(Crippler)
{
                self thread HintVend11( Crippler );
        plusrep = 20; Rise = (0, 0, 50); cost = 15000;
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_ammocan");
        level._effect["Jesus"] = loadfx( "misc/fx_zombie_powerup_on" ); wait 1;
        playfx(level._effect["Jesus"], Crippler.origin);
                for(;;)
                {
                        wait 0.1;
                        if( distance( self.origin, Crippler ) < PlusRep ) 
                        {
                               if(self UseButtonPressed() && self.score >= cost ){
                        wait .1;
                        self playsound( "cha_ching" );
                        self.zombie_cost = 15000;
                        self.score -= 15000;
                        self GiveWeapon("zombie_ppsh_upgraded");
                        self GiveWeapon("tesla_gun_upgraded");
                        self GiveWeapon("ray_gun_upgraded");
                wait 30;
                }
            }
        }
    }
HintVend11( Crippler )
{
        PlusRep = 20;
        while( 1 )
        {
                wait .1;
                if( distance( self.origin, Crippler ) < PlusRep ) 
                {
                        self iPrintlnBold( "HOLD [{+usereload}] TO PURCHASE UPGRADED RAY GUN, WUNDERWAFFE, AND PPSH 15,000 PTS." ); 
                        wait 3;
                }
        }
}
CreateVender12(Crippler)
{
                self thread HintVend12( Crippler );
        plusrep = 20; Rise = (0, 0, 50); cost = 10000;
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_ammocan");
        level._effect["Jesus"] = loadfx( "misc/fx_zombie_powerup_on" ); wait 1;
        playfx(level._effect["Jesus"], Crippler.origin);
                for(;;)
                {
                        wait 0.1;
                        if( distance( self.origin, Crippler ) < PlusRep ) 
                        {
                               if(self UseButtonPressed() && self.score >= cost ){
                        wait .1;
                        self playsound( "cha_ching" );
                        self.zombie_cost = 10000;
                        self.score -= 10000;
                        self GiveWeapon("zombie_mg42_upgraded");
                        self GiveWeapon("zombie_thompson_upgraded");
                wait 30;
                }
            }
        }
    }
HintVend12( Crippler )
{
        PlusRep = 20;
        while( 1 )
        {
                wait .1;
                if( distance( self.origin, Crippler ) < PlusRep ) 
                {
                        self iPrintlnBold( "HOLD [{+usereload}] TO PURCHASE UPGRADED MG42 AND THOMPSON 10,000 PTS." );
                        wait 3;
                }
        }
}


CreateVender13(Crippler)
{
                self thread HintVend13( Crippler );
        plusrep = 20; Rise = (0, 0, 50); cost = 5000;
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_ammocan");
        level._effect["Jesus"] = loadfx( "misc/fx_zombie_powerup_on" ); wait 1;
        playfx(level._effect["Jesus"], Crippler.origin);
                for(;;)
                {
                        wait 0.1;
                        if( distance( self.origin, Crippler ) < PlusRep ) 
                        {
                               if(self UseButtonPressed() && self.score >= cost ){
                        wait .1;
                        self playsound( "cha_ching" );
                        self.zombie_cost = 5000;
                        self.score -= 5000;
                        self GiveWeapon("zombie_mg42");
                        self GiveWeapon("zombie_ppsh");
                wait 30;
                }
            }
        }
    }
HintVend13( Crippler )
{
        PlusRep = 20;
        while( 1 )
        {
                wait .1;
                if( distance( self.origin, Crippler ) < PlusRep ) 
                {
                        self iPrintlnBold( "HOLD [{+usereload}] TO PURCHASE MG42 AND PPSH 5,000 PTS." );
                        wait 3;
                }
        }
}
CreateVender14(Crippler)
{

        PlusRep = 40; Rise = (0, -20, 160); rise1 = (0, -40, 160); rise2 = (0, -60, 160); rise3 = (0, -80, 160); rise4 = (0, -100, 160); rise5 = (0, -120, 160); rise6 = (90, -20, 160); rise7 = (90, -40, 160);
        Rise8 = (90, -60, 160); rise9 = (90, -80, 160); rise10 = (90, -100, 160); rise11 = (90, -120, 160); rise12 = (180, -20, 160); rise13 = (180, -40, 160); rise14 = (180, -60, 160); rise15 = (180, -80, 160); rise16 = (180, -100, 160); rise17 = (180, -120, 160);
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_zapper_cagelight_green");
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_zapper_cagelight_green");
        Crippler2 = spawn("script_model", Crippler + Rise2);
        Crippler2 setModel("zombie_zapper_cagelight_green");
        Crippler3 = spawn("script_model", Crippler + Rise3);
        Crippler3 setModel("zombie_zapper_cagelight_green");
        Crippler4 = spawn("script_model", Crippler + Rise4);
        Crippler4 setModel("zombie_zapper_cagelight_green");
        wait .1;
        Crippler5 = spawn("script_model", Crippler + Rise5);
        Crippler5 setModel("zombie_zapper_cagelight_green");
        Crippler6 = spawn("script_model", Crippler + Rise6);
        Crippler6 setModel("zombie_zapper_cagelight_green");
        Crippler7 = spawn("script_model", Crippler + Rise7);
        Crippler7 setModel("zombie_zapper_cagelight_green");
        Crippler8 = spawn("script_model", Crippler + Rise8);
        Crippler8 setModel("zombie_zapper_cagelight_green");
        Crippler9 = spawn("script_model", Crippler + Rise9);
        Crippler9 setModel("zombie_zapper_cagelight_green");
        Crippler10 = spawn("script_model", Crippler + Rise10);
        Crippler10 setModel("zombie_zapper_cagelight_green");
        Crippler11 = spawn("script_model", Crippler + Rise11);
        Crippler11 setModel("zombie_zapper_cagelight_green");
        wait .1;
        Crippler12 = spawn("script_model", Crippler + Rise12);
        Crippler12 setModel("zombie_zapper_cagelight_green");
        Crippler13 = spawn("script_model", Crippler + Rise13);
        Crippler13 setModel("zombie_zapper_cagelight_green");
        Crippler14 = spawn("script_model", Crippler + Rise14);
        Crippler14 setModel("zombie_zapper_cagelight_green");
        Crippler15 = spawn("script_model", Crippler + Rise15);
        Crippler15 setModel("zombie_zapper_cagelight_green");
        Crippler16 = spawn("script_model", Crippler + Rise16);
        Crippler16 setModel("zombie_zapper_cagelight_green");
        Crippler17 = spawn("script_model", Crippler + Rise17);
        Crippler17 setModel("zombie_zapper_cagelight_green");
}

CreateVender15(Crippler)
{

        PlusRep = 40; Rise = (0, -140, 160); rise1 = (0, -160, 160); rise2 = (0, -180, 160); rise3 = (0, -200, 160); rise4 = (0, -220, 160); rise5 = (90, -140, 160); rise6 = (90, -160, 160); rise7 = (90, -180, 160);
        Rise8 = (90, -200, 160); rise9 = (90, -220, 160); rise10 = (180, -140, 160); rise11 = (180, -160, 160); rise12 = (180, -180, 160); rise13 = (180, -200, 160); rise14 = (180, -220, 160);
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_zapper_cagelight_green");
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_zapper_cagelight_green");
        Crippler2 = spawn("script_model", Crippler + Rise2);
        Crippler2 setModel("zombie_zapper_cagelight_green");
        Crippler3 = spawn("script_model", Crippler + Rise3);
        Crippler3 setModel("zombie_zapper_cagelight_green");
        Crippler4 = spawn("script_model", Crippler + Rise4);
        Crippler4 setModel("zombie_zapper_cagelight_green");
        Crippler5 = spawn("script_model", Crippler + Rise5);
        Crippler5 setModel("zombie_zapper_cagelight_green");
        Crippler6 = spawn("script_model", Crippler + Rise6);
        Crippler6 setModel("zombie_zapper_cagelight_green");
        wait .1;
        Crippler7 = spawn("script_model", Crippler + Rise7);
        Crippler7 setModel("zombie_zapper_cagelight_green");
        Crippler8 = spawn("script_model", Crippler + Rise8);
        Crippler8 setModel("zombie_zapper_cagelight_green");
        Crippler9 = spawn("script_model", Crippler + Rise9);
        Crippler9 setModel("zombie_zapper_cagelight_green");
        Crippler10 = spawn("script_model", Crippler + Rise10);
        Crippler10 setModel("zombie_zapper_cagelight_green");
        Crippler11 = spawn("script_model", Crippler + Rise11);
        Crippler11 setModel("zombie_zapper_cagelight_green");
        Crippler12 = spawn("script_model", Crippler + Rise12);
        Crippler12 setModel("zombie_zapper_cagelight_green");
        Crippler13 = spawn("script_model", Crippler + Rise13);
        Crippler13 setModel("zombie_zapper_cagelight_green");
        Crippler14 = spawn("script_model", Crippler + Rise14);
        Crippler14 setModel("zombie_zapper_cagelight_green");
}

CreateVender16(Crippler)
{

        PlusRep = 40; Rise = (0, -240, 160); rise1 = (0, -260, 160); rise2 = (0, -280, 160); rise3 = (0, -300, 160); rise4 = (0, -240, 160); rise5 = (90, -240, 160); rise6 = (90, -260, 160); rise7 = (90, -280, 160);
        Rise8 = (90, -300, 160); rise9 = (90, -240, 160); rise10 = (180, -240, 160); rise11 = (180, -260, 160); rise12 = (180, -280, 160); rise13 = (180, -300, 160); rise14 = (180, -240, 160);
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_zapper_cagelight_green");
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_zapper_cagelight_green");
        Crippler2 = spawn("script_model", Crippler + Rise2);
        Crippler2 setModel("zombie_zapper_cagelight_green");
        Crippler3 = spawn("script_model", Crippler + Rise3);
        Crippler3 setModel("zombie_zapper_cagelight_green");
        Crippler4 = spawn("script_model", Crippler + Rise4);
        Crippler4 setModel("zombie_zapper_cagelight_green");
        Crippler5 = spawn("script_model", Crippler + Rise5);
        Crippler5 setModel("zombie_zapper_cagelight_green");
        Crippler6 = spawn("script_model", Crippler + Rise6);
        Crippler6 setModel("zombie_zapper_cagelight_green");
        wait .1;
        Crippler7 = spawn("script_model", Crippler + Rise7);
        Crippler7 setModel("zombie_zapper_cagelight_green");
        Crippler8 = spawn("script_model", Crippler + Rise8);
        Crippler8 setModel("zombie_zapper_cagelight_green");
        Crippler9 = spawn("script_model", Crippler + Rise9);
        Crippler9 setModel("zombie_zapper_cagelight_green");
        Crippler10 = spawn("script_model", Crippler + Rise10);
        Crippler10 setModel("zombie_zapper_cagelight_green");
        Crippler11 = spawn("script_model", Crippler + Rise11);
        Crippler11 setModel("zombie_zapper_cagelight_green");
        Crippler12 = spawn("script_model", Crippler + Rise12);
        Crippler12 setModel("zombie_zapper_cagelight_green");
        Crippler13 = spawn("script_model", Crippler + Rise13);
        Crippler13 setModel("zombie_zapper_cagelight_green");
        Crippler14 = spawn("script_model", Crippler + Rise14);
        Crippler14 setModel("zombie_zapper_cagelight_green");
}
CreateVender17(Crippler)
{
self endon ( "disconnect" );
self endon ( "death" ); 
        self thread HintVend17( Crippler );
        PlusRep = 40; Rise = (0, 0, 0); cost =100;     
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_vending_jugg_on");
        level._effect["Jesus"] = loadfx( "misc/fx_zombie_powerup_on" ); wait 1;
        level._effect["Jesus7s"] = loadfx ("misc/fx_ui_airstrike_smk_yellow");
        level._effect["Jesus7s1"] = loadfx("misc/fx_black_box");
        playfx(level._effect["Jesus7s1"], Crippler.origin); wait 1;
        playfx(level._effect["Jesus7s"], Crippler.origin); wait 1;
        playfx(level._effect["Jesus"], Crippler.origin);
                for(;;)
                {
                        wait 0.1;
                        if( distance( self.origin, Crippler ) < PlusRep ) 
                        {
                                if(self UseButtonPressed() && self.score >= cost ){
                self setblur( 4, 0.1 );
                wait .5;
                self.zombie_cost = 1000;
                self.score -= 1000;
                wait 5;
                                }
                        }
                }
}
zombie_devgui_give_perk( perk )
{
        vending_triggers = GetEntArray( "zombie_vending", "targetname" );

        if ( vending_triggers.size < 1 )
        {
                iPrintlnBold( "Map does not contain any perks machines" );
                return;
        }

        for ( i = 0; i < vending_triggers.size; i++ )
        {
                if ( vending_triggers[i].script_noteworthy == perk )
                {
                        vending_triggers[i] notify( "trigger", self );
                        return;
                }
        }

        iPrintlnBold( "Map does not contain perks machine with perk: " + perk );
}
HintVend17( Crippler )
{
        PlusRep = 40;
        while( 1 )
        {
                wait .1;
                if( distance( self.origin, Crippler ) < PlusRep ) 
                {
                        self iPrintlnBold( "HOLD [{+usereload}] TO PURCHASE JUGGS 1,000 PTS." );
                        wait 3;
                }
        }
}

CreateVender18(Crippler)
{
self endon ( "disconnect" );
self endon ( "death" );
        self thread HintVend18( Crippler );
        PlusRep = 40; Rise = (0, 0, 40); quake = 125; nuke = 2000; munk = 200; cost = 20;
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_skull");
        level._effect["Jesus"] = loadfx( "misc/fx_zombie_powerup_on" ); wait 1; 
        level._effect["Jesus7s1"] = loadfx("misc/fx_zombie_electric_trap");
        level._effect["Jesus7s2"] = loadfx("maps/zombie/fx_zombie_wire_spark");
        level._effect["Jesus7s3"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_small");
        playfx(level._effect["Jesus7s3"], Crippler.origin); wait 1;
        playfx(level._effect["Jesus7s2"], Crippler.origin); wait 1;
        playfx(level._effect["Jesus7s1"], Crippler.origin); wait 1;
        playfx(level._effect["Jesus"], Crippler.origin);
                for(;;)
                {
                        wait 0.1;
                        if( distance( self.origin, Crippler ) < PlusRep )
                        {
                                if(self UseButtonPressed() && self.score >= cost ){
                level.zombie_vars["zombie_insta_kill"] = 1;
                self.score -= 2000;
                self iPrintlnBold( "^260 SECOND INSTAKILL ACTIVATED" );
                self playsound( "cha_ching" );
                self thread start_timer();
                self thread insta();
                wait 60;
                self playsound( "packa_weap_ready" );
                level.zombie_vars["zombie_insta_kill"] = 0;
                }
            }
        }
    }


HintVend18( Crippler )
{
        PlusRep = 40;
        while( 1 )
        {
                wait .1;
                if( distance( self.origin, Crippler ) < PlusRep ) 
                {
                        self iPrintlnBold( "[{+usereload}] ^22000 ^0Points for ^160 SECOND INSTAKILL [{+usereload}]" );
                        wait 3;
                }
        }
}
insta()
{
        self endon ( "noinsta" );
        self endon ( "death" );
        self endon ( "disconnect" );
        shader_inst = "specialty_instakill_zombies";
        hud9 = newHudElem();
        hud9.foreground = true;
        hud9.sort = 1;
        hud9.hidewheninmenu = false;
        hud9.alignX = "left";
        hud9.alignY = "top";
        hud9.horzAlign = "left";
        hud9.vertAlign = "top";
        hud9.x = 105; 
        hud9.y = 45;
        hud9.alpha = 1;
        hud9.fontscale = 1.25;
        hud9.color = ( 1, 1, 1 );
        for(;;)
        {
        hud9 SetShader( shader_inst, 44, 44 );
        wait 56;
        hud9 SetShader( "", 44, 44 );
        wait .5;
        hud9 SetShader( shader_inst, 44, 44 );
        wait .5;
        hud9 SetShader( "", 44, 44 );
        wait .5;
        hud9 SetShader( shader_inst, 44, 44 );
        wait .5;
        hud9 SetShader( "", 44, 44 );
        wait .5;
        hud9 SetShader( shader_inst, 44, 44 );
        wait .5;
        hud9 SetShader( "", 44, 44 );
        wait .5;
        hud9 SetShader( shader_inst, 44, 44 );
        wait .5;
        hud9 SetShader( "", 44, 44 );
        wait .5;
        hud9 SetShader( shader_inst, 44, 44 );
        wait .5;
        hud9 SetShader( "", 44, 44 );
        wait .1;
        self notify ( "noinsta" );
        }
}
start_timer( time, stop_notify )
{
        self notify ("stop_prev_timer");
        self endon ("stop_prev_timer");

        if( !isDefined( self.stopwatch_elem ) )
        {
                self.stopwatch_elem = newHudElem();
                self.stopwatch_elem.horzAlign = "left";
                self.stopwatch_elem.vertAlign = "top";
                self.stopwatch_elem.alignX = "left";
                self.stopwatch_elem.alignY = "top";
                self.stopwatch_elem.x = 10;
                self.stopwatch_elem.y = 20;
                self.stopwatch_elem.alpha = 0;
                self.stopwatch_elem.sort = 2;
               
                self.stopwatch_elem_glass = newHudElem();
                self.stopwatch_elem_glass.horzAlign = "left";
                self.stopwatch_elem_glass.vertAlign = "top";
                self.stopwatch_elem_glass.alignX = "left";
                self.stopwatch_elem_glass.alignY = "top";
                self.stopwatch_elem_glass.x = 10;
                self.stopwatch_elem_glass.y = 20;
                self.stopwatch_elem_glass.alpha = 0;
                self.stopwatch_elem_glass.sort = 3;
                self.stopwatch_elem_glass setShader( "zombie_stopwatch_glass", level.stopwatch_length_width, level.stopwatch_length_width );
        }

        if( isDefined( stop_notify ) )
        {
                self thread wait_for_stop_notify( stop_notify );
        }
        if( time > 60 )
        {
                time = 60;
        }
        self.stopwatch_elem setClock( time, 60, "zombie_stopwatch", level.stopwatch_length_width, level.stopwatch_length_width );
        self.stopwatch_elem.alpha = 1;
        self.stopwatch_elem_glass.alpha = 1;
        wait( time );
        self notify( "countdown_finished" );
        wait( 1 );
        self.stopwatch_elem.alpha = 0;
        self.stopwatch_elem_glass.alpha = 0;
       
}

wait_for_stop_notify( stop_notify )
{
        self endon ("stop_prev_timer");
        self endon( "countdown_finished" );
       
        self waittill( stop_notify );
       
        self.stopwatch_elem.alpha = 0;
        self.stopwatch_elem_glass.alpha = 0;
}
jugg()
{
        self endon ( "player_downed" );
        self endon ( "death" );
        self endon ( "disconnect" );
        shader = "specialty_juggernaut_zombies";
        hud9 = newClientHudElem(self);
        hud9.foreground = true;
        hud9.sort = 1;
        hud9.hidewheninmenu = false;
        hud9.alignX = "left";
        hud9.alignY = "top";
        hud9.horzAlign = "left";
        hud9.vertAlign = "top";
        hud9.x = 20; 
        hud9.y = 300;
        hud9.alpha = 1;
        hud9.fontscale = 1.25;
        hud9.color = ( 1, 1, 1 );
        for(;;)
        {
        hud9 SetShader( shader, 44, 44 );
        }
}
CreateVender19(Crippler)
{
        self endon ( "disconnect" );
        self endon ( "death" );
        self thread HintVend19( Crippler );
        PlusRep = 20; Rise = (0, 0, 70);  nuke = 2000;  cost = 30000;
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_ammocan");
        level._effect["Jesus"] = loadfx( "misc/fx_zombie_powerup_on" ); wait 1; 
        level._effect["Jesus7s1"] = loadfx("misc/fx_zombie_electric_trap");
        level._effect["Jesus7s2"] = loadfx("maps/zombie/fx_zombie_wire_spark");
        level._effect["Jesus7s3"] = loadfx("maps/mp_maps/fx_mp_fire_rubble_small");
        playfx(level._effect["Jesus7s3"], Crippler.origin); wait 1;
        playfx(level._effect["Jesus7s2"], Crippler.origin); wait 1;
        playfx(level._effect["Jesus7s1"], Crippler.origin); wait 1;
        playfx(level._effect["Jesus"], Crippler.origin);
                for(;;)
                {
                wait .1;
                        if( distance( self.origin, Crippler ) < PlusRep ) 
                        {
                                if(self UseButtonPressed() && self.score >= cost ){
                        self.zombie_cost = 30000;
                        self.score -= 30000; 
                        self.score_total -=30000;       
                self thread GiveAll();
                self playsound("cha_ching");
                wait .3;
                self playsound("laugh_child");
                wait 30;
                }
            }
        }
    }


HintVend19( Crippler )
{
        PlusRep = 20;
        while( 1 )
        {
                wait .1;
                if( distance( self.origin, Crippler ) < PlusRep ) 
                {
                        self iPrintlnBold( "HOLD [{+usereload}] TO PURCHASE ^1ALL GUNS ^730,000 PTS." );
                        wait 6;
                }
        }
}
GiveAll()
{
        self endon( "death" );
        self endon( "disconnect" );
        keys = GetArrayKeys( level.zombie_weapons );
        for( i = 0; i < keys.size; i++ )
        {
                self GiveWeapon( keys[i], 0 );
                wait 0.02;
        }
}
Score()
{
self endon ( "disconnect" );
self endon ( "death" );
        while(1)
        {
                if( level.round_number >= 1 )
                {
                        self.score += 19500;
                        self.score_total +=19500;
                        wait 1;
                        return;
                }
        }
}

CreateVender20(Crippler) 
{
        self thread HintVend20( Crippler );
        openRoll = 180;
        openTime = 0.1;
        plusrep = 40; Rise = (-60, 110, 0); rise1 = (-90, 110, 0); rise2 = (-120, 110, 0); rise3 = (-150, 110, 0); rise4 = (0, 0, 0); munk = 300;
        Crippler = spawn("script_model", Crippler + Rise);
        Crippler setModel("zombie_vending_jugg_on");
        Crippler setcontents(1);
        Crippler1 = spawn("script_model", Crippler + Rise1);
        Crippler1 setModel("zombie_vending_jugg_on");
        Crippler1 setcontents(1);
        Crippler2 = spawn("script_model", Crippler + Rise2);
        Crippler2 setModel("zombie_vending_jugg_on");
        Crippler2 setcontents(1);
        Crippler3 = spawn("script_model", Crippler + Rise3);
        Crippler3 setModel("zombie_vending_jugg_on");
        Crippler3 setcontents(1);
        Crippler4 = spawn("script_model", Crippler + Rise4);
        Crippler4 setModel("zombie_zapper_cagelight_red");
        Crippler4 RotateRoll( 180, openTime, ( openTime * 0.1 ) );
                for(;;)
                { 
                        wait .1;
                                 if( distance( self.origin, Crippler ) < PlusRep)
                                {
                                 if(self UseButtonPressed()){
                                 Crippler moveto (Crippler.origin + (105,0,0),2);
                                 Crippler1 moveto (Crippler1.origin + (105,0,0),2);
                                 Crippler2 moveto (Crippler2.origin + (105,0,0),2);
                                 Crippler3 moveto (Crippler3.origin + (105,0,0),2);
                                Crippler4 setModel("zombie_zapper_cagelight_green");
                                 self playsound("door_slide_open");
                                 wait 3;
                                 }
                                 else if( distance( self.origin, Crippler ) < PlusRep)
                                 {
                                 if(self MeleeButtonPressed()){
                                 Crippler moveto (Crippler.origin + (-105,0,0),2);
                                 Crippler1 moveto (Crippler1.origin + (-105,0,0),2);
                                 Crippler2 moveto (Crippler2.origin + (-105,0,0),2);
                                 Crippler3 moveto (Crippler3.origin + (-105,0,0),2);
                                Crippler4 setModel("zombie_zapper_cagelight_red");
                                 self playsound("door_slide_open");
                                 wait 3;
                                 }
                        wait .1;
           }
}
}
}
HintVend20( Crippler )
{
        PlusRep = 20;
        while( 1 )
        {
                wait .1;
                if( distance( self.origin, Crippler ) < PlusRep ) 
                {
                        self iPrintlnBold( "HOLD [{+usereload}] TO OPEN OR CLOSE DOOR" );
                        wait 6;
                }
        }
}

CreateVender21(Crippler)
{
 self endon ( "disconnect" );
                while( 1 )
                {
                munk = 200;
                zombies = GetAiSpeciesArray( "axis", "all" );
                for (i = 0; i < zombies.size; i++)             
                if( distance( zombies[i].origin, Crippler ) < munk )           
                zombies[i] dodamage(zombies[i].health + 666, zombies[i].origin);
                wait .1;
                }
 }

zombieskull()
{
self endon ( "disconnect" );
self endon ( "death" );
while(1)
{
zombies = getaiarray("axis");
for ( i = 0; i < zombies.size; i++ )
zombies[i] attach("zombie_skull", "J_Eyeball_LE", true);
wait .1;
zombies[i] attach("zombie_bomb", "J_Eyeball_LE", true);
wait .1;
zombies[i] attach("zombie_carpenter", "J_Eyeball_LE", true);
wait .1;
zombies[i] attach("zombie_ammocan", "J_Eyeball_LE", true);
wait .1;
zombies[i] attach("defaultvehicle", "J_Eyeball_LE", true);
wait .1;
zombies[i] attach("zombie_treasure_box", "J_Eyeball_LE", true);
wait .1;
zombies[i] attach("zombie_monkey_bomb", "J_Eyeball_LE", true);
wait .1;

}

Mikey's Skybase:
SkyBase()
{
Mikey = spawn( "script_model", (27, -242, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -266, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -290, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -314, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -338, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -362, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -386, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -410, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -434, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -458, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -482, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -506, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
wait .5;
Mikey = spawn( "script_model", (117, -242, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -266, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -290, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -314, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -338, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -362, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -386, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -410, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );

Mikey = spawn( "script_model", (-63, -242, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -266, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -290, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -314, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -338, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -362, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -386, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -410, 466.125) ); Mikey setModel( "zombie_treasure_box_lid" );
wait .5;
Mikey = spawn( "script_model", (27, -242, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -266, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -290, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -314, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -338, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -362, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -386, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -410, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -434, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -458, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -482, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -506, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );

Mikey = spawn( "script_model", (117, -242, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -266, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -290, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -314, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -338, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -362, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -386, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -410, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
wait .5;
Mikey = spawn( "script_model", (-63, -242, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -266, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -290, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -314, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -338, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -362, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -386, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -410, 555.125) ); Mikey setModel( "zombie_treasure_box_lid" );

Mikey = spawn( "script_model", (-119, -273, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-119, -273, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-119, -273, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-119, -273, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-119, -273, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
wait .5;
Mikey = spawn( "script_model", (-119, -366, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-119, -366, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-119, -366, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-119, -366, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-119, -366, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);

Mikey = spawn( "script_model", (174, -366, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (174, -366, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (174, -366, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (174, -366, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (174, -366, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
wait .5;
Mikey = spawn( "script_model", (174, -273, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (174, -273, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (174, -273, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (174, -273, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (174, -273, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);

Mikey = spawn( "script_model", (27, -515, 466.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (27, -515, 483.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (27, -515, 501.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (27, -515, 519.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (27, -515, 537.125) ); Mikey setModel( "zombie_treasure_box" );

Mikey = spawn( "script_model", (-63, -422, 466.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (-63, -422, 483.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (-63, -422, 501.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (-63, -422, 519.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (-63, -422, 537.125) ); Mikey setModel( "zombie_treasure_box" );
wait .5;
Mikey = spawn( "script_model", (117, -422, 466.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (117, -422, 483.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (117, -422, 501.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (117, -422, 519.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (117, -422, 537.125) ); Mikey setModel( "zombie_treasure_box" );

Mikey = spawn( "script_model", (27, -216, 466.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (27, -228, 484.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (27, -216, 537.125) ); Mikey setModel( "zombie_treasure_box" );

Mikey = spawn( "script_model", (117, -216, 466.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (117, -228, 484.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -216, 537.125) ); Mikey setModel( "zombie_treasure_box" );
wait .5;
Mikey = spawn( "script_model", (-63, -216, 466.125) ); Mikey setModel( "zombie_treasure_box" );
Mikey = spawn( "script_model", (-63, -228, 484.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -216, 537.125) ); Mikey setModel( "zombie_treasure_box" );

Mikey = spawn( "script_model", (85, -465, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (85, -465, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (85, -465, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (85, -465, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (85, -465, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);

Mikey = spawn( "script_model", (-31, -467, 466.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-31, -467, 483.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-31, -467, 501.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-31, -467, 519.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
Mikey = spawn( "script_model", (-31, -467, 537.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (0,90,0);
wait .5;
Mikey = spawn( "script_model", (144, -216, 511.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (90,0,0);
Mikey = spawn( "script_model", (-109, -216, 511.125) ); Mikey setModel( "zombie_treasure_box" ); Mikey.angles = (90,0,0);

Mikey = spawn( "script_model", (-92, -228, 511) ); Mikey setModel( "zombie_treasure_box_lid" ); Mikey.angles = (90,0,0);
Mikey = spawn( "script_model", (143, -228, 511) ); Mikey setModel( "zombie_treasure_box_lid" ); Mikey.angles = (90,0,0);

Mikey = spawn( "script_model", (27, -228, 537.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (117, -228, 537.125) ); Mikey setModel( "zombie_treasure_box_lid" );
Mikey = spawn( "script_model", (-63, -228, 537.125) ); Mikey setModel( "zombie_treasure_box_lid" );

level.packo = spawn( "script_model", (150, -320, 466.125) );
level.packo.angles = (0,270,0);
level.packo setModel( "zombie_vending_packapunch_on" );
level.packoSolid = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 100, 100 );
level.packoSolid.origin = (150, -320, 466.125);
level.packoSolid.angles = (0, 270, 0);
level.packoSolid setContents( 1 );

level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 9000, 9000 ); level.base.origin = (24, -350, 556); level.base setContents( 1 );
wait .5;
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-96, -215, 440); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-66, -215, 440); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-36, -215, 440); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-6, -215, 440); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (24, -215, 440); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (54, -215, 440); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (84, -215, 440); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (114, -215, 440); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (144, -215, 440); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (156, -215, 440); level.base setContents( 1 );

level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-96, -215, 533); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-66, -215, 533); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-36, -215, 533); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-6, -215, 533); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (24, -215, 533); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (54, -215, 533); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (84, -215, 533); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (114, -215, 533); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (144, -215, 533); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (156, -215, 533); level.base setContents( 1 );

level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 35, 35 ); level.base.origin = (-35, -416, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-35, -457, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-35, -498, 480); level.base setContents( 1 );

level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 35, 35 ); level.base.origin = (90, -416, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (90, -457, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (90, -498, 480); level.base setContents( 1 );

level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 35, 35 ); level.base.origin = (-38, -432, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-63, -432, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-107, -432, 480); level.base setContents( 1 );

level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 35, 35 ); level.base.origin = (72, -432, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (117, -432, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (141, -432, 480); level.base setContents( 1 );
wait .5;
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-119, -407, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-119, -362, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-119, -317, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-119, -248, 480); level.base setContents( 1 );

level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (174, -268, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (174, -314, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (174, -360, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (174, -380, 480); level.base setContents( 1 );

level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (-17, -515, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (39, -515, 480); level.base setContents( 1 );
level.base = spawn( "trigger_radius", ( 0, 0, 0 ), 0, 50, 50 ); level.base.origin = (71, -515, 480); level.base setContents( 1 );
}

Lunar Lander:
doLunarLander()
{
if(self GetTehMap() == "nzf")
{
self.LunasSpawned = true;
self thread platform_Models();
self thread platform_playerFalse();
self thread platform_R();
self thread platform_R2();
}
if(self GetTehMap() == "nzp" && self GetTehMap() == "nza" && self GetTehMap() == "nzs")
{
self iprintln("^1You Can Only Spawn The Lunar Lander On ^2Der Riese^1!");
}
}
platform_Models()
{
    self endon("disconnect");
    level.LunarInUse = false;
    level.LunarPosition = "Spawn";
    SpawnPos = ( 52, -440, 1.8 );
    level.Lunar1 = spawn( "script_model", SpawnPos );
    level.Lunar1 setmodel( "zombie_teleporter_pad" );
    level.Lunar2 = spawn( "script_model", level.Lunar1.origin );
    level.Lunar2 setModel( "zombie_teleporter_pad" );
    level.Lunar2.angles = ( -180, 0, 0 );
    level.Lunar2 linkto( level.Lunar1 );
    level.CtrlPan2 = spawn( "script_model", level.Lunar1.origin + ( 0, 8, 25 ) );
    level.CtrlPan2 setmodel( "zombie_teleporter_control_panel" );
    level.CtrlPan2.angles = ( 0, 180, 0 );
    level.CtrlPan2 linkto( level.Lunar1 );
    level.CtrlPan = spawn( "script_model", level.Lunar1.origin + ( 0, -8, 25 ) );
    level.CtrlPan setmodel( "zombie_teleporter_control_panel" );
    level.CtrlPan linkto( level.Lunar1 );
    level.PlayerOrig0 = spawn( "script_model", level.Lunar1.origin + ( 0, 50, 10 ) );
    level.PlayerOrig0 linkto( level.Lunar1 );
    level.PlayerOrig2 = spawn( "script_model", level.Lunar1.origin + ( 0, -50, 10 ) );
    level.PlayerOrig2 linkto( level.Lunar1 );
    level.PlayerOrig3 = spawn( "script_model", level.Lunar1.origin + ( 50, 0, 10 ) );
    level.PlayerOrig3 linkto( level.Lunar1 );
    level.PlayerOrig4 = spawn( "script_model", level.Lunar1.origin + ( -50, 0, 10 ) );
    level.PlayerOrig4 linkto( level.Lunar1 );
    level._effect["zombie_flashback_american"] = loadfx( "maps/zombie/fx_zombie_flashback_american" );
    playfx( level._effect["zombie_flashback_american"], SpawnPos );
    playfx( level._effect["zombie_flashback_american"], SpawnPos );
    playfx( level._effect["zombie_flashback_american"], ( 300, -1740, 58 ) );
    playfx( level._effect["zombie_flashback_american"], ( 300, -1740, 58 ) );
}
platform_R()
{
    self endon("disconnect");
    level thread add_zombie_hint( "Trigger_1", "Press &&1 To Use Lunar Lander" );
    level.trig = spawn( "trigger_radius", level.Lunar1.origin, 1, 50, 20 );
    level.trig SetCursorHint( "HINT_NOICON" );
    level.trig UseTriggerRequireLookAt();
    level.trig set_hint_string( level.trig, "Trigger_1" );
    cost = 0;
    for(;;)
    {
        level.trig waittill( "trigger", i );
        if( i UseButtonPressed() && level.LunarPosition == "Spawn" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
        {
            if(i.score >= cost )
            {
                i.zombie_cost = 0;
                i.score -= 0;
                level.LunarInUse = true;
                level.trig SetHintString( "Lunar Lander In Use" );
                level.trig2 SetHintString( "Lunar Lander In Use" );
                i platform_Spawn2Dest();
                level.LunarPosition = "Destination";
                level.LunarInUse = false;
                level.trig SetHintString( "Press &&1 To Call Lunar Lander" );
                level.trig2 SetHintString( "Press &&1 To Use Lunar Lander" );
            }
            else
            {
                i iPrintln("^1Not Enough Points");
            }
        }
        if( i UseButtonPressed() && level.LunarPosition == "Destination" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
        {
            level.LunarInUse = true;
            level.trig SetHintString( "Lunar Lander In Use" );
            level.trig2 SetHintString( "Lunar Lander In Use" );
            i platform_Dest2Spawn();
            level.LunarPosition = "Spawn";
            level.LunarInUse = false;
            level.trig SetHintString( "Press &&1 To Use Lunar Lander" );
            level.trig2 SetHintString( "Press &&1 To Call Lunar Lander" );
        }
    }
}
platform_R2()
{
    self endon("disconnect");
    DestPos = ( 300, -1740, 63 );
    level thread add_zombie_hint( "Trigger_1", "Press &&1 To Use Lunar Lander" );
    level.trig2 = spawn( "trigger_radius", DestPos, 1, 50, 20 );
    level.trig2 SetCursorHint( "HINT_NOICON" );
    level.trig2 UseTriggerRequireLookAt();
    level.trig2 set_hint_string( level.trig2, "Trigger_2" );
    cost = 0;
    for(;;)
    {
        level.trig2 waittill( "trigger", i );
        if( i UseButtonPressed() && level.LunarPosition == "Spawn" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
        {
            level.LunarInUse = true;
            level.trig SetHintString( "Lunar Lander In Use" );
            level.trig2 SetHintString( "Lunar Lander In Use" );
            i platform_Spawn2Dest();
            level.LunarPosition = "Destination";
            level.LunarInUse = false;
            level.trig SetHintString( "Press &&1 To Call Lunar Lander" );
            level.trig2 SetHintString( "Press &&1 To Use Lunar Lander" );
        }
        if( i UseButtonPressed() && level.LunarPosition == "Destination" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
        {
            if(i.score >= cost )
            {
                i.zombie_cost = 0;
                i.score -= 0;
                level.LunarInUse = true;
                level.trig SetHintString( "Lunar Lander In Use" );
                level.trig2 SetHintString( "Lunar Lander In Use" );
                i platform_Dest2Spawn();
                level.LunarPosition = "Spawn";
                level.LunarInUse = false;
                level.trig SetHintString( "Press &&1 To Use Lunar Lander" );
                level.trig2 SetHintString( "Press &&1 To Call Lunar Lander" );
            }
            else
            {
                i iPrintln("^1Not Enough Points");
            }
        }
    }
}
platform_Spawn2Dest()
{
    self endon("disconnect");
    self PlayerCheck(0,level.PlayerOrig0);
    self PlayerCheck(1,level.PlayerOrig2);
    self PlayerCheck(2,level.PlayerOrig3);
    self PlayerCheck(3,level.PlayerOrig4);
    self thread platform_effect();
    self thread platform_Sound();
    self thread LunarFx( ( 52, -440, 1.8 ) );
    level.Lunar1 moveto( ( 85, -450, 699 ), 3, .5 );
    level.Lunar1 vibrate((0,-100,0), 1.5, .4, 3);
    level.Lunar1 waittill( "movedone" );
    wait .2;
    level.Lunar1 moveto( ( 300, -1740, 699 ), 6 );
    level.Lunar1 waittill( "movedone" );
    wait .2;
    self thread AllDeath1();
    level.Lunar1 moveto( ( 300, -1740, 58 ), 3, 0, .5 );
    level.Lunar1 vibrate((0,-100,0), 1.5, .4, 2.5);
    level.Lunar1 waittill( "movedone" );
    self PlayerUnlink(0);
    self PlayerUnlink(1);
    self PlayerUnlink(2);
    self PlayerUnlink(3);
    self notify( "platform_arived" );
}
platform_Dest2Spawn()
{
    self endon("disconnect");
    self PlayerCheck(0,level.PlayerOrig0);
    self PlayerCheck(1,level.PlayerOrig2);
    self PlayerCheck(2,level.PlayerOrig3);
    self PlayerCheck(3,level.PlayerOrig4);
    self thread platform_effect();
    self thread platform_Sound();

    self thread LunarFx( ( 300, -1740, 63 ) );
    level.Lunar1 moveto( ( 300, -1740, 699 ), 3, .5 );
    level.Lunar1 vibrate((0,-100,0), 1.5, .4, 3);
    level.Lunar1 waittill( "movedone" );
    wait .2;
    level.Lunar1 moveto( ( 52, -440, 699 ), 6 );
    level.Lunar1 waittill( "movedone" );
    wait .2;
    self thread AllDeath2();
    level.Lunar1 moveto( ( 52, -440, 1.8 ), 3, 0, .5 );
    level.Lunar1 vibrate((0,-100,0), 1.5, .4, 2.5);
    level.Lunar1 waittill( "movedone" );
    self PlayerUnlink(0);
    self PlayerUnlink(1);
    self PlayerUnlink(2);
    self PlayerUnlink(3);
    self notify( "platform_arived" );
}
PlayerCheck(num, origin)
{
    self endon("disconnect");
    P = get_players();
    if( distance( P[num].origin, level.Lunar1.origin ) < 100 )
    {
        P[num] EnableHealthShield( true );
        P[num] EnableInvulnerability();
        P[num] playerLinkTo( origin );
    }
}
PlayerUnlink(num)
{
    self endon("disconnect");
    P = get_players();
    if( distance( P[num].origin, level.Lunar1.origin ) < 100 )
    {
        P[num] unlink();
        P[num] EnableHealthShield( false );
        P[num] DisableInvulnerability();
        P[num].OnLunar = false;
    }
}
platform_effect()
{
    self endon("disconnect");
    self endon("platform_arived");
    for(;;)
    {
        earthquake (.15, .2, level.Lunar2.origin, 500);
        wait .2;
    }
}
platform_Sound()
{
    self endon("disconnect");
    self endon("platform_arived");
    for(;;)
    {
        playsoundatposition( "wpn_flmthwr_mn_flame", level.Lunar2.origin );
        self PlaySound("wpn_flmthwr_mn_flame","wpn",true);
        wait 1.5;
    }
}

AllDeath1()
{
    wait 2;
    self thread playerDie((300, -1740, 58), 0);
    self thread playerDie((300, -1740, 58), 1);
    self thread playerDie((300, -1740, 58), 2);
    self thread playerDie((300, -1740, 58), 3);

}
AllDeath2()
{
    wait 2;
    self thread playerDie((52, -440, 1.8), 0);
    self thread playerDie((52, -440, 1.8), 1);
    self thread playerDie((52, -440, 1.8), 2);
    self thread playerDie((52, -440, 1.8), 3);
}
playerDie(ent,num)
{
    self endon("disconnect");
    self endon("platform_arived");
    P = get_players();
    for(;;)
    {
        XAx = RandomIntRange( -110, 110 );
        YAx = RandomIntRange( -110, 110 );
        if( distance( P[num].origin, ent ) < 100 && P[num].OnLunar == false )
        {
            P[num] DoDamage( P[num].health + 999999, P[num].origin, undefined, undefined, "riflebullet" );
            P[num] setOrigin( ent + ( XAx, YAx, 3 ) );
        }
        wait .01;
    }
}
platform_playerFalse()
{
    for( i = 0;i < get_players().size;
    i++ )
    {
        get_players()[i].OnLunar = false;
    }
}
LunarFx( orig )
{
    self endon("disconnect");
    level._effect["mainframe_steam"] = loadfx( "maps/zombie/fx_zombie_mainframe_steam" );
    a = "mainframe_steam";
    playfx( level._effect[a], orig + ( 50, -50, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( -50, -50, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( 50, 50, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( -50, 50, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( 0, -50, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( 0, 50, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( -50, 0, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( 50, 0, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( -50, 25, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( -50, -25, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( 50, 25, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( 50, -25, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( -25, -50, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( -25, 50, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( 25, -50, 0 ) );
    wait .05;
    playfx( level._effect[a], orig + ( 25, 50, 0 ) );
    wait .05;
}

Walking Ac130:
AC130()
{
        self endon( "AC130Done" );
        {
                wait 1;
                self EnableInvulnerability();
                self setClientDvar( "cg_drawcrosshair", "0" );
                self setClientDvar( "cg_drawGun", "0" );
                self setClientDvar( "ui_hud_hardcore", "1" );
                self setClientDvar( "cg_fov", "100" );
                self setClientDvar( "g_gravity", "1" );
                self setClientDvar( "jump_height", "999" );
                self VisionSetNaked( "cheat_bw_invert_contrast", 1);
                self SetPerk("specialty_rof");
                self thread FadeToBlack();
                self TakeAllWeapons();
                wait .5;
                self giveWeapon( "panzerschrek_zombie_upgraded" );
                wait .2;
                self giveWeapon( "zombie_colt_upgraded" );
                wait .2;
                self giveWeapon( "zombie_ppsh_upgraded" );
                wait .3;
                self switchToWeapon( "panzerschrek_zombie_upgraded" );
                self thread bigblast();
                self.bigblast = 1;
                self.smallblast = 0;
                self.acmachine = 0;
                self.ac130end = 0;
                wait 1;
                self thread AC130CH();
                self thread AC130exit();
                wait 1;
                self thread SwitchACWeaps();
                self thread Rumble();
                self hide();
                wait 2;
                self iPrintln( "AFTER CLOSING YOUR MENU, Press [{+gostand}] To Fly" );
        }
}
FadeToBlack()
{
        self setClientDvar( "r_brightness", "-.2" );
        wait .3;
        self setClientDvar( "r_brightness", "-.4" );
        wait .3;
        self setClientDvar( "r_brightness", "-.6" );
        wait .3;
        self setClientDvar( "r_brightness", "-.8" );
        wait .3;
        self setClientDvar( "r_brightness", "-1" );
        wait .3;
        self setClientDvar( "r_brightness", "0" );
}
AC130CH() 

        self endon("death");
        self endon("AC130Done");
 
        crossHair1 = NewClientHudElem(self); 
        crossHair1.location = 0; 
        crossHair1.alignX = "center"; 
        crossHair1.alignY = "middle"; 
        crossHair1.foreground = 1; 
        crossHair1.fontScale = 45; 
        crossHair1.sort = 20;
        crossHair1.alpha = 1; 
        crosshair1.font = ("bigfixed");
        crossHair1.x = 320; 
        crossHair1.y = 233;
 
        while( true )
        {
                if (self.bigblast == 1 && self.smallblast == 0 && self.acmachine == 0 && self.ac130end == 0)
                { 
                        crossHair1 setText("+");
                }
                else if (self.bigblast == 0 && self.smallblast == 1 && self.acmachine == 0 && self.ac130end == 0)
                { 
                        crossHair1 setText("-:-");
                } 
                else if (self.bigblast == 0 && self.smallblast == 0 && self.acmachine == 1 && self.ac130end == 0)
                { 
                        crossHair1 setText("><");
                } 
                else if (self.bigblast == 0 && self.smallblast == 0 && self.acmachine == 0 && self.ac130end == 1)
                { 
                        crossHair1 setText("");
                        wait .5;
                        self thread ACchremove( crossHair1 );
                } 
                wait 0.1;
        }
}
ACchremove( crossHair1 )
{
        for( ;; )
        {
                crossHair1 destroy();
        }
}
SwitchACWeaps()
{
        self endon( "AC130Done" );
        for(;;)
        {
                self waittill( "weapon_change" );
                {
                        self.bigblast = 0;
                        self.smallblast = 1;
                        self.acmachine = 0;
                        self.ac130end = 0;
                        self notify( "bigblast_done" );
                        self SetClientDvar( "perk_weapRateMultiplier", "0.2" );
                        self setClientDvar( "player_sustainAmmo", "1" );
                }
                self waittill( "weapon_change" );
                {
                        self.bigblast = 0;
                        self.smallblast = 0;
                        self.acmachine = 1;
                        self.ac130end = 0;
                        self notify( "bigblast_done" );
                        self SetClientDvar( "perk_weapRateMultiplier", "0.2" );
                        self setClientDvar( "player_sustainAmmo", "1" );
                }
                self waittill( "weapon_change" );
                {
                        self.bigblast = 1;
                        self.smallblast = 0;
                        self.acmachine = 0;
                        self.ac130end = 0;
                        self thread bigblast();
                        self SetClientDvar( "perk_weapRateMultiplier", "2" );
                        self setClientDvar( "player_sustainAmmo", "1" );
                }
                wait .1;
        }
        wait .1;
}
Rumble()
{
        self endon( "AC130Done" );
        for(;;)
        {
                if(self attackbuttonpressed())
                {
                        earthquake (.27, 1, self.origin, 1000);
                        self playsound( "nuke_flash" );
                }
                wait .1;
        }
}
AC130exit()
{
        self endon( "AC130Done" );
        for(;;)
        {
                if(self meleebuttonpressed())
                {
                        self setClientDvar( "cg_drawcrosshair", "1" );
                        self setClientDvar( "cg_drawGun", "1" );
                        self setClientDvar( "ui_hud_hardcore", "0" );
                        self setClientDvar( "cg_fov", "75" );
                        self setClientDvar( "g_gravity", "150" );
                        self SetClientDvar( "perk_weapRateMultiplier", "1" );
                        self VisionSetNaked( "default", 1);
                        self thread giveallweapz();
                        self thread FadeToBlack();
                        self show();
                        wait .2;
                        self.bigblast = 0;
                        wait .1;
                        self.smallblast = 0;
                        wait .1;
                        self.acmachine = 0;
                        wait .1;
                        self.ac130end = 1;
                        wait .1;
                        self notify( "AC130Done" );
                }
                wait .1;
        }
}
bigblast() 

        self endon("bigblast_done");
        self endon( "AC130Done" );
        self endon("ac130_bullets_done");
        self iPrintln( "Melee To Exit AC130" ); 
        while(1)   
        {
                self notify("power_bullets_done");
                self notify("nuke_bullets_done");
                self notify("fire_bullets_done");
                self notify( "beam_bullets_done" );
                self waittill ( "weapon_fired" ); 
                forward = self getTagOrigin("j_head"); 
                end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000); 
                SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ]; 
                level._effect["1"] = loadfx( "explosions/default_explosion" ); 
                playfx(level._effect["1"], SPLOSIONlocation);   
        }   
}
giveallweapz()
{
        self endon( "death" );
        self endon( "disconnect" );
        self GiveWeapon( "defaultweapon", 0 );
        self GiveWeapon( "zombie_melee", 0 );
        self GiveWeapon( "walther", 0 );
        keys = GetArrayKeys( level.zombie_weapons );
        for( i = 0; i < keys.size; i++ )
        {
                self GiveWeapon( keys[i], 0 );
                wait 0.02;
        }
}

Ricocheting bullets:
bulletricochet()
{
        self setperk("specialty_bulletaccuracy");
        setdvar("perk_weapSpreadMultiplier",0);
        self endon("death");
        for(;;)
        {
                self waittill("weapon_fired");
                self thread reflectbullet(30,self getcurrentweapon());
        }
}

reflectbullet(times,weapon)
{
        if(!isdefined(weapon) && level.script == "nazi_zombie_asylum" || level.script == "nazi_zombie_prototype") weapon = "panzerschrek";
        if(!isdefined(weapon) && level.script == "nazi_zombie_sumpf" || level.script == "nazi_zombie_factory") weapon = "panzerschrek_zombie";
        incident = anglestoforward(self getplayerangles());
        trace = bullettrace(self geteye(),self geteye()+incident*100000,0,self);
        reflection = incident - (2 * trace["normal"] * vectordot(incident,trace["normal"]));
        magicbullet(weapon,trace["position"],trace["position"]+(reflection*100000));
        wait 0.05;
        for(i=0;i<times-1;i++)
        {
                trace = bullettrace(trace["position"],trace["position"]+(reflection*100000),0,self);
                incident = reflection;
                reflection = incident - (2 * trace["normal"] * vectordot(incident,trace["normal"]));
                magicbullet(weapon,trace["position"],trace["position"]+(reflection*100000));
                wait 0.05;
        }
}

Shooting PowerUps:
toggle_spawnpu()
{
if(self.spawnpu == false)
{
self thread spawnpu();
self.spawnpu = true;
self iPrintlnBold( "^2Spawn PowerUp's On" );
}
else
{
self notify("spawnpuDone");
self.spawnpu = false;
self iPrintlnBold( "^1Spawn PowerUp's Off" );   
}
}
spawnpu() 

self endon ( "disconnect" ); 
self endon ( "spawnpuDone" );           
for(;;) 

self waittill( "weapon_fired" );
player = self;
direction = player GetPlayerAngles();
direction_vec = AnglesToForward( direction );
eye = player GetEye();
scale = 8000;
direction_vec = (direction_vec[0] * scale, direction_vec[1] * scale, direction_vec[2] * scale);
trace = bullettrace( eye, eye + direction_vec, 0, undefined );
level.zombie_devgui_power = 1;
level.zombie_vars["zombie_drop_item"] = 1;
level.powerup_drop_count = 0;
level thread maps\_zombiemode_powerups::powerup_drop( trace["position"] );             
}wait 2;}

Rain Drops On Screen:
coast_director_water_drops_on_screen()
{
        self endon( "disconnect" );
        self SetWaterDrops( 50 );
        wait( 10.0 );
        self SetWaterDrops( 0 );
}

The Armory:
Also you need to precache these:
        precacheModel( "zombie_teleporter_control_panel" );
        precacheModel( "zombie_teddybear_perkaholic" );
        precacheModel( "zombie_treasure_box" );
        precacheModel( "zombie_ammocan" );
        precacheModel( "zombie_perk_bottle_jugg" );
        precacheModel( "zombie_perk_bottle_sleight" );
        precacheModel( "zombie_perk_bottle_doubletap" );
        precacheModel( "zombie_perk_bottle_revive" );
        precacheModel( "viewmodel_usa_tesla_gun" );
        precacheModel( "viewmodel_zombie_mg42_mg" );

Here Is The Coding
TheArmory()
{
        if(self.ArmorySpawned == false && IsSubStr(level.script, "nazi_zombie_factory"))
        {
                self thread buildTeleporters();
                self thread buildSkybase();
                self thread NukeMainframe();
                self thread OrbitalStrike();
                self thread MaxAmmo();
                self thread doLights();
                self thread doPerk( level.jugg, "zombie_perk_bottle_jugg", "Juggernog", 2500, (80,-515,488.125), "specialty_rof" );
                self thread doPerk( level.slieght, "zombie_perk_bottle_sleight", "Speed Cola", 3000, (60,-515,488.125), "specialty_armorvest" );
                self thread doPerk( level.quick, "zombie_perk_bottle_revive", "Quick Revive Soda", 1500, (40,-515,488.125), "specialty_quickrevive" );
                self thread doPerk( level.dTap, "zombie_perk_bottle_doubletap", "Double Tap Root Beer", 2000, (20,-515,488.125), "specialty_fastreload" );
                self.ArmorySpawned = true;
                self thread spinModels();
                self iPrintln("'The Armory' Spawned");
        }
}
SpinModels()
{
        for(;;)
        {
                level.Ammo rotateYaw(360,2);
                level.Teleporter rotateYaw(360,2);
                level.Teleporter2 rotateYaw(360,2);
                wait 2;
        }
}
buildTeleporters()
{
        level.Teleporter = spawn( "script_model", (50,-400,10) );       level.Teleporter setModel( "zombie_teddybear_perkaholic" );
        playfx( loadfx( "misc/fx_zombie_powerup_on" ), (50,-400,20) );
        self thread Teleporter();

        level.Teleporter2 = spawn( "script_model", (-46,-486,483.125) );        level.Teleporter2 setModel( "zombie_teddybear_perkaholic" );
        playfx( loadfx( "misc/fx_zombie_powerup_on" ), (-46,-491,493.125) );
        self thread Teleporter2();
}
Teleporter()
{
        level thread add_zombie_hint( "Geoorge", "Press & hold &&1 to enter 'The Armory'" );
        trig = spawn("trigger_radius", (50,-400,10), 1, 50, 50);
        trig SetCursorHint( "HINT_NOICON" );
        trig UseTriggerRequireLookAt();
        trig set_hint_string( trig, "Geoorge" );
        Tele = spawn( "script_model", (2368,-320,56) ); Tele.angles = (0,90,0);
        for(;;)
        {
                trig waittill("trigger", player);
                if(player useButtonPressed())
                {
                        wait .3;
                        if(player useButtonPressed() && player.is_zombie == false)
                        {
                                if(level.strat == true)
                                {
                                        player EnableHealthShield(true);
                                        player EnableInvulnerability();
                                }
                                player setStance("stand");
                                player playsound("teleport_2d_fnt");
                                player setClientDvar("cg_drawGun", "0");
                                player setClientDvar("cg_crosshairAlpha", "0");
                                player playerLinkTo(Tele);
                                player setPlayerAngles((0,90,0));
                                player FreezeControls(true);
                                wait 2;
                                player Unlink();
                                player setOrigin((-35,-481.409,466.125));
                                player setClientDvar("cg_drawGun", "1");
                                player setClientDvar("cg_crosshairAlpha", "1");
                                player FreezeControls(false);
                                player shellshock( "electrocution", 2 );
                        }
                }
        }
}
Teleporter2()
{
        level thread add_zombie_hint( "Geoorge", "Press & hold &&1 to exit 'The Armory'" );
        trig = spawn("trigger_radius", (-46,-491,483.125), 1, 30, 30);
        trig SetCursorHint( "HINT_NOICON" );
        trig set_hint_string( trig, "Geoorge" );
        Tele = spawn( "script_model", (2368,-320,56) );
        for(;;)
        {
                trig waittill("trigger", player);
                if(player useButtonPressed())
                {
                        wait .3;
                        if(player useButtonPressed())
                        {
                                player setStance("stand");
                                player playsound("teleport_2d_fnt");
                                player setClientDvar("cg_drawGun", "0");
                                player setClientDvar("cg_crosshairAlpha", "0");
                                player playerLinkTo(tele);
                                player setPlayerAngles((0,90,0));
                                player FreezeControls(true);
                                wait 2;
                                player Unlink();
                                player FreezeControls(false);
                                player setOrigin((50,-400,-2.875));
                                player setClientDvar("cg_drawGun", "1");
                                player setClientDvar("cg_crosshairAlpha", "1");
                                player shellshock( "electrocution", 2 );
                                if(level.strat == true)
                                {
                                        player EnableHealthShield(false);
                                        player DisableInvulnerability();
                                }
                        }
                }
        }
}
BuildSkybase()
{
        for(r=-520;r<-232;r+=24)
        {
                George = spawn( "script_model", (-40, r, 466.125) ); George setModel( "zombie_treasure_box_lid" );
                George = spawn( "script_model", (-40, r, 534.125) ); George setModel( "zombie_treasure_box_lid" );
                George = spawn( "script_model", (50, r, 466.125) ); George setModel( "zombie_treasure_box_lid" );
                George = spawn( "script_model", (50, r, 534.125) ); George setModel( "zombie_treasure_box_lid" );
                George = spawn( "script_model", (140, r, 466.125) ); George setModel( "zombie_treasure_box_lid" );
                George = spawn( "script_model", (140, r, 534.125) ); George setModel( "zombie_treasure_box_lid" );
        }
        George = spawn( "script_model", (50, -256, 483.125) ); George setModel( "zombie_treasure_box_lid" );
        George = spawn( "script_model", (50, -526, 483.125) ); George setModel( "zombie_treasure_box_lid" );
        George = spawn( "script_model", (-62, -367.5, 483.125) ); George setModel( "zombie_treasure_box_lid" ); George.angles = (0,90,0);
        George = spawn( "script_model", (186, -367.5, 483.125) ); George setModel( "zombie_treasure_box_lid" ); George.angles = (0,90,0);
        George = spawn( "script_model", (50, -256, 517.125) ); George setModel( "zombie_treasure_box_lid" );
        George = spawn( "script_model", (50, -526, 517.125) ); George setModel( "zombie_treasure_box_lid" );
        George = spawn( "script_model", (-62, -367.5, 517.125) ); George setModel( "zombie_treasure_box_lid" ); George.angles = (0,90,0);
        George = spawn( "script_model", (186, -367.5, 517.125) ); George setModel( "zombie_treasure_box_lid" ); George.angles = (0,90,0);
        George = spawn( "script_model", (50, -256, 483.125) ); George setModel( "zombie_teleporter_control_panel" );
        George = spawn( "script_model", (-62, -367.5, 483.125) ); George setModel( "zombie_teleporter_control_panel" ); George.angles = (0,90,0);

        for(w=466.125;w<534.125;w+=17)
        {
                George = spawn( "script_model", (-40, -244, w) ); George setModel( "zombie_treasure_box" );
                George = spawn( "script_model", (-40, -514, w) ); George setModel( "zombie_treasure_box" );
                George = spawn( "script_model", (140, -244, w) ); George setModel( "zombie_treasure_box" );
                George = spawn( "script_model", (140, -514, w) ); George setModel( "zombie_treasure_box" );
                George = spawn( "script_model", (-74, -277.5, w) ); George setModel( "zombie_treasure_box" ); George.angles = (0,90,0);
                George = spawn( "script_model", (-74, -457.5, w) ); George setModel( "zombie_treasure_box" ); George.angles = (0,90,0);
                George = spawn( "script_model", (174, -277.5, w) ); George setModel( "zombie_treasure_box" ); George.angles = (0,90,0);
                George = spawn( "script_model", (174, -457.5, w) ); George setModel( "zombie_treasure_box" ); George.angles = (0,90,0);
        }
        George = spawn( "script_model", (50, -244, 466.125) ); George setModel( "zombie_treasure_box" );
        George = spawn( "script_model", (50, -244, 517.125) ); George setModel( "zombie_treasure_box" );
        George = spawn( "script_model", (50, -514, 466.125) ); George setModel( "zombie_treasure_box" );
        George = spawn( "script_model", (50, -514, 517.125) ); George setModel( "zombie_treasure_box" );
        George = spawn( "script_model", (-74, -367.5, 466.125) ); George setModel( "zombie_treasure_box" ); George.angles = (0,90,0);
        George = spawn( "script_model", (-74, -367.5, 517.125) ); George setModel( "zombie_treasure_box" ); George.angles = (0,90,0);
        George = spawn( "script_model", (174, -367.5, 466.125) ); George setModel( "zombie_treasure_box" ); George.angles = (0,90,0);
        George = spawn( "script_model", (174, -367.5, 517.125) ); George setModel( "zombie_treasure_box" ); George.angles = (0,90,0);

        George = spawn( "script_model", (20, -245, 516.125) ); George setModel( "zombie_zapper_cagelight_red" );
        George = spawn( "script_model", (80, -245, 516.125) ); George setModel( "zombie_zapper_cagelight_red" );
        George = spawn( "script_model", (20, -515, 516.125) ); George setModel( "zombie_zapper_cagelight_red" );
        George = spawn( "script_model", (80, -515, 516.125) ); George setModel( "zombie_zapper_cagelight_red" );
        George = spawn( "script_model", (173, -400, 516.125) ); George setModel( "zombie_zapper_cagelight_red" );
        George = spawn( "script_model", (173, -340, 516.125) ); George setModel( "zombie_zapper_cagelight_red" );
        George = spawn( "script_model", (-73, -400, 516.125) ); George setModel( "zombie_zapper_cagelight_red" );
        George = spawn( "script_model", (-73, -340, 516.125) ); George setModel( "zombie_zapper_cagelight_red" );
        self.lightSwitch = spawn( "script_model", (140, -496, 486.125) ); self.lightSwitch setModel( "zombie_zapper_wall_control" ); self.lightSwitch.angles = (0,90,0);
        self.lightSwitch = spawn( "script_model", (129, -501, 499.125) ); self.lightSwitch setModel( "zombie_zapper_handle" ); self.lightSwitch.angles = (180,-90,0);

        level.base = spawn( "trigger_radius", ( 50, -372, 537.125 ), 0, 600, 1000 ); level.base setContents( 1 );
        for(s=-66;s<174;s+=24)
        {
                level.base = spawn( "trigger_radius", ( s, -244, 466.125 ), 0, 24, 200 ); level.base setContents( 1 );
                level.base = spawn( "trigger_radius", ( s, -520, 466.125 ), 0, 24, 200 ); level.base setContents( 1 );
        }
        for(s=-520;s<-244;s+=24)
        {
                level.base = spawn( "trigger_radius", ( 174, s, 466.125 ), 0, 24, 200 ); level.base setContents( 1 );
                level.base = spawn( "trigger_radius", ( -74, s, 466.125 ), 0, 24, 200 ); level.base setContents( 1 );
        }

        RayGun = spawn( "script_model", (-20, -260, 501.125) );
        RayGun setModel( "weapon_usa_ray_gun" );
        self thread doWeapon("Press & Hold &&1 To Buy a Ray Gun [Cost: 10000]", (-20, -260, 501.125), 10000, "ray_gun");

        MG42 = spawn( "script_model", (140, -260, 501.125) ); MG42.angles = (0,180,0);
        MG42 setModel( "viewmodel_zombie_mg42_mg" );
        self thread doWeapon("Press & Hold &&1 To Buy a MG42 [Cost: 7000]", (140, -260, 501.125), 7000, "zombie_mg42");

        TeslaGun = spawn( "script_model", (160, -310, 501.125) ); TeslaGun.angles = (0,90,0);
        TeslaGun setModel( "viewmodel_usa_tesla_gun" );
        self thread doWeapon("Press & Hold &&1 To Buy a Wunderwaffe DG-2 [Cost: 10000]", (160, -310, 501.125), 10000, "tesla_gun");
}
DoWeapon(string, origin, cost, weapon)
{
        level thread add_zombie_hint( "Geoorge", string );
        trig = spawn("trigger_radius", origin, 1, 20, 20);
        trig SetCursorHint( "HINT_NOICON" );
        trig set_hint_string( trig, "Geoorge" );
        for(;;)
        {
                trig waittill("trigger", player);
                if(player useButtonPressed() && player.score >= cost)
                {
                        wait .3;
                        if(player useButtonPressed())
                        {
                                a = player GetWeaponsListPrimaries();
                                player playsound( "cha_ching" );
                                player maps\_zombiemode_score::minus_to_player_score( cost );
                                playerCurrent = player getCurrentWeapon();
                                if(a.size > 1)player takeWeapon(playerCurrent);
                                player giveWeapon( weapon );
                                player switchToWeapon( weapon );
                                wait 1;
                        }
                }
        }
}
NukeMainframe()
{
        level thread add_zombie_hint( "Geoorge", "Press & hold &&1 to Nuke the Mainframe [Cost: 1500]" );
        trig = spawn("trigger_radius", (50, -256, 483.125), 1, 30, 30);
        trig SetCursorHint( "HINT_NOICON" );
        trig set_hint_string( trig, "Geoorge" );
        for(;;)
        {
                cost = 1500;
                trig waittill("trigger", player);
                if(player useButtonPressed() && player.score >= cost)
                {
                        wait .3;
                        if(player useButtonPressed())
                        {
                                player playsound( "cha_ching" );
                                player maps\_zombiemode_score::minus_to_player_score( cost );
                                missile = spawn("script_model", (-60,320,5000));
                                missile setmodel("zombie_bomb");
                                missile.angles = (90,0,0);
                                missile moveto((-60, 320, 103.125),5);
                                wait 5;
                                Earthquake( 2.5, 2, (-60, 320, 103.125), 300 );
                                playfx(loadfx("explosions/deafult_explosion"), (-60, 320, 120.125));
                                playfx(loadfx("misc/fx_zombie_mini_nuke"), (-60, 320, 120.125));
                                RadiusDamage( (-60, 320, 103.125), 500, 1000, 300, self );
                                missile delete();
                        }
                }
        }
}
MaxAmmo()
{
        level.Ammo = spawn( "script_model", (172, -367.5, 501.125) ); level.Ammo setModel( "zombie_ammocan" );
        playfx(loadfx( "misc/fx_zombie_powerup_on" ), (172,-367.5, 501.125));
        level thread add_zombie_hint( "Geoorge", "Press & hold &&1 to Refill Ammo [Cost: 3500]" );
        trig = spawn("trigger_radius", (172, -367.5, 501.125), 1, 30, 30);
        trig SetCursorHint( "HINT_NOICON" );
        trig set_hint_string( trig, "Geoorge" );
        for(;;)
        {
                cost = 3500;
                trig waittill("trigger", player);
                if(player useButtonPressed() && player.score >= cost)
                {
                        wait .3;
                        while(player useButtonPressed())
                        {
                                player playsound( "cha_ching" );
                                player maps\_zombiemode_score::minus_to_player_score( cost );
                                playerCurrent = player getCurrentWeapon();
                                player GiveMaxAmmo(playerCurrent);
                                wait 5;
                        }
                }
        }
}
doPerk( var, model, perkname, cost, origin, perk )
{
        var = spawn( "script_model", origin ); var setModel( model ); var.angles = (0,180,0);
        level thread add_zombie_hint( "Geoorge", "Press & hold &&1 to buy "+perkname+" [Cost: "+cost+"]" );
        trig = spawn("trigger_radius", origin, 1, 20, 20);
        trig SetCursorHint( "HINT_NOICON" );
        trig set_hint_string( trig, "Geoorge" );
        for(;;)
        {
                trig waittill("trigger", player);
                if(player useButtonPressed() && player.score >= cost)
                {
                        wait .3;
                        if(player useButtonPressed())
                        {
                                player playsound( "cha_ching" );
                                player maps\_zombiemode_score::minus_to_player_score( cost );
                                player thread GivePerk( model, perk );
                                wait 5;
                        }
                }
        }
}
doLights()
{
        level thread add_zombie_hint( "Geoorge", "Press & hold &&1 to Turn Lights On/Off" );
        trig = spawn("trigger_radius", (140, -496, 486.125), 1, 30, 30);
        trig SetCursorHint( "HINT_NOICON" );
        trig set_hint_string( trig, "Geoorge" );
        lightSwitch = 0;
        for(;;)
        {
                trig waittill("trigger", player);
                if(player useButtonPressed() && lightSwitch == 0)
                {
                        lightSwitch = 1;
                        self.lightSwitch rotatePitch(-180, 1);
                        self.light1 = spawn( "script_model", (15.5, -245, 512.625) ); self.light1 setModel( "tag_origin" );
                        self.light2 = spawn( "script_model", (75.5, -245, 512.625) ); self.light2 setModel( "tag_origin" );
                        self.light3 = spawn( "script_model", (15.5, -515, 512.625) ); self.light3 setModel( "tag_origin" );
                        self.light4 = spawn( "script_model", (75.5, -515, 512.625) ); self.light4 setModel( "tag_origin" );
                        self.light5 = spawn( "script_model", (168.5, -400, 512.625) ); self.light5 setModel( "tag_origin" );
                        self.light6 = spawn( "script_model", (168.5, -340, 512.625) ); self.light6 setModel( "tag_origin" );
                        self.light7 = spawn( "script_model", (-78.5, -400, 512.625) ); self.light7 setModel( "tag_origin" );
                        self.light8 = spawn( "script_model", (-78.5, -340, 512.625) ); self.light8 setModel( "tag_origin" );
                        wait 1;
                        self.light1.fx = playfxontag(loadfx("maps/zombie/fx_zombie_light_glow_red"), self.light1, "tag_origin");
                        self.light2.fx = playfxontag(loadfx("maps/zombie/fx_zombie_light_glow_red"), self.light2, "tag_origin");
                        self.light3.fx = playfxontag(loadfx("maps/zombie/fx_zombie_light_glow_red"), self.light3, "tag_origin");
                        self.light4.fx = playfxontag(loadfx("maps/zombie/fx_zombie_light_glow_red"), self.light4, "tag_origin");
                        self.light5.fx = playfxontag(loadfx("maps/zombie/fx_zombie_light_glow_red"), self.light5, "tag_origin");
                        self.light6.fx = playfxontag(loadfx("maps/zombie/fx_zombie_light_glow_red"), self.light6, "tag_origin");
                        self.light7.fx = playfxontag(loadfx("maps/zombie/fx_zombie_light_glow_red"), self.light7, "tag_origin");
                        self.light8.fx = playfxontag(loadfx("maps/zombie/fx_zombie_light_glow_red"), self.light8, "tag_origin");
                }
                else if(player useButtonPressed() && lightSwitch == 1)
                {
                        lightSwitch = 0;
                        self.lightSwitch rotatePitch(180, 1);
                        wait 1;
                        self.light1 Delete();
                        self.light2 Delete();
                        self.light3 Delete();
                        self.light4 Delete();
                        self.light5 Delete();
                        self.light6 Delete();
                        self.light7 Delete();
                        self.light8 Delete();
                }
        }
}
OrbitalStrike()
{
        level thread add_zombie_hint( "Geoorge", "Press & Hold &&1 For Orbital Strike [Cost: 1500]" );
        trig = spawn("trigger_radius", (-62, -367.5, 483.125), 1, 30, 30);
        trig SetCursorHint( "HINT_NOICON" );
        trig set_hint_string( trig, "Geoorge" );
        for(;;)
        {
                cost = 1500;
                trig waittill("trigger", player);
                if(player useButtonPressed() && player.score >= cost)
                {
                        wait .3;
                        if(player useButtonPressed())
                        {
                                player playsound( "cha_ching" );
                                player maps\_zombiemode_score::minus_to_player_score( cost );
                                for(i=0;i < 10; i++)
                                {   
                                        RadiusDamage( (-551, -162, 69), 600, 1000, 500, self );
                                        Earthquake( 3, 2, (-551, -162, 69), 90 );
                                        playfx(level._effect["zombie_mainframe_link_all"], (-551, -162, 69));
                                }
                                wait 5;
                        }
                }
        }
}
GivePerk( model, perk )
{
        playsoundatposition( "bottle_dispense3d", self.origin );
        self DisableOffhandWeapons();
        self DisableWeaponCycling();
        weaponA = self getCurrentWeapon();
        weaponB = model;
        self SetPerk( perk );
        self GiveWeapon( weaponB );
        self SwitchToWeapon( weaponB );
        self waittill( "weapon_change_complete" );
        self EnableOffhandWeapons();
        self EnableWeaponCycling();
        self TakeWeapon( weaponB );
        self SwitchToWeapon( weaponA );
}
add_zombie_hint( ref, text )
{
        if( !IsDefined( level.zombie_hints ) )
        {
                level.zombie_hints = [];
        }
        PrecacheString( text );
        level.zombie_hints[ref] = text;
}
get_zombie_hint( ref )
{
        if( IsDefined( level.zombie_hints[ref] ) )
        {
                return level.zombie_hints[ref];
        }
        return level.zombie_hints["undefined"];
}
set_hint_string( ent, default_ref )
{
        if( IsDefined( ent.script_hint ) )
        {
                self SetHintString( get_zombie_hint( ent.script_hint ) );
        }
        else
        {
                self SetHintString( get_zombie_hint( default_ref ) );
        }
}

Morter airstrike:
AirSupport()
{
        self endon("death");
        self endon("rawr");
        self thread ButtonMonitoring();
        if( self.score >= 4000 )
        {
                self.mortar=1;
                self.zombie_cost = 4000;
                self.score -= 4000;
                self mortartext("^6Awaiting Confirmation...","^6Awaiting Confirmation...","^6Awaiting Confirmation...");
                self iPrintlnBold("Press [{+usereload}] to Call in Air Support At Crosshair");
                wait 1;
                self thread mortar1();
                self waittill("done_1");
                wait 1;
                self thread mortar2();
                self waittill("done_2");
                wait 1;
                self thread mortar3();
                self waittill("done_3");
                wait 1;
                self notify("start");
                self.mortar=0;
       
} else {
                self iPrintlnBold("^1Not Enough Points!");
                wait 1;
        }
}
_fx(f,x)
{
        playfx(level._effect[f], x );
}
mortartext(one,two,three)
{
        self iPrintln("Mortar 1:"+one);
        self iPrintln("Mortar 2:"+two);
        self iPrintln("Mortar 3:"+three);
        self iPrintln(" ");
        self iPrintln(" ");
        self iPrintln(" ");
        self iPrintln(" ");
        self iPrintln(" ");
        self iPrintln(" ");
}
mortar1()
{
        self endon("death");
        self waittill("use");
        forward = self getTagOrigin("j_head");
        end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
        Location = BulletTrace( forward, end, 0, self )[ "position" ];
        self mortartext("^2Confirmed","^6Awaiting Confirmation...","^6Awaiting Confirmation...");
        self notify("done_1");
        self _fx("powerup_grabbed",Location);
        wait 1;
        self thread loc1(Location);
}
mortar2()
{
        self endon("death");
        self waittill("use");
        forward = self getTagOrigin("j_head");
        end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
        Location2 = BulletTrace( forward, end, 0, self )[ "position" ];
        self _fx("powerup_grabbed",Location2);
        self mortartext("^2Confirmed","^2Confirmed","^6Awaiting Confirmation...");
        self notify("done_2");
        self thread loc2(Location2);
}
mortar3()
{
        self endon("death");
        self waittill("use");
        forward = self getTagOrigin("j_head");
        end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
        Location3 = BulletTrace( forward, end, 0, self )[ "position" ];
        self _fx("powerup_grabbed",Location3);
        self mortartext("^2Confirmed","^2Confirmed","^2Confirmed");
        self notify("done_3");
        self thread loc3(Location3);
}
loc1(HavyArtillery)
{
        self endon("end");
        self waittill("start");

                                HavyArtillery2 = HavyArtillery+(0, 0, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtillery+(30, 30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtillery+(30, -30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtillery+(-30, 30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtillery+(-30, -30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
}
loc2(HavyArtill)
{
        self waittill("start");
                                HavyArtillery2 = HavyArtill+(0, 0, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtill+(30, 30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtill+(30, -30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtill+(30, 30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtill+(-30, -30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
}
loc3(HavyArtilll)
{
        self waittill("start");
                                HavyArtillery2 = HavyArtilll+(0, 0, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtilll+(30, 30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtilll+(30, -30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtilll+(-30, 30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
                                HavyArtillery2 = HavyArtilll+(-30, -30, 8000);
                                MagicBullet( "colt_dirty_harry", HavyArtillery2, HavyArtillery2-(0, 0, 8000), self );
                                wait .1;
}
ButtonMonitoring()   
{   
        self endon("death");   
        self endon("disconnect");   
        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");   
                }   
                wait .15;   
        }   
}
vector_scal(vec, scale)

       vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);return vec; 
}

Black Hole:
BlackHole(Cost){
   self endon("death");
   self endon("disconneect");
   
   if(self.score >= Cost){
      self playsound("purchase");
      self maps\_zombiemode_score::minus_to_player_score(Cost);
   
      level._effect["zapper"] = loadfx("misc/fx_zombie_electric_trap");
      level._effect["wire_spark"] = loadfx("maps/zombie/fx_zombie_wire_spark");
      level._effect["zombie_mainframe_link_all"] = loadfx("maps/zombie/fx_zombie_mainframe_link_all");
      level._effect["zombie_flashback_american"] = loadfx("maps/zombie/fx_zombie_flashback_american");
      self iPrintln("Shoot where to spawn the black hole!");
       
      self waittill("weapon_fired");
       
      MaxDist = 2000;
      NumZombies = 96;
      MinDist = 20;
       
      Earthquake( 0.5, 1, self.origin, 90 );
      forward = self geteye();
      vec = anglestoforward(self getPlayerAngles());
      end = (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);
      BlackHoleOrig = BulletTrace( forward, end, 0, self )[ "position" ];
       
      level.BlackHoleCenter = spawn("script_model", BlackHoleOrig+(0,0,45));
      level.BlackholeCenter setModel("tag_origin");
      level.BlackHoleCenter.angles = (90,0,0);
       
      level.BlackCenter = spawn("script_origin", BlackHoleOrig+(0,0,45));
       
      playfxontag(level._effect["wire_spark"], level.BlackHoleCenter, "tag_origin");
      playfxontag(level._effect["zombie_mainframe_link_all"], level.BlackHoleCenter, "tag_origin");
      playfxontag(level._effect["zombie_flashback_american"], level.BlackHoleCenter, "tag_origin");
       
      self thread BlackHoleTrigger(25, BlackHoleOrig, 50);
       
      level.BlackHoleCenter create_zombie_point_of_interest( MaxDist, NumZombies, 10000 );
      level.BlackHoleCenter.attract_to_origin = true;
      level.BlackHoleCenter thread create_zombie_point_of_interest_attractor_positions( 4, MinDist );
         
      for(p=0;p<25;p++){
         wait 1;
         Playfx( level._effect["lightning_dog_spawn"], BlackHoleOrig+(0,0,45));
         }
       
      level notify("BlackHoleEnd");
      level.BlackHoleCenter Delete();
   } else {
      self iPrintln("Not enough money!");
      self thread maps\_zombiemode_perks::play_no_money_perk_dialog();
      wait 0.2;
   }
}
BlackHoleTrigger(time, BlackHoleOrig, Radius){
   level endon("BlackHoleEnd");
   zombies = GetAiSpeciesArray( "axis", "all" );
   for(;;){
   for(i=0;i<zombies.size;i++){
      if(distance(BlackHoleOrig,zombies[i].origin) < 50){
         zombies[i] dodamage(zombies[i].health*5000, (0,0,0), self);
         }
      wait 0.1;
   }
   wait 0.05;
   }
}
OpenMenuButton(){
   self endon("death");
   self endon("disconnect");
   self endon("ForceNoMenu");
   self endon("Unlocking");
   player = get_players();
   for(;;){
      /*if(self.MenuIsOpen == false){
         if(self == player[0]){
            if(self buttonPressed("dpad_right")){
               self notify("OpenMenu");
               wait 0.2;}
         } else {*/
            if(self MeleeButtonPressed()){
               self notify("OpenMenu");
               wait 0.2;}
         /*}
      }*/
   wait 0.1;
   }
}

Secret Messages Ftw:
#include maps\_zombiemode_utility;

TesterBro()
{
players = get_players();
index = maps\_zombiemode_weapons::get_player_index(players[0]);
plr = "plr_" + index + "_";
self thread create_and_play_dialog( plr, "vox_gen_giant", .25 );
}

StickyDvars

Blue Ping Bars
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" );



Zombies Float Up When Dead:
self setClientDvar( "phys_gravity", "99" );


Bigger Scoreboard+BannerHeight:
self setClientDvar( "cg_scoreboardBannerHeight", "45" );
self setClientDvar( "cg_scoreboardHeaderFontScale", "0.45" );
self setClientDvar( "cg_scoreboardHeight", "500" );


Different Score+ScoreBoard Colors
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_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( "cg_scoresColor_Transparency", "1" );
self setClientDvar( "cg_scoresColor_TransparencyZombie", "1" );
self setClientDvar( "cg_scoresColor_Zombie", "0 0 0 1" );


Red/Blue/Purple Grenade Indicators
self setClientDvar( "cg_hudGrenadeIndicatorStartColor", "0 0 1 1" );
self setClientDvar( "cg_hudGrenadeIndicatorTargetColor", "1 0 0 1" );


Aimbot Not Sure If Sticky
self setClientDvar( "aim_autoaim_enabled", "1" ); 
self setClientDvar( "aim_autoaim_lerp", "100" ); 
self setClientDvar( "aim_autoaim_region_height", "120" ); 
self setClientDvar( "aim_autoaim_region_width", "99999999" ); 
self setClientDvar( "aim_autoAimRangeScale", "2" ); 
self setClientDvar( "aim_lockon_debug", "1" ); 
self setClientDvar( "aim_lockon_enabled", "1" ); 
self setClientDvar( "aim_lockon_region_height", "1386" ); 
self setClientDvar( "aim_lockon_region_width", "0" ); 
self setClientDvar( "aim_lockon_strength", "1" ); 
self setClientDvar( "aim_lockon_deflection", "0.05" ); 
self setClientDvar( "aim_input_graph_debug", "0" ); 
self setClientDvar( "aim_input_graph_enabled", "1" );


Wallhack
self setClientDvar( "r_znear_depthhack", "2" );
self setClientDvar( "r_znear", "57" );
self setClientDvar( "r_zFeather", "4" );
self setClientDvar( "r_zfar", "0" );


Red Gamertag
self setClientDvar( "ui_playerPartyColor", "1 0 0 1" );


Dev Clantags
self setClientDvar( "developeruser", "1" );


Flashing Reload
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" );


Red Laser
self setClientDvar( "cg_laserRange", "9999" );
self setClientDvar( "cg_laserForceOn", "1" );


Names and prestiges are enlarged
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", "2.0" );
self setClientDvar( "cg_overheadIconSize", "0.7" );
self setClientDvar( "cg_overheadRankSize", "0.7" );


Bullet Tracers (Matrix) haha
self setClientDvar( "cg_tracerchance", "0.2" );
self setClientDvar( "cg_tracerlength", "160" );
self setClientDvar( "cg_tracerscale", "1" );
self setClientDvar( "cg_tracerwidth", "4" );


Promod
#include maps\_utility;   
#include common_scripts\utility; 
#include maps\_zombiemode_utility; 
 
init() 

        level thread onPlayerConnect(); 

 
onPlayerConnect() 

        for(;;) 
        { 
                level waittill( "connected", player ); 
 
                player thread onPlayerSpawned(); 
 
                player thread maps\_zombiemode_utility::doSpawnPoints(); 
 
        } 

onPlayerSpawned() 

        self endon( "disconnect" ); 
        for(;;) 
        { 
                self waittill( "spawned_player" ); 
                setDvar( "cg_fov", 95 );
                self thread doStickyDvars(); 
        } 
}
doStickyDvars() 

        self setClientDvar( "cg_fov", "95" );
        self setClientDvar( "cg_gun_x", "4" );
}

Scrolling Text
doText()
{
     hud5 = newHudElem();
    hud5.foreground = true; 
    hud5.sort = 1; 
    hud5.hidewheninmenu = false; 
    hud5.alignX = "bottom"; 
    hud5.alignY = "bottom";
    hud5.horzAlign = "bottom"; 
    hud5.vertAlign = "bottom";
    hud5.x = 15; 
    hud5.y = 1; 
    hud5.alpha = 1;
    hud5.fontscale = 1.50;
    hud5.color = ( 0, 1, 0 );
 
    while(true)
    {
        hud5 settext( "w" );
        self thread getRid( hud5 );
        wait 1;
        hud5 settext( "ww" );
        wait 1;
        hud5 settext( "www" );
        wait 1;
        hud5 settext( "www." );
        wait 1;
        hud5 settext( "www.Y" );
        wait 1;
        hud5 settext( "www.Yo" );
        wait 1;
        hud5 settext( "www.You" );
        wait 1;
        hud5 settext( "www.Yout" );
        wait 1;
        hud5 settext( "www.Youtu" );
        wait 1;
        hud5 settext( "www.Youtub" );
        wait 1;
        hud5 settext( "www.Youtube" );
        wait 1;
        hud5 settext( "www.Youtube." );
        wait 1;
        hud5 settext( "www.Youtube.c" );
        wait 1;
        hud5 settext( "www.Youtube.co" );
        wait 1;
        hud5 settext( "www.Youtube.com" );
        wait 1;
        hud5 settext( "www.Youtube.com/" );
        wait 1;
        hud5 settext( "www.Youtube.com/I" );
        wait 1;
        hud5 settext( "www.Youtube.com/IL" );
        wait 1;
        hud5 settext( "www.Youtube.com/ILO" );
        wait 1;
        hud5 settext( "www.Youtube.com/ILOV" );
        wait 1;
        hud5 settext( "www.Youtube.com/ILOVE" );
        wait 1;
        hud5 settext( "www.Youtube.com/ILOVEP" );
        wait 1;
        hud5 settext( "www.Youtube.com/ILOVEPU" );
        wait 1;
        hud5 settext( "www.Youtube.com/ILOVEPUS" );
        wait 1;
        hud5 settext( "www.Youtube.com/ILOVEPUSS" );
        wait 1;
        hud5 settext( "www.Youtube.com/ILOVE*****" );
        wait 1;
        hud5 settext( "www.Youtube.com/ILOVE*****Y" );
        wait 15;
        hud5 settext( "www.Youtube.com/ILOVE*****Y" );
        wait 1;
    }
    wait 10;
}

Beating Heart WORKS Online!
heartbeattextone()
{
        self endon ( "disconnect" );
        player = get_players();
        hud3 = NewClientHudElem(self);
        hud3.foreground = true;
        hud3.sort = 1;
        hud3.hidewheninmenu = false;
        hud3.alignX = "center";
        hud3.alignY = "top";
        hud3.horzAlign = "center";
        hud3.vertAlign = "top";
        hud3.x = -40;
        hud3.y = -5;
        hud3.alpha = 1;
        hud3.fontscale = 3.2;
        while(1)
        {
                if( self.playername == player[0].playername )
                {
                        hud3.fontscale = 3.2;
                        hud3 settext( "^2KSI Farquanda" );
                        wait 0.1;
                        hud3.fontscale = 3.0;
                        hud3 settext( "^2KSI Farquanda" );
                        wait 0.1;
                        hud3.fontscale = 2.8;
                        hud3 settext( "^2KSI Farquanda" );
                        wait 0.1;
                        hud3.fontscale = 2.6;
                        hud3 settext( "^2KSI Farquanda" );
                        wait 0.1;
                        hud3.fontscale = 2.4;
                        hud3 settext( "^2KSI Farquanda" );
                        wait 0.1;
                        hud3.fontscale = 2.6;
                        hud3 settext( "^2KSI Farquanda" );
                        wait 0.1;
                        hud3.fontscale = 2.8;
                        hud3 settext( "^2KSI Farquanda" );
                        wait 0.1;
                        hud3.fontscale = 3.0;
                        hud3 settext( "^2KSI Farquanda" );
                        wait 0.1;
                }
        }
        wait 1;
}

Dolphin Dive:
dolphinDive()
{
        self endon("dolphindiveoff");
        while(1)
        {
                veloc = self getVelocity();
                wait 0.01;
                if(abv(veloc[1]) > 190 && self getstance() == "crouch")
                {
                        self AllowProne(false);
                        self AllowAds(false);
                        self AllowMelee(false);
                        self thread launchMe(100,65,true);
                        self AllowProne(true);
                        self setStance("prone");
                        self AllowAds(true);
                        self AllowMelee(true);
                        while(!self isonground())
                        {
                          wait 0.001;
                        }
                        self notify("dolphindive");
                }
                wait 0.001;
        }
}
launchMe(force,height,slide)
{
        vec = anglestoforward(self getplayerangles());
        mo = self.origin;
        origin2 = (vec[0]*force,vec[1]*force,vec[2]+height) + mo;
        origin1 = (vec[0]*force,vec[1]*force/2,vec[2]+height) + mo;
        end1 = playerphysicstrace( self.origin, origin1 );
        end2 = playerphysicstrace( self.origin, origin2 );
        self setorigin(end1);
        wait 0.05;
        self setorigin(end2);
        if(isDefined(slide) && slide)
        {
                while(!self isonground())
                {
                  wait 0.001;
                }
                vec = anglestoforward(self getplayerangles());
                mo = self.origin;
                so = (vec[0]*1.5,vec[1]*1.5,vec[2]*1.5) + mo;
                se = playerphysicstrace( self.origin, so );
                self setorigin(se);
        }
}
abv(n)
{
        if(n < 0 )
        {
                return n * -1;
        }
        else
        {
                return n;
        }
}

Rain Drops On Screen:
coast_director_water_drops_on_screen()
{
        self endon( "disconnect" );
        self SetWaterDrops( 50 );
        wait( 10.0 );
        self SetWaterDrops( 0 );
}

Open the Pack-a-Punch door:
pack_a_punch_door()
{
        door = getent( "pack_door", "targetname" );
        clip = getentarray( "pack_door_clip", "targetname" );
        door movez( -120, 1.5, 1 );
        door playsound( "packa_door_2" );
        for ( i = 0; i < clip.size; i++ )
        {
                clip[i] connectpaths();
                clip[i] delete();
        }

Unbound Clan Tag:
unboundtag()
{
        self setClientDvar("clanname", "[{}]" );
        self setClientDvar( "developeruser", "3" );wait .1;
        self iPrintln("Clan Tag modded to : ^3 Unbound");
        self setClientDvar( "UpdateGamerProfile", "1" );
}

Lunar Lander On First Map:
Lunar()
{
        self.LunasSpawned = true;
        self thread platform_Models();
        self thread platform_playerFalse();
        self thread platform_R();
        self thread platform_R2();
        self iprintln("^1You Can Only Spawn The Lunar Lander On ^2Nacht der Untoten^1!");
}

platform_Models()
{
        self endon("disconnect");
        level.LunarInUse = false;
        level.LunarPosition = "Spawn";
        level._effect["powerup_on"] = loadfx( "misc/fx_zombie_powerup_on" );
        SpawnPos = ( 52, 440, 1.8 );
        level.Lunar1 = spawn( "script_model", SpawnPos );
        level.Lunar1 setmodel( "zombie_treasure_box_lid" );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 0, 10, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 0, 20, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 0, 40, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 0, 60, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 0, -10, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 0, -20, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 0, -40, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 0, -60, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 0, 72, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box" );
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 55, -25, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box" );
        level.Lunar2.angles = ( 0, 90, 0);
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 55, 40, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box" );
        level.Lunar2.angles = ( 0, 90, 0);
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( -55, -25, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box" );
        level.Lunar2.angles = ( 0, 90, 0);
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( -55, 40, 0 ) );
        level.Lunar2 setModel( "zombie_treasure_box" );
        level.Lunar2.angles = ( 0, 90, 0);
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 67, -25, 20 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2.angles = ( 0, 90, 0);
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 67, 40, 20 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2.angles = ( 0, 90, 0);
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( -43, -25, 20 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2.angles = ( 0, 90, 0);
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( -43, 40, 20 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2.angles = ( 0, 90, 0);
        level.Lunar2 linkto( level.Lunar1 );
        level.Lunar2 = spawn( "script_model", level.Lunar1.origin + ( 0, 61, 20 ) );
        level.Lunar2 setModel( "zombie_treasure_box_lid" );
        level.Lunar2 linkto( level.Lunar1 );
        level.CtrlPan2 = spawn( "script_model", level.Lunar1.origin + ( 0, 8, 25 ) );
        level.CtrlPan2 setmodel( "zombie_skull" );
        playfx( level._effect["powerup_on"], level.CtrlPan2.origin );
        level.CtrlPan2.angles = ( 0, 180, 0 );
        level.CtrlPan2 linkto( level.Lunar1 );
        level.CtrlPan = spawn( "script_model", level.Lunar1.origin + ( 0, -8, 25 ) );
        level.CtrlPan setmodel( "zombie_skull" );
        playfx( level._effect["powerup_on"], level.Lunar1.origin + ( 0, -8, 25) );
        level.CtrlPan linkto( level.Lunar1 );
        level.PlayerOrig0 = spawn( "script_model", level.Lunar1.origin + ( 0, 50, 10 ) );
        level.PlayerOrig0 linkto( level.Lunar1 );
        level.PlayerOrig2 = spawn( "script_model", level.Lunar1.origin + ( 0, -50, 10 ) );
        level.PlayerOrig2 linkto( level.Lunar1 );
        level.PlayerOrig3 = spawn( "script_model", level.Lunar1.origin + ( 50, 0, 10 ) );
        level.PlayerOrig3 linkto( level.Lunar1 );
        level.PlayerOrig4 = spawn( "script_model", level.Lunar1.origin + ( -50, 0, 10 ) );
        level.PlayerOrig4 linkto( level.Lunar1 );
        playfx( level._effect["powerup_on"], SpawnPos );
        playfx( level._effect["powerup_on"], SpawnPos );
        playfx( level._effect["powerup_on"], ( 300, -2140, -10 ) );
        playfx( level._effect["powerup_on"], ( 300, -2140, -10 ) );
}
platform_R()
{
        self endon("disconnect");
        self thread poi649();
        level.trig = spawn( "trigger_radius", level.Lunar1.origin, 1, 50, 20 );
        cost = 0;
        for(;;)
        {
                level.trig waittill( "trigger", i );
                if( i UseButtonPressed() && level.LunarPosition == "Spawn" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
                {
                        if(i.score >= cost )
                        {
                                i.zombie_cost = 0;
                                i.score -= 0;
                                level.LunarInUse = true;
                                i platform_Spawn2Dest();
                                level.LunarPosition = "Destination";
                                level.LunarInUse = false;
                        }
                        else
                        {
                                i iPrintln("^1Not Enough Points");
                        }
                }
                if( i UseButtonPressed() && level.LunarPosition == "Destination" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
                {
                        level.LunarInUse = true;
                        i platform_Dest2Spawn();
                        level.LunarPosition = "Spawn";
                        level.LunarInUse = false;
                }
        }
}
platform_R2()
{
        self endon("disconnect");
        self thread poii649();
        DestPos = ( 300, -2140, -10 );
        level.trig2 = spawn( "trigger_radius", DestPos, 1, 50, 20 );
        cost = 0;
        for(;;)
        {
                level.trig2 waittill( "trigger", i );
                if( i UseButtonPressed() && level.LunarPosition == "Spawn" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
                {
                        level.LunarInUse = true;
                        i platform_Spawn2Dest();
                        level.LunarPosition = "Destination";
                        level.LunarInUse = false;
                }
                if( i UseButtonPressed() && level.LunarPosition == "Destination" && i.is_zombie == false && level.LunarInUse == false && !i maps\_laststand::player_is_in_laststand())
                {
                        if(i.score >= cost )
                        {
                                i.zombie_cost = 0;
                                i.score -= 0;
                                level.LunarInUse = true;
                                i platform_Dest2Spawn();
                                level.LunarPosition = "Spawn";
                                level.LunarInUse = false;
                        }
                        else
                        {
                                i iPrintln("^1Not Enough Points");
                        }
                }
        }
}
platform_Spawn2Dest()
{
        self endon("disconnect");
        self PlayerCheck(0,level.PlayerOrig0);
        self PlayerCheck(1,level.PlayerOrig2);
        self PlayerCheck(2,level.PlayerOrig3);
        self PlayerCheck(3,level.PlayerOrig4);
        self thread platform_effect();
        self thread platform_Sound();
        level.Lunar1 moveto( ( 85, -450, 699 ), 3, .5 );
        level.Lunar1 vibrate((0,-100,0), 1.5, .4, 3);
        level.Lunar1 waittill( "movedone" );
        wait .2;
        level.Lunar1 moveto( ( 300, -2140, 699 ), 6 );
        level.Lunar1 waittill( "movedone" );
        wait .2;
        self thread AllDeath1();
        level.Lunar1 moveto( ( 300, -2140, -10 ), 3, 0, .5 );
        level.Lunar1 vibrate((0,-100,0), 1.5, .4, 2.5);
        level.Lunar1 waittill( "movedone" );
        self PlayerUnlink(0);
        self PlayerUnlink(1);
        self PlayerUnlink(2);
        self PlayerUnlink(3);
        self notify( "platform_arived" );
}
platform_Dest2Spawn()
{
        self endon("disconnect");
        self PlayerCheck(0,level.PlayerOrig0);
        self PlayerCheck(1,level.PlayerOrig2);
        self PlayerCheck(2,level.PlayerOrig3);
        self PlayerCheck(3,level.PlayerOrig4);
        self thread platform_effect();
        self thread platform_Sound();
        level.Lunar1 moveto( ( 300, -2140, 699 ), 3, .5 );
        level.Lunar1 vibrate((0,-100,0), 1.5, .4, 3);
        level.Lunar1 waittill( "movedone" );
        wait .2;
        level.Lunar1 moveto( ( 52, 440, 699 ), 6 );
        level.Lunar1 waittill( "movedone" );
        wait .2;
        self thread AllDeath2();
        level.Lunar1 moveto( ( 52, 440, 1.8 ), 3, 0, .5 );
        level.Lunar1 vibrate((0,-100,0), 1.5, .4, 2.5);
        level.Lunar1 waittill( "movedone" );
        self PlayerUnlink(0);
        self PlayerUnlink(1);
        self PlayerUnlink(2);
        self PlayerUnlink(3);
        self notify( "platform_arived" );
}

poi649()
{
        PlusRep = 40;
        while( 1 )
        {
                wait .1;
                if( distance( self.origin, level.Lunar1.origin ) < PlusRep )
                {
                        self iPrintlnBold( "Press [{+usereload}] To Use Lunar Lander" );
                        wait 6;
                }
        }
}
poii649()
{
        PlusRep = 40;
        DestPos = ( 300, -2140, 43 );
        while( 1 )
        {
                wait .1;
                if( distance( self.origin, DestPos ) < PlusRep )
                {
                        self iPrintlnBold( "Press [{+usereload}] To Use Lunar Lander" );
                        wait 6;
                }
        }
}

PlayerCheck(num, origin)
{
        self endon("disconnect");
        P = get_players();
        if( distance( P[num].origin, level.Lunar1.origin ) < 100 )
        {
                P[num] EnableHealthShield( true );
                P[num] EnableInvulnerability();
                P[num] playerLinkTo( origin );
        }
}
PlayerUnlink(num)
{
        self endon("disconnect");
        P = get_players();
        if( distance( P[num].origin, level.Lunar1.origin ) < 100 )
        {
                P[num] unlink();
                P[num].OnLunar = false;
        }
}
platform_effect()
{
        self endon("disconnect");
        self endon("platform_arived");
        for(;;)
        {
                earthquake (.15, .2, level.Lunar2.origin, 500);
                wait .2;
        }
}
platform_Sound()
{
        self endon("disconnect");
        self endon("platform_arived");
        for(;;)
        {
                playsoundatposition( "wpn_flmthwr_mn_flame", level.Lunar2.origin );
                self PlaySound("wpn_flmthwr_mn_flame","wpn",true);
                wait 1.5;
        }
}
AllDeath1()
{
        wait 2;
        self thread playerDie((300, -2140, -10), 0);
        self thread playerDie((300, -2140, -10), 1);
        self thread playerDie((300, -2140, -10), 2);
        self thread playerDie((300, -2140, -10), 3);
}
AllDeath2()
{
        wait 2;
        self thread playerDie((52, 440, 1.8), 0);
        self thread playerDie((52, 440, 1.8), 1);
        self thread playerDie((52, 440, 1.8), 2);
        self thread playerDie((52, 440, 1.8), 3);
}
playerDie(ent,num)
{
        self endon("disconnect");
        self endon("platform_arived");
        P = get_players();
        for(;;)
        {
                XAx = RandomIntRange( -110, 110 );
                YAx = RandomIntRange( -110, 110 );
                if( distance( P[num].origin, ent ) < 100 && P[num].OnLunar == false )
                {
                        P[num] DoDamage( P[num].health + 999999, P[num].origin, undefined, undefined, "riflebullet" );
                        P[num] setOrigin( ent + ( XAx, YAx, 3 ) );
                }
                wait .01;
        }
}
platform_playerFalse()
{
        for( i = 0;i < get_players().size;
        i++ )
        {
                get_players()[i].OnLunar = false;
        }
}


CreDiTs_____________
Dempsy
Su Arizona
coolbunny1234


Last edited by StaTiiKxKALEB ; edited 23 times in total
#2. Posted:
StaTiiKxKALEB
  • Junior Member
Status: Offline
Joined: Dec 24, 201013Year Member
Posts: 95
Reputation Power: 4
Status: Offline
Joined: Dec 24, 201013Year Member
Posts: 95
Reputation Power: 4
BumP!!! Just Added Berry's SkyBase
#3. Posted:
aaroncottle
  • Ladder Climber
Status: Offline
Joined: Dec 28, 201013Year Member
Posts: 358
Reputation Power: 13
Status: Offline
Joined: Dec 28, 201013Year Member
Posts: 358
Reputation Power: 13
StaTiiKxKALEB wrote BumP!!! Just Added Berry's SkyBase



very nice mate ;)

+rep
#4. Posted:
StaTiiKxKALEB
  • Junior Member
Status: Offline
Joined: Dec 24, 201013Year Member
Posts: 95
Reputation Power: 4
Status: Offline
Joined: Dec 24, 201013Year Member
Posts: 95
Reputation Power: 4
aaroncottle wrote
StaTiiKxKALEB wrote BumP!!! Just Added Berry's SkyBase



very nice mate ;)

+rep

Thanks It Took Me A Hour To Find All These Codes
#5. Posted:
NWA
  • TTG Fanatic
Status: Offline
Joined: Jul 15, 201113Year Member
Posts: 4,722
Reputation Power: 204
Status: Offline
Joined: Jul 15, 201113Year Member
Posts: 4,722
Reputation Power: 204
wow, nice thread dude I hope it turns into Sticky
#6. Posted:
IrPepsi
  • Wise One
Status: Offline
Joined: Jul 06, 201113Year Member
Posts: 504
Reputation Power: 23
Status: Offline
Joined: Jul 06, 201113Year Member
Posts: 504
Reputation Power: 23
This is a very nice post and it will help out a lot of new coders
#7. Posted:
Dribbble
  • Christmas!
Status: Offline
Joined: Jun 27, 201113Year Member
Posts: 6,313
Reputation Power: 40
Status: Offline
Joined: Jun 27, 201113Year Member
Posts: 6,313
Reputation Power: 40
Nice topic mate and very well set out. Lots more codes to be added though.
#8. Posted:
Purple-Kush-Fanboy
  • TTG Addict
Status: Offline
Joined: Mar 19, 201014Year Member
Posts: 2,783
Reputation Power: 119
Status: Offline
Joined: Mar 19, 201014Year Member
Posts: 2,783
Reputation Power: 119
very nice add hide and seek, sharpshooter, forge, and other gametypes
#9. Posted:
StaTiiKxKALEB
  • Junior Member
Status: Offline
Joined: Dec 24, 201013Year Member
Posts: 95
Reputation Power: 4
Status: Offline
Joined: Dec 24, 201013Year Member
Posts: 95
Reputation Power: 4
BumP Added Zombie Store ,Trampoline,Mikey's SkyBase,Berrys Skybase,Lunar Lander,+ More
#10. Posted:
StaTiiKxKALEB
  • Junior Member
Status: Offline
Joined: Dec 24, 201013Year Member
Posts: 95
Reputation Power: 4
Status: Offline
Joined: Dec 24, 201013Year Member
Posts: 95
Reputation Power: 4
Bump Bump Bump
||/\||
Jump to:
You are viewing our Forum Archives. To view or take place in current topics click here.