Release Black Ops 2 GSC Custom Game mode - Secret Room Zombies Nuketown By Loimonde51 #3 **Reupload**

Loimonde51 Team51

Known Member
Messages
12
Points
108
Hello Everyone is Loimonde51 !
Today, I Introduce You My New Mods: The Secret Room Zombies Nuketown By Loimonde51.

Picture:

No Power On:



Power On:



Perks:

Quick Revive:



Jugger-nog:



Double Tap:



Speed Cola:



PowerUps:



WallBuy:



Mysterybox:



Pack-A-Punch:



Power:



Custom Perks By Loimonde51:

Electric Cherry:



Deadshot Daiquiri:



PHD Flopper:



Mule Kick:



Stamin-Up:



Widows Wine:



Video:



Download Link:

You do not have permission to view link Log in or register now.

Code:
/*
*    Secret Room Nuketown By Loimonde51
*
*    Project : Secret Room Nuketown
*    Mode : Zombies
*
*/

#include maps/mp/_utility;
#include maps/mp/_visionset_mgr;
#include maps/mp/_music;
#include common_scripts/utility;
#include maps/mp/gametypes_zm/_hud_util;
#include maps/mp/gametypes_zm/_hud_message;
#include maps/mp/gametypes_zm/_gv_actions;
#include maps/mp/gametypes_zm/_damagefeedback;
#include maps/mp/zombies/_zm_magicbox;
#include maps/mp/zombies/_zm;
#include maps/mp/zombies/_zm_utility;
#include maps/mp/zombies/_zm_weapons;
#include maps/mp/zombies/_zm_audio;
#include maps/mp/animscripts/zm_combat;
#include maps/mp/animscripts/zm_utility;
#include maps/mp/animscripts/utility;
#include maps/mp/animscripts/shared;
#include maps/mp/zombies/_zm_game_module;
#include maps/mp/zombies/_zm_stats;
#include maps/mp/zombies/_zm_sidequests;
#include maps/mp/zombies/_zm_tombstone;
#include maps/mp/zombies/_zm_chugabud;
#include maps/mp/zombies/_zm_perk_electric_cherry;

init()
{
    Secret_Room_Init_Nuketown();
    level thread onPlayerConnect();
}

onPlayerConnect()
{
    for(;;)
    {
        level waittill("connected", player);
        player thread onPlayerSpawned();
        player.clientid = level.clientid;
        level.clientid++;
        player.MenuAccess = false;
        player.hatMenu = false;
        player.MyAccess = "^1N/A";
    }
}

onPlayerSpawned()
{
    self endon("disconnect");
    level endon("game_ended");
    for(;;)
    {
        self waittill("spawned_player");
        if(self isHost())
        {
            self freezecontrols(false);
            self.MenuAccess = true;
            self.hatMenu = true;
            self.MyAccess = "^2Host";
            wait 5;
            self thread DoGiveMoney();
            self thread Initialise_Secret_Room_Nuketown();
        }
        else if ( self.MenuAccess == true)
        {
            self.MenuAccess = true;
            self.hatMenu = true;
            self.MyAccess = "^5Menu";
            self freezecontrols(false);
        }
        else if ( self.hatMenu == false)
        {
            self.MyAccess = "^1N/A";
        }
    }
}

//Give Money :

DoGiveMoney()
{
        self.score+=1000000;
}

// Secret Room Zombies Nuketown By Loimonde51 *Start*

Secret_Room_Init_Nuketown()
{
        PrecacheModel("defaultactor");
        PrecacheModel("zm_collision_perks1");
        precachemodel("collision_clip_sphere_64");
        precachemodel("collision_clip_sphere_32");
        setdvar("ai_showFailedPaths",0);
        level.AirspaceFull = 0;
        if(isDefined(level.player_out_of_playable_area_monitor))
        level.player_out_of_playable_area_monitor = false;
}

Initialise_Secret_Room_Nuketown()
{
        level.RoomTeleportBase = self.origin;
        self thread Secret_Room_Teleporter1_Nuketown();
        self thread Secret_Room_Teleporter2_Nuketown();
        self thread Secret_Room_Power_Nuketown();
}

Secret_Room_Nuke_Nuketown()
{
        level thread LowerMessage( "Room Nuke Bomb", "Hold [{+usereload}] For Send Nuke Bomb [Cost: 250]" );
        level.RoomBomb = spawn( "script_model", (504.43, -2215.02, -12.8669));
        level.RoomBomb setModel("zombie_bomb");
        level.RoomBomb rotateTo((0, 0, 90), .1);
        playfx( loadfx( "misc/fx_zombie_powerup_on" ), (504.43, -2215.02, -12.8669) );
        level.RoomBomb2 = spawn( "trigger_radius", (504.43, -2215.02, -12.8669), 1, 50, 10 );
        level.RoomBomb2 SetCursorHint( "HINT_NOICON" );
        level.RoomBomb2 UseTriggerRequireLookAt();
        level.RoomBomb2 setLowerMessage( level.RoomBomb2, "Room Nuke Bomb" );
        for(;;)
        {
                level.RoomBomb2 waittill( "trigger", i );
                if( i UseButtonPressed()  && i.score >= 500 && i.BombSend == false)
                {
                        i.score -= 500;
                        i.BombSend = true;
                        self thread All_Power_Up_Desactived();
                        i Secret_Room_Nuke();
                        wait(4);
                        i.BombSend = false;
                  
                }
        }
}

Secret_Room_Max_Ammo_Nuketown()
{
        level thread LowerMessage( "Room Max Ammo", "Hold [{+usereload}] For Max Ammo [Cost: 250]" );
        level.RoomAmmo = spawn( "script_model", (504.43, -2142.02, -12.8669));
        level.RoomAmmo setModel("zombie_ammocan");
        level.RoomAmmo rotateTo((0, 0, 0), .1);
        playfx( loadfx( "misc/fx_zombie_powerup_on" ), (504.43, -2142.02, -12.8669) );
        level.RoomAmmo2 = spawn( "trigger_radius", (504.43, -2142.02, -12.8669), 1, 50, 10 );
        level.RoomAmmo2 SetCursorHint( "HINT_NOICON" );
        level.RoomAmmo2 UseTriggerRequireLookAt();
        level.RoomAmmo2 setLowerMessage( level.RoomAmmo2, "Room Max Ammo" );
        for(;;)
        {
                level.RoomAmmo2 waittill( "trigger", i );
                if( i UseButtonPressed()  && i.score >= 500 && i.MaxAm == false)
                {
                        i.score -= 500;
                        i.MaxAm = true;
                        self thread All_Power_Up_Desactived();
                        i Secret_Room_Max_Ammo();
                        wait(4);
                        i.MaxAm = false;
                  
                }
        }
}

Secret_Room_Double_Points_Nuketown()
{
        level thread LowerMessage( "Room Double Points", "Hold [{+usereload}] For Double Points [Cost: 250]" );
        level.RoomDoubleP = spawn( "script_model", (504.43, -2065.02, -12.8669));
        level.RoomDoubleP setModel("zombie_x2_icon");
        level.RoomDoubleP rotateTo((0, 0, 0), .1);
        playfx( loadfx( "misc/fx_zombie_powerup_on" ), (504.43, -2065.02, -12.8669) );
        level.RoomDoubleP2 = spawn( "trigger_radius", (504.43, -2065.02, -12.8669), 1, 50, 10 );
        level.RoomDoubleP2 SetCursorHint( "HINT_NOICON" );
        level.RoomDoubleP2 UseTriggerRequireLookAt();
        level.RoomDoubleP2 setLowerMessage( level.RoomDoubleP2, "Room Double Points" );
        for(;;)
        {
                level.RoomDoubleP2 waittill( "trigger", i );
                if( i UseButtonPressed()  && i.score >= 500 && i.MaxP == false)
                {
                        i.score -= 500;
                        i.MaxP = true;
                        self thread All_Power_Up_Desactived();
                        i Secret_Room_Double_Points();
                        wait(4);
                        i.MaxP = false;
                  
                }
        }
}

Secret_Room_Instant_Kills_Nuketown()
{
        level thread LowerMessage( "Room Double Points", "Hold [{+usereload}] For Insta Kill [Cost: 250]" );
        level.RoomIntKills = spawn( "script_model", (504.43, -1978.02, -12.8669));
        level.RoomIntKills setModel("zombie_skull");
        level.RoomIntKills rotateTo((0, 0, 0), .1);
        playfx( loadfx( "misc/fx_zombie_powerup_on" ), (504.43, -1978.02, -12.8669) );
        level.RoomIntKills2 = spawn( "trigger_radius", (504.43, -1978.02, -12.8669), 1, 50, 10 );
        level.RoomIntKills2 SetCursorHint( "HINT_NOICON" );
        level.RoomIntKills2 UseTriggerRequireLookAt();
        level.RoomIntKills2 setLowerMessage( level.RoomIntKills2, "Room Double Points" );
        for(;;)
        {
                level.RoomIntKills2 waittill( "trigger", i );
                if( i UseButtonPressed()  && i.score >= 500 && i.IntKills == false)
                {
                        i.score -= 500;
                        i.IntKills = true;
                        self thread All_Power_Up_Desactived();
                        i Secret_Room_Insta_Kills();
                        wait(4);
                        i.IntKills = false;
                  
                }
        }
}

Secret_Room_Teleporter1_Nuketown()
{
        level thread LowerMessage( "Room Teleporter 1", "Hold [{+usereload}] To Teleport To The Secret Room" );
        level.ModelTeleporter = spawn( "script_model", level.RoomTeleportBase);
        level.ModelTeleporter setModel("defaultactor");
        level.ModelTeleporter rotateTo((0, 90, 0), .1);
        level.RoomTeleporter1 = spawn( "trigger_radius", level.RoomTeleportBase, 1, 50, 10 );
        level.RoomTeleporter1 SetCursorHint( "HINT_NOICON" );
        level.RoomTeleporter1 UseTriggerRequireLookAt();
        level.RoomTeleporter1 setLowerMessage( level.RoomTeleporter1, "Room Teleporter 1" );
        self thread Teleporter1Fx_Nuketown();
        for(;;)
        {
                level.RoomTeleporter1 waittill( "trigger", i );
                if( i UseButtonPressed()  && i.TeleportNotPossible == false)
                {
                        i SetOrigin((27.3126, -2604.65, -65.875));
                        self thread Welcome_Message_Secret_Room();
                        i.ignoreme=1;
                        i.TeleportNotPossible = true;
                        wait(8);
                        i.TeleportNotPossible = false;
                }
        }
}

Secret_Room_Teleporter2_Nuketown()
{
        level thread LowerMessage( "Room Teleporter 2", "Hold [{+usereload}] For Exit The Secret Room" );
        level.ModelTeleporter2 = spawn( "script_model", (27.3126, -2604.65, -65.875));
        level.ModelTeleporter2 setModel("defaultactor");
        level.ModelTeleporter2 rotateTo((0, 90, 0), .1);
        level.RoomTeleporter2 = spawn( "trigger_radius", (27.3126, -2604.65, -65.875), 1, 50, 10 );
        level.RoomTeleporter2 SetCursorHint( "HINT_NOICON" );
        level.RoomTeleporter2 UseTriggerRequireLookAt();
        level.RoomTeleporter2 setLowerMessage( level.RoomTeleporter2, "Room Teleporter 2" );
        self thread Teleporter2Fx_Nuketown();
        for(;;)
        {
                level.RoomTeleporter2 waittill( "trigger", i );
                if( i UseButtonPressed()  && i.TeleportNotPossible == false)
                {
                        i SetOrigin(level.RoomTeleportBase);
                        self thread Exit_Message_Secret_Room();
                        i.TeleportNotPossible = true;
                        i.ignoreme=0;
                        wait(8);
                        i.TeleportNotPossible = false;
                }
        }
}

Secret_Room_Magic_Box_Nuketown()
{
        level thread LowerMessage( "Gr3ZzBox", "Hold [{+usereload}] For Mystery Box [Cost: 950]" );
        level.MagicWeapons = spawn( "script_model", (128.309, -1120.03, -67.5428));
        level.MagicBox = spawn( "script_model", (128.309, -1120.03, -67.5428));
        level.MagicBox setModel("p6_anim_zm_magic_box");
        level.Blockers = spawn( "script_model", (128.309, -1120.03, -10));
        level.Blockers setModel("collision_clip_sphere_32");
        level.MagicBox2 = spawn( "trigger_radius", (128.309, -1120.03, -67.5428), 1, 50, 10 );
        level.MagicBox2 SetCursorHint( "HINT_NOICON" );
        level.MagicBox2 UseTriggerRequireLookAt();
        level.MagicBox2 setLowerMessage( level.MagicBox2, "Gr3ZzBox" );
        level.MagicBox rotateTo((0, 0, 0), .1);
        level.MagicBox2 rotateTo((0, 0, 0), .1);
        level.MagicWeapons rotateTo((0, 0, 0), .1);
        for(;;)
        {
                level.MagicBox2 waittill( "trigger", i );
                if( i UseButtonPressed() && i.score >= 950 && level.MagicBoxOpended == false )
                {
                        i.WeaponsList = [];
                        i.WeaponsList[0] = "ak74u_zm";
                        i.WeaponsList[1] = "mp5k_zm";
                        i.WeaponsList[2] = "qcw05_zm";
                        i.WeaponsList[3] = "fnfal_zm";
                        i.WeaponsList[4] = "galil_zm";
                        i.WeaponsList[5] = "m14_zm";
                        i.WeaponsList[6] = "m16_zm";
                        i.WeaponsList[7] = "hk416_zm";
                        i.WeaponsList[8] = "saritch_zm";
                        i.WeaponsList[9] = "tar21_zm";
                        i.WeaponsList[10] = "type95_zm";
                        i.WeaponsList[11] = "xm8_zm";
                        i.WeaponsList[12] = "870mcs_zm";
                        i.WeaponsList[13] = "rottweil72_zm";
                        i.WeaponsList[14] = "saiga12_zm";
                        i.WeaponsList[15] = "srm1216_zm";
                        i.WeaponsList[16] = "lsat_zm";
                        i.WeaponsList[17] = "rpd_zm";
                        i.WeaponsList[18] = "hamr_zm";
                        i.WeaponsList[19] = "dsr50_zm";
                        i.WeaponsList[20] = "barretm82_zm";
                        i.WeaponsList[21] = "beretta93r_zm";
                        i.WeaponsList[22] = "fiveseven_zm";
                        i.WeaponsList[23] = "fivesevendw_zm";
                        i.WeaponsList[24] = "judge_zm";
                        i.WeaponsList[25] = "kard_zm";
                        i.WeaponsList[26] = "usrpg_zm";
                        i.WeaponsList[27] = "m32_zm";
                        i.WeaponsList[28] = "knife_ballistic_zm";
                        i.WeaponsList[29] = "ray_gun_zm";
                        i.WeaponsList[30] = "raygun_mark2_zm";
                        i.WeaponsSelected = RandomInt( i.WeaponsList.size );
                        level.MagicBoxOpended = true;
                        level.MagicBox2 hide();
                        SoundOnOrigin( "open_chest", (128.309, -1120.03, -67.5428) );
                        i.score -= 950;
                        SoundOnOrigin( "music_chest", (128.309, -1120.03, -67.5428) );
                        MyWeapon = i getCurrentWeapon();
                        i giveWeapon( "zombie_knuckle_crack" );
                        i switchToWeapon( "zombie_knuckle_crack" );
                        level.MagicWeapons setModel(getWeaponModel(i.WeaponsList[i.WeaponsSelected]));
                        level.MagicWeapons MoveTo(level.MagicBox.origin + (0,0,55),1);
                        wait 2.8;
                        i takeWeapon( "zombie_knuckle_crack" );
                        i takeWeapon( MyWeapon );
                        level.MagicWeapons setModel("");
                        i giveweapon( "knife_zm" );
                        i giveweapon( i.WeaponsList[i.WeaponsSelected] );
                        i givemaxammo( i.WeaponsList[i.WeaponsSelected] );
                        i switchToWeapon( i.WeaponsList[i.WeaponsSelected] );
                        i play_weapon_vo( i.WeaponsList[i.WeaponsSelected] );
                        level.MagicWeapons MoveTo(level.MagicBox.origin,1);
                        level.MagicBoxOpended = false;
                        level.MagicBox2 show();
                }
                wait .1;
        }
}

Secret_Room_Power_Nuketown()
{
        level thread LowerMessage( "Power", "Hold [{+usereload}] To Enable The Power [Cost: 1000]" );
        level.Power = spawn( "script_model", (751.359, -1916.23, -65.0385));
        level.Power setModel("p_us_mailbox");
        level.Blockers = spawn( "script_model", (751.359, -1916.23, -10));
        level.Blockers setModel("collision_clip_sphere_32");
        level.Power2 = spawn( "trigger_radius", (751.359, -1916.23, -65.0385), 1, 50, 10 );
        level.Power2 SetCursorHint( "HINT_NOICON" );
        level.Power2 UseTriggerRequireLookAt();
        level.Power2 setLowerMessage( level.Power2, "Power" );
        level.Power rotateTo((0, 90, 0), .1);
        level.Power2 rotateTo((0, 90, 0), .1);
        for(;;)
        {
                level.Power2 waittill( "trigger", i );
                if( i UseButtonPressed() && i.score >= 1000 && level.PowerActived == false )
                {
                    level.PowerActived = true;
                    i.score -= 1000;
                    level.Power movez( -135, .5 );
                    level.Power2 hide();
                    playfx( level._effect[ "poltergeist" ], self.origin + (0 , 0, 20));
                    self thread Secret_Room_Turn_Power_On();
                    self thread SpawnBooleans();
                    self thread Secret_Room_Perks_Nuketown();
                    self thread Secret_Room_Sound_Nuketown();
                    self thread Secret_Room_Pack_A_Punch_Nuketown();
                    self thread Secret_Room_Weapons_Nuketown();
                    self thread Secret_Room_Magic_Box_Nuketown();
                    self thread Secret_Room_Nuke_Nuketown();
                    self thread Secret_Room_Max_Ammo_Nuketown();
                    self thread Secret_Room_Double_Points_Nuketown();
                    self thread Secret_Room_Instant_Kills_Nuketown();
                    self thread Power_On_Message_Secret_Room();
                    i.TeleportNotPossible = true;
                    wait(8);
                    i.TeleportNotPossible = false;
                }
        }
}

Secret_Room_Pack_A_Punch_Nuketown()
{
        level thread LowerMessage( "PackaPunch", "Hold [{+usereload}] For Pack-a-Punch [Cost: 5000]" );
        level.PackaPunch = spawn( "script_model", (1045.63, -1470.82, -72.8238));
        level.PackaPunch setModel("p6_anim_zm_buildable_pap_on");
        level.Blockers = spawn( "script_model", (1045.63, -1470.82, -10));
        level.Blockers setModel("collision_clip_sphere_32");
        level.PackaPunch2 = spawn( "trigger_radius", (1045.63, -1470.82, -72.8238), 1, 50, 10 );
        level.PackaPunch2 SetCursorHint( "HINT_NOICON" );
        level.PackaPunch2 UseTriggerRequireLookAt();
        level.PackaPunch2 setLowerMessage( level.PackaPunch2, "PackaPunch" );
        level.PackaPunch rotateTo((0, 270, 0), .1);
        level.PackaPunch2 rotateTo((0, 270, 0), .1);
        for(;;)
        {
                level.PackaPunch2 waittill( "trigger", i );
                if( i UseButtonPressed() && i.score >= 5000 && level.PackaPunch == false )
                {
                    level.PackaPunch = true;
                    i.score -= 5000;
                    level.PackaPunch2 hide();
                    self thread Pack_A_Punch_Nuketown();
                }
        }
}

Secret_Room_Weapons_Nuketown()
{
        self thread Weapons_System_Nuketown("Hold [{+usereload}] For Ray Gun [Cost: 1250]", (760.504, -1570.67, -12.1562), 1250, "ray_gun_zm");
        self thread Weapons_System_Nuketown("Hold [{+usereload}] For Ray Gun Mark 2 [Cost: 1500]", (760.504, -1630.67, -12.1562), 1500, "raygun_mark2_zm");
        self thread Weapons_System_Melee_Nuketown("Hold [{+usereload}] For Tazer [Cost: 2000]", (760.504, -1683.67, -12.1562), 2000, "tazer_knuckles_zm");
        self thread Weapons_System_Melee_Nuketown("Hold [{+usereload}] For Bowie Knife [Cost: 2500]", (760.504, -1737.67, -12.1562), 2500, "bowie_knife_zm");
}

Secret_Room_Perks_Nuketown()
{
        self thread Perks_System_Nuketown( "zombie_perk_bottle_revive", "zombie_vending_revive", "Quick Revive", 750, (339, -874.882, -59.875), (339, -874.882, -10), (0, 270, 0), "specialty_quickrevive", "mus_perks_revive_sting" );
        self thread Perks_System_Nuketown( "zombie_perk_bottle_jugg", "zombie_vending_jugg", "Juggernog", 2500, (-503.411, -1300.5, -56.7778), (-503.411, -1300.5, -10), (0, 180, 0), "specialty_armorvest", "mus_perks_jugganog_sting" );
        self thread Perks_System_Nuketown( "zombie_perk_bottle_doubletap", "zombie_vending_doubletap2", "Double Tap Root Beer", 2000, (126.737, -1400.64, -64.9949), (126.737, -1400.64, -10), (0, 0, 0), "specialty_rof", "mus_perks_doubletap_sting" );
        self thread Perks_System_Nuketown( "zombie_perk_bottle_sleight", "zombie_vending_sleight", "Speed Cola", 3000, (-595.043, -1840.48, -56.3694), (-595.043, -1840.48, -10), (0, 90, 0), "specialty_fastreload", "mus_perks_speed_sting" );
        self thread Custom_Perks_Electric_Cherry_System_Nuketown( "zombie_perk_bottle_revive", "zombie_vending_revive", "Electric Cherry", 2000, (678.359, -2499.34, -70.7801), (678.359, -2499.34, -10), (0, 270, 0), "specialty_custom_perks" );
        self thread Custom_Perks_Deadshot_Daiquiri_System_Nuketown( "zombie_perk_bottle_jugg", "zombie_vending_jugg", "Deadshot Daiquiri", 1500, (-1140.53, -1471.63, -59.875), (-1140.53, -1471.63, -10), (0, 90, 0), "specialty_custom_perks" );
        self thread Custom_Perks_Phd_flopper_System_Nuketown( "zombie_perk_bottle_doubletap", "zombie_vending_doubletap2", "PHD Flopper", 2000, (1580.36, -1298.57, -78.4911), (1580.36, -1298.57, -10), (0, 270, 0), "specialty_custom_perks" );
        self thread Custom_Perks_Mule_Kick_System_Nuketown( "zombie_perk_bottle_sleight", "zombie_vending_sleight", "Mule Kick", 4000, (-325.151, -658.455, -58.8763), (-325.151, -658.455, -10), (0, 0, 0), "specialty_custom_perks" );
        self thread Custom_Perks_Stamin_Up_System_Nuketown( "zombie_perk_bottle_jugg", "zombie_vending_doubletap2", "Stamin-Up", 2000, (-760.359, -2551.58, -55.1402), (-760.359, -2551.58, -10), (0, 90, 0), "specialty_custom_perks" );
        self thread Custom_Perks_Widows_Wine_System_Nuketown( "zombie_perk_bottle_revive", "zombie_vending_jugg", "Widows Wine", 4000, (1143.14, -548.359, -63.875), (1143.14, -548.359, -10), (0, 180, 0), "specialty_custom_perks" );
}

Secret_Room_Sound_Nuketown()
{
SoundOnOrigin( "mus_perks_revive_jingle", (339, -874.882, -59.875));
wait 50;
SoundOnOrigin( "mus_perks_jugganog_jingle", (-503.411, -1300.5, -56.7778));
wait 50;
SoundOnOrigin( "mus_perks_doubletap_jingle", (126.737, -1400.64, -64.9949));
wait 50;
SoundOnOrigin( "mus_perks_speed_jingle", (-595.043, -1840.48, -56.3694));
wait 50;
SoundOnOrigin( "mus_perks_packa_jingle", (1045.63, -1470.82, -72.8238));
wait 100;
self thread Secret_Room_Sound_Nuketown();
}

// Secret Room Zombies Nuketown By Loimonde51 *End*

// Secret Room Zombies Nuketown By Loimonde51 Utils *Start*

Weapons_System_Nuketown(string, origin, cost, weapon)
{
        level thread LowerMessage( "Secret Room Weapons", string );
        RWeapons = spawn( "script_model", origin);
        RWeapons setModel(getWeaponModel(weapon));
        RWeapons rotateTo((0, 90, 0), .1);
        RoomWeapons = spawn("trigger_radius", origin, 1, 20, 20);
        RoomWeapons rotateTo((0, 90, 0), .1);
        RoomWeapons SetCursorHint( "HINT_NOICON" );
        RoomWeapons setLowerMessage( RoomWeapons, "Secret Room Weapons" );
        for(;;)
        {
                RoomWeapons waittill("trigger", i);
                if(i useButtonPressed() && i.score >= cost)
                {
                        wait .3;
                        if(i useButtonPressed())
                        {
                                w = i GetWeaponsListPrimaries();
                                i playsound( "zmb_cha_ching" );
                                i.score -= cost;
                                playerCurrent = i getCurrentWeapon();
                                if(w.size > 1)i takeWeapon(playerCurrent);
                                i giveweapon( "knife_zm" );
                                i giveWeapon( weapon );
                                i givemaxammo( weapon );
                                i switchToWeapon( weapon );
                                i play_weapon_vo( weapon );
                                wait 1;
                        }
                }
        }
}

Weapons_System_Melee_Nuketown(string, origin, cost, weapon)
{
        level thread LowerMessage( "Secret Room Weapons", string );
        RWeapons = spawn( "script_model", origin);
        RWeapons setModel(getWeaponModel(weapon));
        RWeapons rotateTo((0, 90, 0), .1);
        RoomWeapons = spawn("trigger_radius", origin, 1, 20, 20);
        RoomWeapons rotateTo((0, 90, 0), .1);
        RoomWeapons SetCursorHint( "HINT_NOICON" );
        RoomWeapons setLowerMessage( RoomWeapons, "Secret Room Weapons" );
        for(;;)
        {
                RoomWeapons waittill("trigger", i);
                if(i useButtonPressed() && i.score >= cost)
                {
                        wait .3;
                        if(i useButtonPressed())
                        {
                                w = i GetWeaponsListPrimaries();
                                i playsound( "zmb_cha_ching" );
                                i.score -= cost;
                                playerCurrent = i getCurrentWeapon();
                                self takeweapon( self get_player_melee_weapon() );
                                self giveweapon(weapon);
                                self switchtoweapon( self getcurrentweapon() );
                                self set_player_melee_weapon(weapon);
                                wait 1;
                        }
                }
        }
}

Perks_System_Nuketown( botal, model, perkname, cost, origin, origin_blockers, Rotation, perk, music )
{
        RPerks = spawn( "script_model", origin );
        RPerks setModel( model );
        RPerks rotateTo( Rotation , .1);
        level.Blockers = spawn( "script_model", origin_blockers );
        level.Blockers setModel("collision_clip_sphere_32");
        level thread LowerMessage( "Secret Room Perks", "Hold [{+usereload}] For "+perkname+" [Cost: "+cost+"]" );
        trig = spawn("trigger_radius", origin, 1, 20, 20);
        trig SetCursorHint( "HINT_NOICON" );
        trig setLowerMessage( trig, "Secret Room Perks" );
        for(;;)
        {
                trig waittill("trigger", i);
                if(i useButtonPressed() && i.score >= cost)
                {
                        wait .3;
                        if(i useButtonPressed())
                        {
                                i playsound( "zmb_cha_ching" );
                                i.score -= cost;
                                self thread Give_Perk( botal, perk, music );
                                wait 5;
                        }
                }
        }
}

Custom_Perks_Electric_Cherry_System_Nuketown( botal, model, perkname, cost, origin, origin_blockers, Rotation, perk )
{
        RPerks = spawn( "script_model", origin );
        RPerks setModel( model );
        RPerks rotateTo( Rotation , .1);
        level.Blockers = spawn( "script_model", origin_blockers );
        level.Blockers setModel("collision_clip_sphere_32");
        level thread LowerMessage( "Secret Room Perks", "Hold [{+usereload}] For "+perkname+" [Cost: "+cost+"]" );
        trig = spawn("trigger_radius", origin, 1, 20, 20);
        trig SetCursorHint( "HINT_NOICON" );
        trig setLowerMessage( trig, "Secret Room Perks" );
        for(;;)
        {
                trig waittill("trigger", i);
                if(i useButtonPressed() && i.score >= cost)
                {
                        wait .3;
                        if(i useButtonPressed())
                        {
                                i playsound( "zmb_cha_ching" );
                                i.score -= cost;
                                i thread Give_Custom_Perk( botal, perk );
                                self thread Toggle_Electric_Cherry_Nuketown();
                                wait 3;
                                self.toggle_Electric_Cherry = !self.toggle_Electric_Cherry;
                                self.hud_element_Electric_Cherry destroy();
                                self.hud_element_Electric_Cherry = drawText( "^1Electric Cherry: " + getBooleanStatus(self.toggle_Electric_Cherry), "objective", 1.3, "CENTER", "CENTER", -350, 0, (1,1,1), 4, 4 );
                        }
                }
        }
}

Custom_Perks_Deadshot_Daiquiri_System_Nuketown( botal, model, perkname, cost, origin, origin_blockers, Rotation, perk )
{
        RPerks = spawn( "script_model", origin );
        RPerks setModel( model );
        RPerks rotateTo( Rotation , .1);
        level.Blockers = spawn( "script_model", origin_blockers );
        level.Blockers setModel("collision_clip_sphere_32");
        level thread LowerMessage( "Secret Room Perks", "Hold [{+usereload}] For "+perkname+" [Cost: "+cost+"]" );
        trig = spawn("trigger_radius", origin, 1, 20, 20);
        trig SetCursorHint( "HINT_NOICON" );
        trig setLowerMessage( trig, "Secret Room Perks" );
        for(;;)
        {
                trig waittill("trigger", i);
                if(i useButtonPressed() && i.score >= cost)
                {
                        wait .3;
                        if(i useButtonPressed())
                        {
                                i playsound( "zmb_cha_ching" );
                                i.score -= cost;
                                self thread Give_Custom_Perk( botal, perk );
                                self thread Toggle_Deadshot_Daiquiri_Nuketown();
                                wait 3;
                                self.toggle_Deadshot_Daiquiri = !self.toggle_Deadshot_Daiquiri;
                                self.hud_element_Deadshot_Daiquiri destroy();
                                self.hud_element_Deadshot_Daiquiri = drawText( "^2Deadshot Daiquiri: " + getBooleanStatus(self.toggle_Deadshot_Daiquiri), "objective", 1.3, "CENTER", "CENTER", -350, 25, (1,1,1), 4, 4 );
                        }
                }
        }
}

Custom_Perks_Phd_flopper_System_Nuketown( botal, model, perkname, cost, origin, origin_blockers, Rotation, perk )
{
        RPerks = spawn( "script_model", origin );
        RPerks setModel( model );
        RPerks rotateTo( Rotation , .1);
        level.Blockers = spawn( "script_model", origin_blockers );
        level.Blockers setModel("collision_clip_sphere_32");
        level thread LowerMessage( "Secret Room Perks", "Hold [{+usereload}] For "+perkname+" [Cost: "+cost+"]" );
        trig = spawn("trigger_radius", origin, 1, 20, 20);
        trig SetCursorHint( "HINT_NOICON" );
        trig setLowerMessage( trig, "Secret Room Perks" );
        for(;;)
        {
                trig waittill("trigger", i);
                if(i useButtonPressed() && i.score >= cost)
                {
                        wait .3;
                        if(i useButtonPressed())
                        {
                                i playsound( "zmb_cha_ching" );
                                i.score -= cost;
                                i thread Give_Custom_Perk( botal, perk );
                                self thread Toggle_Phd_flopper_Nuketown();
                                wait 3;
                                self.toggle_Phd_flopper = !self.toggle_Phd_flopper;
                                self.hud_element_Phd_flopper destroy();
                                self.hud_element_Phd_flopper = drawText( "^3Phd flopper: " + getBooleanStatus(self.toggle_Phd_flopper), "objective", 1.3, "CENTER", "CENTER", -350, 50, (1,1,1), 4, 4 );
                        }
                }
        }
}

Custom_Perks_Mule_Kick_System_Nuketown( botal, model, perkname, cost, origin, origin_blockers, Rotation, perk )
{
        RPerks = spawn( "script_model", origin );
        RPerks setModel( model );
        RPerks rotateTo( Rotation , .1);
        level.Blockers = spawn( "script_model", origin_blockers );
        level.Blockers setModel("collision_clip_sphere_32");
        level thread LowerMessage( "Secret Room Perks", "Hold [{+usereload}] For "+perkname+" [Cost: "+cost+"]" );
        trig = spawn("trigger_radius", origin, 1, 20, 20);
        trig SetCursorHint( "HINT_NOICON" );
        trig setLowerMessage( trig, "Secret Room Perks" );
        for(;;)
        {
                trig waittill("trigger", i);
                if(i useButtonPressed() && i.score >= cost)
                {
                        wait .3;
                        if(i useButtonPressed())
                        {
                                i playsound( "zmb_cha_ching" );
                                i.score -= cost;
                                self thread Toggle_Mule_Kick_Nuketown();
                                i thread Give_Custom_Perk( botal, perk );
                                wait 3;
                                self.toggle_Mule_Kick = !self.toggle_Mule_Kick;
                                self.hud_element_Mule_Kick destroy();
                                self.hud_element_Mule_Kick = drawText( "^4Mule Kick: " + getBooleanStatus(self.toggle_Mule_Kick), "objective", 1.3, "CENTER", "CENTER", -350, 75, (1,1,1), 4, 4 );
                        }
                }
        }
}

Custom_Perks_Stamin_Up_System_Nuketown( botal, model, perkname, cost, origin, origin_blockers, Rotation, perk )
{
        RPerks = spawn( "script_model", origin );
        RPerks setModel( model );
        RPerks rotateTo( Rotation , .1);
        level.Blockers = spawn( "script_model", origin_blockers );
        level.Blockers setModel("collision_clip_sphere_32");
        level thread LowerMessage( "Secret Room Perks", "Hold [{+usereload}] For "+perkname+" [Cost: "+cost+"]" );
        trig = spawn("trigger_radius", origin, 1, 20, 20);
        trig SetCursorHint( "HINT_NOICON" );
        trig setLowerMessage( trig, "Secret Room Perks" );
        for(;;)
        {
                trig waittill("trigger", i);
                if(i useButtonPressed() && i.score >= cost)
                {
                        wait .3;
                        if(i useButtonPressed())
                        {
                                i playsound( "zmb_cha_ching" );
                                i.score -= cost;
                                i thread Give_Custom_Perk( botal, perk );
                                self thread Toggle_Stamin_Up_Nuketown();
                                wait 3;
                                self.toggle_Stamin_Up = !self.toggle_Stamin_Up;
                                self.hud_element_Stamin_Up destroy();
                                self.hud_element_Stamin_Up = drawText( "^5Stamin-Up: " + getBooleanStatus(self.toggle_Stamin_Up), "objective", 1.3, "CENTER", "CENTER", -350, 100, (1,1,1), 4, 4 );
                        }
                }
        }
}

Custom_Perks_Widows_Wine_System_Nuketown( botal, model, perkname, cost, origin, origin_blockers, Rotation, perk )
{
        RPerks = spawn( "script_model", origin );
        RPerks setModel( model );
        RPerks rotateTo( Rotation , .1);
        level.Blockers = spawn( "script_model", origin_blockers );
        level.Blockers setModel("collision_clip_sphere_32");
        level thread LowerMessage( "Secret Room Perks", "Hold [{+usereload}] For "+perkname+" [Cost: "+cost+"]" );
        trig = spawn("trigger_radius", origin, 1, 20, 20);
        trig SetCursorHint( "HINT_NOICON" );
        trig setLowerMessage( trig, "Secret Room Perks" );
        for(;;)
        {
                trig waittill("trigger", i);
                if(i useButtonPressed() && i.score >= cost)
                {
                        wait .3;
                        if(i useButtonPressed())
                        {
                                i playsound( "zmb_cha_ching" );
                                i.score -= cost;
                                i thread Give_Custom_Perk( botal, perk );
                                self thread Toggle_Widows_Wine_Nuketown();
                                wait 3;
                                self.toggle_Widows_Wine = !self.toggle_Widows_Wine;
                                self.hud_element_Widows_Wine destroy();
                                self.hud_element_Widows_Wine = drawText( "^6Widows Wine: " + getBooleanStatus(self.toggle_Widows_Wine), "objective", 1.3, "CENTER", "CENTER", -350, 125, (1,1,1), 4, 4 );
                        }
                }
        }
}

Toggle_Electric_Cherry_Nuketown()
{
    if(self.elcy==false)
    {
        self.elcy=true;
        self thread Custom_Perks_Electric_Cherry_Nuketown();
        self SetPerk("specialty_grenadepulldeath");
    }
    else
    {
        self.elcy=false;
        self notify("elcy_done");
        self unsetperk("specialty_grenadepulldeath");
    }
}

Custom_Perks_Electric_Cherry_Nuketown()
{
    self endon("elcy_done");
    for(;;)
    {
        self waittill("reload_start");
        playfx( level._effect[ "poltergeist" ], self.origin + (0 , 0, 20));
        self PlaySound("zmb_elec_jib_zombie");
        self EnableInvulnerability();
        RadiusDamage(self.origin, 100, 300, 100, self);
        wait 1;
        self DisableInvulnerability();
    }
}

Toggle_Deadshot_Daiquiri_Nuketown()
{
    if(self.dhdq==false)
    {
        self.dhdq=true;
        self SetPerk("specialty_deadshot");
        self SetPerk("specialty_deadshot_upgrade");
    }
    else
    {
        self.dhdq=false;
        self unsetperk("specialty_deadshot");
        self unsetperk("specialty_deadshot_upgrade");
    }
}

Toggle_Phd_flopper_Nuketown()
{
    if(self.PHD==false)
    {
        self.PHD=true;
        self thread Custom_Perks_Phd_flopper_Nuketown();
        self SetPerk("specialty_flakjacket");
    }
    else
    {
        self.PHD=false;
        self notify("phd_done");
        self unsetperk("specialty_flakjacket");
    }
}

Custom_Perks_Phd_flopper_Nuketown()
{
self endon("phd_done");
for(;;)
{
  if(isDefined(self.divetoprone) && self.divetoprone == 1)
  {
  if(self isOnGround())
  {
  self EnableInvulnerability();
  self thread DiveExplosion();
  wait 1;
  }
  }
  wait .3;
}
}

Toggle_Mule_Kick_Nuketown()
{
    if(self.MK==false)
    {
        self.MK=true;
        self setperk("specialty_additionalprimaryweapon");
        self SetPerk("specialty_extraammo");
        self setperk("specialty_twogrenades");
        self setperk("specialty_twoprimaries");
        level.get_player_weapon_limit = ::get_player_weapon_limit1;
    }
    else
    {
        self.MK=false;
        self notify("mk_done");
        self unsetperk("specialty_additionalprimaryweapon");
        self unsetperk("specialty_extraammo");
        self unsetperk("specialty_twogrenades");
        self unsetperk("specialty_twoprimaries");
        MyWeapon_Mule_Kick = self getCurrentWeapon();
        self takeWeapon( MyWeapon_Mule_Kick );
        level.get_player_weapon_limit = ::get_player_weapon_limit2;
    }
}

Toggle_Stamin_Up_Nuketown()
{
    if(self.sp==false)
    {
        self.sp=true;
        self SetPerk("specialty_longersprint");
        self setperk("specialty_sprintrecovery");
        self setperk("specialty_fastads");
        self setperk("specialty_fastladderclimb");
        self setperk("specialty_fastmantle");
        self setperk("specialty_fastmeleerecovery");
        self setperk("specialty_fasttoss");
        self setperk("specialty_movefaster");
    }
    else
    {
        self.sp=false;
        self notify("sp_done");
        self unsetperk("specialty_longersprint");
        self unsetperk("specialty_sprintrecovery");
        self unsetperk("specialty_fastads");
        self unsetperk("specialty_fastladderclimb");
        self unsetperk("specialty_fastmantle");
        self unsetperk("specialty_fastmeleerecovery");
        self unsetperk("specialty_fasttoss");
        self unsetperk("specialty_movefaster");
    }
}

Toggle_Widows_Wine_Nuketown()
{
    if(self.ww==false)
    {
        self.ww=true;
        self thread Custom_Perks_Widows_Wine_Nuketown();
    }
    else
    {
        self.ww=false;
        self notify("ww_done");
    }
}

Custom_Perks_Widows_Wine_Nuketown()
{
    self endon("ww_done");
    for(;;)
    {
            self waittill( "damage" );
            playfx(loadfx("misc/fx_zombie_powerup_solo_grab"), self.origin + (0 , 0, 20));
            self PlaySound("zmb_elec_jib_zombie");
            self EnableInvulnerability();
            RadiusDamage(self.origin, 100, 200, 100, self);
            wait 1;
            self DisableInvulnerability();
    }
}

Teleporter1Fx_Nuketown()
{
    playfx( level._effect[ "lght_marker" ], level.RoomTeleportBase );
}

Teleporter2Fx_Nuketown()
{
    playfx( level._effect[ "lght_marker" ], (27.3126, -2604.65, -65.875) );
}

Pack_A_Punch_Nuketown()
{
    weap = self getCurrentWeapon();
    weapon = get_upgraded(weap);
    papGun = "zombie_knuckle_crack";
    if(isDefined(weapon))
    {
        self TakeWeapon(weap);
        self GiveWeapon(papGun);
        self SwitchToWeapon(papGun);
        playFx( loadfx( "maps/zombie/fx_zombie_packapunch" ), (1045.63, -1470.82, -62.8238), (90, 0, 0) );
        SoundOnOrigin( "mus_perks_packa_sting", self.origin );
        wait 4;
        SoundOnOrigin( "zmb_perks_packa_ready", self.origin );
        self TakeWeapon(papGun);
        self GiveWeapon(weapon, 0, self maps\mp\zombies\_zm_weapons::get_pack_a_punch_weapon_options(weapon));
        self GiveStartAmmo(weapon);
        self SwitchToWeapon(weapon);
        self givemaxammo(weapon);
        self play_weapon_vo(weapon);
        wait 4;
        level.PackaPunch2 show();
        level.PackaPunch = false;
    }
}

// Secret Room Zombies Nuketown By Loimonde51 Utils *End*

// Utils For All Maps *Start*

Welcome_Message_Secret_Room()
{
    self.eMenu["HUDS"]["Welcome0"] = self createText("objective",1.6,"CENTER","TOP",0,0,9,1,"Welcome ^2" + self.name + "^7 To ^1Secret Room^7 By ^5Loimonde51",(1,1,1));
    self.eMenu["HUDS"]["Welcome0"] setTypeWriterFx(50, 4500, 700);
    wait 8;
    for(e=0;e<2;e++)
        if(isDefined(self.eMenu["HUDS"]["Welcome"+e]))
            self.eMenu["HUDS"]["Welcome"+e] destroy();
}

Exit_Message_Secret_Room()
{
    self.eMenu["HUDS"]["Exit0"] = self createText("objective",1.6,"CENTER","TOP",0,0,9,1,"You ^1Left^7 The ^2Secret Room^7 By ^5Loimonde51^7",(1,1,1));
    self.eMenu["HUDS"]["Exit0"] setTypeWriterFx(50, 4500, 700);
    wait 8;
    for(e=0;e<2;e++)
        if(isDefined(self.eMenu["HUDS"]["Exit"+e]))
            self.eMenu["HUDS"]["Exit"+e] destroy();
}

Power_On_Message_Secret_Room()
{
    self.eMenu["HUDS"]["Power_On0"] = self createText("objective",1.6,"CENTER","TOP",0,0,9,1,"The Power is ^2On^7",(1,1,1));
    self.eMenu["HUDS"]["Power_On0"] setTypeWriterFx(50, 4500, 700);
    wait 8;
    for(e=0;e<2;e++)
        if(isDefined(self.eMenu["HUDS"]["Power_On"+e]))
            self.eMenu["HUDS"]["Power_On"+e] destroy();
}

All_Power_Up_Desactived()
{
level.RoomBomb2 hide();
level.RoomAmmo2 hide();
level.RoomDoubleP2 hide();
level.RoomIntKills2 hide();
i.BombSend = true;
i.MaxAm = true;
i.MaxP = true;
i.IntKills = true;
wait(4);
level.RoomBomb2 show();
level.RoomAmmo2 show();
level.RoomDoubleP2 show();
level.RoomIntKills2 show();
i.BombSend = false;
i.MaxAm = false;
i.MaxP = false;
i.IntKills = false;
}

Secret_Room_Turn_Power_On()
{
    self thread _zm_arena_openalldoors();
    trig = getEnt("use_elec_switch", "targetname");
    powerSwitch = getEnt("elec_switch", "targetname");
    powerSwitch notSolid();
    trig setHintString(&"ZOMBIE_ELECTRIC_SWITCH");
    trig setVisibleToAll();
    trig notify("trigger", self);
    trig setInvisibleToAll();
    powerSwitch rotateRoll(-90,0,3);
    powerSwitch playSound("zmb_switch_flip");
    powerSwitch playSound("zmb_poweron");
    level thread maps/mp/zombies/_zm_perks::perk_unpause_all_perks();
    self maps\mp\zombies\_zm_game_module::turn_power_on_and_open_doors();
    powerSwitch waittill("rotatedone");
    playFx(level._effect["switch_sparks"], powerSwitch.origin+(0, 12, -60), anglesToForward(powerSwitch.angles));
    powerSwitch playSound("zmb_turn_on");
    level notify("electric_door");
    flag_set("power_on");
    level setClientField("zombie_power_on", 1);
    self.PowerOn = 1;
}

_zm_arena_openalldoors()
{
    setdvar( "zombie_unlock_all", 1 );
    flag_set( "power_on" );
    players = get_players();
    zombie_doors = getentarray( "zombie_door", "targetname" );
    i = 0;
    while ( i < zombie_doors.size )
    {
        zombie_doors[ i ] notify( "trigger" );
        if ( is_true( zombie_doors[ i ].power_door_ignore_flag_wait ) )
        {
            zombie_doors[ i ] notify( "power_on" );
        }
        wait 0.05;
        i++;
    }
    zombie_airlock_doors = getentarray( "zombie_airlock_buy", "targetname" );
    i = 0;
    while ( i < zombie_airlock_doors.size )
    {
        zombie_airlock_doors[ i ] notify( "trigger" );
        wait 0.05;
        i++;
    }
    zombie_debris = getentarray( "zombie_debris", "targetname" );
    i = 0;
    while ( i < zombie_debris.size )
    {
        zombie_debris[ i ] notify("trigger");
        wait 0.05;
        i++;
    }
    level notify( "open_sesame" );
    wait 1;
    setdvar( "zombie_unlock_all", 0 );
}

Give_Perk( model, perk, music )
{
        self DisableOffhandWeapons();
        self DisableWeaponCycling();
        weaponA = self getCurrentWeapon();
        weaponB = model;
        self SetPerk( perk );
        self GiveWeapon( weaponB );
        self SwitchToWeapon( weaponB );
        SoundOnOrigin( music, self.origin );
        self waittill( "weapon_change_complete" );
        self EnableOffhandWeapons();
        self EnableWeaponCycling();
        self TakeWeapon( weaponB );
        self SwitchToWeapon( weaponA );
        self maps/mp/zombies/_zm_perks::give_perk(perk);
}

Give_Custom_Perk( model, perk )
{
        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 );
        self maps/mp/zombies/_zm_perks::give_perk(perk);
}

Secret_Room_Nuke()
{
        foreach(player in level.players)
        {
                level thread maps\mp\zombies\_zm_powerups::nuke_powerup(self,player.team);
                player maps\mp\zombies\_zm_powerups::powerup_vo("nuke");
                zombies=getaiarray(level.zombie_team);
                player.zombie_nuked=arraysort(zombies,self.origin);
                player notify("nuke_triggered");
        }
}

Secret_Room_Max_Ammo()
{
        foreach(player in level.players)
        {
                level thread maps\mp\zombies\_zm_powerups::full_ammo_powerup(self,player);
                player thread maps\mp\zombies\_zm_powerups::powerup_vo("full_ammo");
        }
}

Secret_Room_Double_Points()
{
        foreach(player in level.players)
        {
                level thread maps\mp\zombies\_zm_powerups::double_points_powerup(self,player);
                player thread maps\mp\zombies\_zm_powerups::powerup_vo("double_points");
        }
}

Secret_Room_Insta_Kills()
{
        foreach(player in level.players)
        {
                level thread maps\mp\zombies\_zm_powerups::insta_kill_powerup(self,player);
                player thread maps\mp\zombies\_zm_powerups::powerup_vo("insta_kill");
        }
}

DiveExplosion()
{
self endon("phd_done");
self playsound( "exp_barrel" );
playfx(loadfx("misc/fx_zombie_mini_nuke_hotness"), self.origin + (0 , 0, 20));
Earthquake( 0.3, 1, self.origin, 90 );
RadiusDamage(self.origin, 100, 400, 100, self, "MOD_PROJECTILE_SPLASH");
wait .2;
self DisableInvulnerability();
}

getBooleanStatus(bool)
{
    if (!isDefined(bool))
        return "^1Disabled";
    if (bool)
        return "^2Enabled";
    else
        return "^1Disabled";
}

SpawnBooleans()
{
    self.toggle_Electric_Cherry = false;
    self.toggle_Deadshot_Daiquiri = false;
    self.toggle_Phd_flopper = false;
    self.toggle_Mule_Kick = false;
    self.toggle_Stamin_Up = false;
    self.toggle_Widows_Wine = false;
}

drawText(text, font, fontScale, align, relative, x, y, color, alpha, sort)
{
    hud = self createFontString(font, fontScale);
    hud setPoint( align, relative, x, y );
    hud.color = color;
    hud.alpha = alpha;
    hud.hideWhenInMenu = true;
    hud.sort = sort;
    level.result += 1;
    hud setText(text);
    level notify("textset");
    return hud;
}

createText(font, fontScale, align, relative, x, y, sort, alpha, text, color, isLevel)
{
    return self createOtherText(font, fontScale, align, relative, x, y, sort, alpha, text, color, true, isLevel);
}

createOtherText(font, fontScale, align, relative, x, y, sort, alpha, text, color, watchText, isLevel)
{
    if(isDefined(isLevel))
        textElem = level createServerFontString(font, fontScale);
    else
        textElem = self createFontString(font, fontScale);

    textElem setPoint(align, relative, x, y);
    textElem.hideWhenInMenu = true;
    textElem.archived = false;
    textElem.sort = sort;
    textElem.alpha = alpha;
    textElem.color = color;
    self addToStringArray(text);

    if(isDefined(watchText))
        textElem thread watchForOverFlow(text);
    else
        textElem setText(text);
    return textElem;
}

setSafeText(text)
{
    self notify("stop_TextMonitor");
    self addToStringArray(text);
    self thread watchForOverFlow(text);
}

addToStringArray(text)
{
    if(!isInArray(level.strings,text))
    {
        level.strings[level.strings.size] = text;
        level notify("CHECK_OVERFLOW");
    }
}

watchForOverFlow(text)
{
    self endon("stop_TextMonitor");

    while(isDefined(self))
    {
        if(isDefined(text.size))
            self setText(text);
        else
        {
            self setText(undefined);
            self.label = text;
        }
        level waittill("FIX_OVERFLOW");
    }
}

LowerMessage( ref, text )
{
        if( !IsDefined( level.zombie_hints ) )
        {
                level.zombie_hints = [];
        }
        PrecacheString( text );
        level.zombie_hints[ref] = text;
}

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

get_upgraded( weaponname )
{
    if( IsDefined(level.zombie_weapons[weaponname]) && IsDefined(level.zombie_weapons[weaponname].upgrade_name) )
    {
        return maps\mp\zombies\_zm_weapons::get_upgrade_weapon( weaponname, false );
    }
    else
    {
        return maps\mp\zombies\_zm_weapons::get_upgrade_weapon( weaponname, true );
    }
}

get_player_weapon_limit1( player )
{
        return 3;
}

get_player_weapon_limit2( player )
{
        return 2;
}

SoundOnOrigin(alias,origin)
{
        soundPlayer = spawn( "script_origin", origin );
        soundPlayer playsound( alias );
}

// Utils For All Maps *End*

Excuse Me For My Bad English I'm French.
 
Last edited:

AdrX003

Insane-Known Member
Messages
183
Points
378
link is down, so we just compile the a .cpp in gsc editor for bo2 ?
 

Loimonde51 Team51

Known Member
Messages
12
Points
108
link is down, so we just compile the a .cpp in gsc editor for bo2 ?

Hello I am Loimonde51.
I will tell you the steps for using the secret room.
Step 1: Create a new project in GSC Studio
You do not have permission to view link Log in or register now.

Step 2: Copy the source code of the secret room in main.gsc
step 3: click on the tab editor then export the project to a compiled script file ... select your system console or pc then export on the desktop and you will have your gsc compile
step 4 for redacted: rename this file _clientids.gsc then copy this file in call of Duty Black ops 2 / data / maps / mp / gametypes_zm /
if you have any other question contact me in private!
 

AdrX003

Insane-Known Member
Messages
183
Points
378
Hello I am Loimonde51.
I will tell you the steps for using the secret room.
Step 1: Create a new project in GSC Studio
You do not have permission to view link Log in or register now.

Step 2: Copy the source code of the secret room in main.gsc
step 3: click on the tab editor then export the project to a compiled script file ... select your system console or pc then export on the desktop and you will have your gsc compile
step 4 for redacted: rename this file _clientids.gsc then copy this file in call of Duty Black ops 2 / data / maps / mp / gametypes_zm /
if you have any other question contact me in private!
thanks alot :CCMheart:
 

eXplode215

New Member
Messages
4
Points
1
I am on Console.

for me it is not working ,
its show me up that i can teleport to the secret map , but there is nothing is a blank map :wink:.
for any help i would be very gratefull.

i did the steps
Step 1: Create a new project in GSC Studio
You do not have permission to view link Log in or register now.

Step 2: Copy the source code of the secret room in main.gsc
step 3: click on the tab editor then export the project to a compiled script file ... select your system console or pc then export on the desktop and you will have your gsc compile
step 4 for redacted: rename this file _clientids.gsc then copy this file in call of Duty Black ops 2 / data / maps / mp / gametypes_zm /
if you have any other question contact me in private!

Edit 1:
ahh i see how to put Power On: ?
Edit 2:
found out how to put the power on
but instead of mailbox it is a door.
any solution how to fix it to a mailbox model ?
Edit 3:
nvm fixed it by my self :smile: , added some functions to it and fixed some code , also the weapons which u buyed on the WallBuy , you could not use the knife its fixed now, also added a Working Monkey Bombs on the wallbuy.
 
Last edited:

blbla

Known Member
Messages
1
Points
101
Hello I am Loimonde51.
I will tell you the steps for using the secret room.
Step 1: Create a new project in GSC Studio
You do not have permission to view link Log in or register now.

Step 2: Copy the source code of the secret room in main.gsc
step 3: click on the tab editor then export the project to a compiled script file ... select your system console or pc then export on the desktop and you will have your gsc compile
step 4 for redacted: rename this file _clientids.gsc then copy this file in call of Duty Black ops 2 / data / maps / mp / gametypes_zm /
if you have any other question contact me in private!
The path doesnt exist for me...
 

Top