Release Black Ops 2 GSC Custom Game mode - Secret Room Zombies Alcatraz By Loimonde51 #1

Discussion in 'Call of Duty: Black Ops 2 Scripts' started by amand, Nov 2, 2018.

Tags:
  1. amand

    amand Known Member

    9
    6
    103
    Credits:
    216
    Hello Everyone is Loimonde51
    Today, I Introduce You My New Mods: The Secret Room Zombies Alcatraz By Loimonde51
    I Would Post A Series Of Secret Room Zombies For Any Maps On cabconmodding.com

    Picture:

    No Power/Mob Of The Dead:
    [​IMG]

    Power On/Mob Of The Dead:
    [​IMG]

    Perks/Mob Of The Dead:
    [​IMG]

    No Power/Grief:
    [​IMG]

    Power On/Grief:
    [​IMG]

    Perks/Grief:
    [​IMG]

    PowerUps:
    [​IMG]

    WallBuy:
    [​IMG]

    Mysterybox:
    [​IMG]

    Power:
    [​IMG]

    Video:


    Code:
    [/COLOR][/CENTER][/COLOR][/CENTER][/COLOR][/CENTER]
    [COLOR=#000000]
    [CENTER][COLOR=#000000]
    [CENTER][COLOR=#000000]/*
    *    Secret Room Alcatraz By Loimonde51
    *
    *    Creator : Loimonde51
    *    Project : Secret Room Alcatraz
    *    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;
    
    init()
    {
        RoomInit();
        level thread onPlayerConnect();
    }
    
    onPlayerConnect()
    {
        for(;;)
        {
            level waittill("connected", player);
            player thread onPlayerSpawned();
        }
    }
    
    onPlayerSpawned()
    {
        self endon("disconnect");
        level endon("game_ended");
        for(;;)
        {
            self waittill("spawned_player");
            self thread DoGiveMoney();
            wait 5;
            self thread InitialiseSecretRoomAlcatraz();
        }
    }
    
    //Give Money :
    
    DoGiveMoney()
    {
            self.score+=1000000;
    }
    
    // Secret Room Zombies Alcatraz By Loimonde51 :
    
    RoomInit()
    {
            PrecacheModel("defaultactor");
            PrecacheModel("fxuse_lightsphere_blue");
            PrecacheModel("p6_zm_al_shock_box_on");
            Precachemodel("p6_zm_al_vending_pap_on");
            precachemodel("p6_anim_zm_al_magic_box");
            PrecacheModel("p6_zm_al_vending_jugg_on");
            PrecacheModel("p6_zm_al_vending_sleight_on");
            PrecacheModel("p6_zm_al_vending_doubletap2_on");
            PrecacheModel("p6_zm_vending_electric_cherry_on");
            PrecacheModel("p6_zm_al_vending_ads_on");
            PrecacheModel("p6_zm_al_vending_nuke_on");
            PrecacheModel("p6_zm_al_vending_three_gun_on");
            PrecacheModel("zombie_bomb");
            PrecacheModel("zombie_ammocan");
            PrecacheModel("zombie_x2_icon");
            PrecacheModel("zombie_skull");
            setdvar("ai_showFailedPaths",0);
            if(isDefined(level.player_out_of_playable_area_monitor))
            level.player_out_of_playable_area_monitor = false;
    }
    
    InitialiseSecretRoomAlcatraz()
    {
            level.RoomTeleportBase = self.origin;
            self thread RoomTeleporter1Alcatraz();
            self thread RoomTeleporter2Alcatraz();
            self thread RoomMagicBoxAlcatraz();
            self thread RoomPowerAlcatraz();
            self RoomWeaponsAlcatraz();
            self thread RoomNukeAlcatraz();
            self thread RoomMaxAmmoAlcatraz();
            self thread RoomDoublePointsAlcatraz();
            self thread RoomInstantKillsAlcatraz();
    }
    
    RoomNukeAlcatraz()
    {
            level thread LowerMessage( "Room Nuke Bomb", "Press [{+usereload}] For Send Nuke Bomb [Cost: 250]" );
            level.RoomBomb = spawn( "script_model", (-1075.05, -3242.06, -8398.88));
            level.RoomBomb setModel("zombie_bomb");
            level.RoomBomb rotateTo((0, 0, 90), .1);
            playfx( loadfx( "misc/fx_zombie_powerup_on" ), (-1075.05, -3242.06, -8398.88) );
            level.RoomBomb2 = spawn( "trigger_radius", (-1075.05, -3242.06, -8398.88), 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 >= 250 && i.BombSend == false)
                    {
                            i.score -= 250;
                            i.BombSend = true;
                            i doPNuke();
                            wait 2;
                            i.BombSend = false;
                         
                    }
            }
    }
    
    RoomMaxAmmoAlcatraz()
    {
            level thread LowerMessage( "Room Max Ammo", "Press [{+usereload}] For Max Ammo [Cost: 250]" );
            level.RoomAmmo = spawn( "script_model", (-1141, -3241.78, -8398.88));
            level.RoomAmmo setModel("zombie_ammocan");
            level.RoomAmmo rotateTo((0, 0, 0), .1);
            playfx( loadfx( "misc/fx_zombie_powerup_on" ), (-1141, -3241.78, -8398.88) );
            level.RoomAmmo2 = spawn( "trigger_radius", (-1141, -3241.78, -8398.88), 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 >= 250 && i.MaxAm == false)
                    {
                            i.score -= 250;
                            i.MaxAm = true;
                            i doPMAmmo();
                            wait 2;
                            i.MaxAm = false;
                         
                    }
            }
    }
    
    RoomDoublePointsAlcatraz()
    {
            level thread LowerMessage( "Room Double Points", "Press [{+usereload}] For Double Points [Cost: 250]" );
            level.RoomDoubleP = spawn( "script_model", (-1195.89, -3241.84, -8398.88));
            level.RoomDoubleP setModel("zombie_x2_icon");
            level.RoomDoubleP rotateTo((0, 0, 0), .1);
            playfx( loadfx( "misc/fx_zombie_powerup_on" ), (-1195.89, -3241.84, -8398.88) );
            level.RoomDoubleP2 = spawn( "trigger_radius", (-1195.89, -3241.84, -8398.88), 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 >= 250 && i.MaxP == false)
                    {
                            i.score -= 250;
                            i.MaxP = true;
                            i doPDoublePoints();
                            wait 2;
                            i.MaxP = false;
                         
                    }
            }
    }
    
    RoomInstantKillsAlcatraz()
    {
            level thread LowerMessage( "Room Double Points", "Press [{+usereload}] For Insta Kill [Cost: 250]" );
            level.RoomIntKills = spawn( "script_model", (-1243.24, -3239.94, -8398.88));
            level.RoomIntKills setModel("zombie_skull");
            level.RoomIntKills rotateTo((0, 0, 0), .1);
            playfx( loadfx( "misc/fx_zombie_powerup_on" ), (-1243.24, -3239.94, -8398.88) );
            level.RoomIntKills2 = spawn( "trigger_radius", (-1243.24, -3239.94, -8398.88), 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 >= 250 && i.IntKills == false)
                    {
                            i.score -= 250;
                            i.IntKills = true;
                            i doPInstaKills();
                            wait 2;
                            i.IntKills = false;
                         
                    }
            }
    }
    
    RoomTeleporter1Alcatraz()
    {
            level thread LowerMessage( "Room Teleporter 1", "Hold [{+usereload}] To Teleport To The Secret Room" );
            level.ModelTeleporter = spawn( "script_model", level.RoomTeleportBase);
            level.ModelTeleporter setModel("fxuse_lightsphere_blue");
            level.ModelTeleporter rotateTo((0, 0, 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();
            for(;;)
            {
                    level.RoomTeleporter1 waittill( "trigger", i );
                    if( i UseButtonPressed() && i.TeleportNotPossible == false)
                    {
                            i SetOrigin((-1014.92, -3915.52, -8432.38));
                            i iprintln("Welcome ^2" + self.name + "^7 To ^1Secret Room^7 By ^5Loimonde51^7");
                            i.ignoreme=1;
                            i.TeleportNotPossible = true;
                            wait 2;
                            i.TeleportNotPossible = false;
                    }
            }
    }
    
    RoomTeleporter2Alcatraz()
    {
            level thread LowerMessage( "Room Teleporter 2", "Hold [{+usereload}] For Exit The Secret Room" );
            level.ModelTeleporter2 = spawn( "script_model", (-1014.92, -3915.52, -8432.38));
            level.ModelTeleporter2 setModel("fxuse_lightsphere_blue");
            level.ModelTeleporter2 rotateTo((0, 0, 0), .1);
            level.RoomTeleporter2 = spawn( "trigger_radius", (-1014.92, -3915.52, -8432.38), 1, 50, 10 );
            level.RoomTeleporter2 SetCursorHint( "HINT_NOICON" );
            level.RoomTeleporter2 UseTriggerRequireLookAt();
            level.RoomTeleporter2 setLowerMessage( level.RoomTeleporter2, "Room Teleporter 2" );
            self thread Teleporter2Fx();
            for(;;)
            {
                    level.RoomTeleporter2 waittill( "trigger", i );
                    if( i UseButtonPressed()  && i.TeleportNotPossible == false)
                    {
                            i SetOrigin(level.RoomTeleportBase);
                            i iprintln("You ^1Left^7 The ^2Secret Room^7 By ^5Loimonde51^7");
                            i.TeleportNotPossible = true;
                            i.ignoreme=0;
                            wait(5);
                            i.TeleportNotPossible = false;
                    }
            }
    }
    
    RoomMagicBoxAlcatraz()
    {
            level thread LowerMessage( "MagicBox", "Hold [{+usereload}] For Mystery Box [Cost: 750]" );
            level.MagicWeapons = spawn( "script_model", (-680.371, -3307.64, -8447.88));
            level.MagicBox = spawn( "script_model", (-680.371, -3307.64, -8447.88));
            level.MagicBox setModel("p6_anim_zm_al_magic_box");
            level.MagicBox2 = spawn( "trigger_radius", (-680.371, -3307.64, -8447.88), 1, 50, 10 );
            level.MagicBox2 SetCursorHint( "HINT_NOICON" );
            level.MagicBox2 UseTriggerRequireLookAt();
            level.MagicBox2 setLowerMessage( level.MagicBox2, "MagicBox" );
            level.MagicBox rotateTo((0, 180, 0), .1);
            level.MagicBox2 rotateTo((0, 180, 0), .1);
            level.MagicWeapons rotateTo((0, 180, 0), .1);
            for(;;)
            {
                    level.MagicBox2 waittill( "trigger", i );
                    if( i UseButtonPressed() && i.score >= 750 && level.MagicBoxOpended == false )
                    {
                            i.WeaponsList = [];
                            i.WeaponsList[0] = "mp5k_zm";
                            i.WeaponsList[1] = "pdw57_zm";
                            i.WeaponsList[2] = "uzi_zm";
                            i.WeaponsList[3] = "ak47_zm";
                            i.WeaponsList[4] = "fnfal_zm";
                            i.WeaponsList[5] = "galil_zm";
                            i.WeaponsList[6] = "m14_zm";
                            i.WeaponsList[7] = "tar21_zm";
                            i.WeaponsList[8] = "870mcs_zm";
                            i.WeaponsList[9] = "type95_zm";
                            i.WeaponsList[10] = "xm8_zm";
                            i.WeaponsList[11] = "870mcs_zm";
                            i.WeaponsList[12] = "blundergat_zm";
                            i.WeaponsList[13] = "rottweil72_zm";
                            i.WeaponsList[14] = "saiga12_zm";
                            i.WeaponsList[15] = "lsat_zm";
                            i.WeaponsList[16] = "minigun_alcatraz_zm";
                            i.WeaponsList[17] = "thompson_zm";
                            i.WeaponsList[18] = "dsr50_zm";
                            i.WeaponsList[19] = "barretm82_zm";
                            i.WeaponsList[20] = "beretta93r_zm";
                            i.WeaponsList[21] = "fiveseven_zm";
                            i.WeaponsList[22] = "judge_zm";
                            i.WeaponsList[23] = "kard_zm";
                            i.WeaponsList[24] = "usrpg_zm";
                            i.WeaponsList[25] = "blundersplat_zm";
                            i.WeaponsList[26] = "ray_gun_zm";
                            i.WeaponsList[27] = "raygun_mark2_zm";
                            i.WeaponsSelected = RandomInt( i.WeaponsList.size );
                            level.MagicBoxOpended = true;
                            level.MagicBox2 hide();
                            play_sound_at_pos( "open_chest", self.origin );
                            play_sound_at_pos( "music_chest", self.origin );
                            i.score -= 750;
                            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_alcatraz" );
                            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.MagicBox2 show();
                            level.MagicBoxOpended = false;
                    }
                    wait .1;
            }
    }
    
    RoomPowerAlcatraz()
    {
            level thread LowerMessage( "Power", "Hold [{+usereload}] To Enable The Power [Cost: 1000]" );
            level.Power = spawn( "script_model", (-522.611, -3305.64, -8447.88));
            level.Power setModel("p6_zm_al_shock_box_on");
            level.Power2 = spawn( "trigger_radius", (-522.611, -3305.64, -8447.88), 1, 50, 10 );
            level.Power2 SetCursorHint( "HINT_NOICON" );
            level.Power2 UseTriggerRequireLookAt();
            level.Power2 setLowerMessage( level.Power2, "Power" );
            level.Power rotateTo((0, 0, 0), .1);
            level.Power2 rotateTo((0, 0, 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();
                        self thread TurnPowerOn();
                        if(getDvar("g_gametype") == "zgrief")
                        {
                        self RoomsPerksAlcatrazGrief();
                        self thread RoomPackaPunchAlcatrazGrief();
                        self thread RommsSoundAlcatrazGrief();
                        }
                        else
                        {
                        self RoomsPerksAlcatraz();
                        self thread RommsSoundAlcatraz();
                        }
                    }
            }
    }
    
    RoomPackaPunchAlcatrazGrief()
    {
            level thread LowerMessage( "PackaPunch", "Hold [{+usereload}] For Pack-a-Punch [Cost: 3500]" );
            level.PackaPunch = spawn( "script_model", (-1303.19, -3388.62, -8447.88));
            level.PackaPunch setModel("p6_zm_al_vending_pap_on");
            level.PackaPunch2 = spawn( "trigger_radius", (-1296, -3350.92, -8447.88), 1, 50, 10 );
            level.PackaPunch2 SetCursorHint( "HINT_NOICON" );
            level.PackaPunch2 UseTriggerRequireLookAt();
            level.PackaPunch2 setLowerMessage( level.PackaPunch2, "PackaPunch" );
            level.PackaPunch rotateTo((0, 90, 0), .1);
            level.PackaPunch2 rotateTo((0, 90, 0), .1);
            for(;;)
            {
                    level.PackaPunch2 waittill( "trigger", i );
                    if( i UseButtonPressed() && i.score >= 3500 && level.PackaPunch == false )
                    {
                        level.PackaPunch = true;
                        i.score -= 3500;
                        level.PackaPunch2 hide();
                        self thread PackaPunch();
                    }
            }
    }
    
    RoomWeaponsAlcatraz()
    {
            self thread WeaponsSystemAlcatraz("Hold [{+usereload}] For Ray Gun [Cost: 1500]", (-403.141, -3470.99, -8390), 1500, "ray_gun_zm");
            self thread WeaponsSystemAlcatraz("Hold [{+usereload}] For Ray Gun Mark 2 [Cost: 2000]", (-403.141, -3520, -8390), 2000, "raygun_mark2_zm");
            self thread WeaponsSystemAlcatraz("Hold [{+usereload}] For Death Machine [Cost: 2500]", (-403.141, -3575, -8380), 2500, "minigun_alcatraz_zm");
            self thread WeaponsSystemAlcatraz("Hold [{+usereload}] For Acid Gat [Cost: 3000]", (-403.141, -3650, -8388.5), 3000, "blundersplat_zm");
    }
    
    RoomsPerksAlcatraz()
    {
            self thread PerksSystemAlcatraz( "zombie_perk_bottle_jugg", "p6_zm_al_vending_jugg_on", "Juggernog", 500, (-756.084, -3307.64, -8447.88), "specialty_armorvest" );
            self thread PerksSystemAlcatraz( "zombie_perk_bottle_sleight", "p6_zm_al_vending_sleight_on", "Speed Cola", 500, (-800.944, -3307.64, -8447.88), "specialty_fastreload" );
            self thread PerksSystemAlcatraz( "zombie_perk_bottle_doubletap", "p6_zm_al_vending_doubletap2_on", "Double Tap Root Beer", 500, (-855.775, -3295.64, -8447.88), "specialty_rof" );
            self thread PerksSystemAlcatraz( "zombie_perk_bottle_cherry", "p6_zm_vending_electric_cherry_on", "Electric Cherry", 500, (-910.548, -3308.1, -8447.88), "specialty_grenadepulldeath" );
            self thread PerksSystemAlcatraz( "zombie_perk_bottle_deadshot", "p6_zm_al_vending_ads_on", "Deadshot Daiquiri", 500, (-954.513, -3307.64, -8447.88), "specialty_deadshot" );
    }
    
    RoomsPerksAlcatrazGrief()
    {
            self thread PerksSystemAlcatraz( "zombie_perk_bottle_jugg", "p6_zm_al_vending_jugg_on", "Juggernaut", 500, (-756.084, -3307.64, -8447.88), "specialty_armorvest" );
            self thread PerksSystemAlcatraz( "zombie_perk_bottle_sleight", "p6_zm_al_vending_sleight_on", "Speed Cola", 500, (-800.944, -3307.64, -8447.88), "specialty_fastreload" );
            self thread PerksSystemAlcatraz( "zombie_perk_bottle_doubletap", "p6_zm_al_vending_doubletap2_on", "Double Tap Root Beer", 500, (-855.775, -3295.64, -8447.88), "specialty_rof" );
            self thread PerksSystemAlcatraz( "zombie_perk_bottle_nuke", "p6_zm_al_vending_nuke_on", "PHD Flopper", 500, (-910.548, -3308.1, -8447.88), "specialty_flakjacket" );
            self thread PerksSystemAlcatraz( "zombie_perk_bottle_deadshot", "p6_zm_al_vending_ads_on", "Deadshot Daiquiri", 500, (-954.513, -3307.64, -8447.88), "specialty_deadshot" );
            self thread PerksSystemAlcatraz( "zombie_perk_bottle_additionalprimaryweapon", "p6_zm_al_vending_three_gun_on", "Mule Kick", 500, (-1010.07, -3307.64, -8447.88), "specialty_additionalprimaryweapon" );
    }
    
    RommsSoundAlcatraz()
    {
    SoundOnOrigin( "mus_perks_jugganog_jingle", (-756.084, -3307.64, -8447.88));
    wait 50;
    SoundOnOrigin( "mus_perks_speed_jingle", (-800.944, -3307.64, -8447.88));
    wait 50;
    SoundOnOrigin( "mus_perks_doubletap_jingle", (-855.775, -3295.64, -8447.88));
    wait 50;
    SoundOnOrigin( "mus_perks_cherry_jingle", (-910.548, -3308.1, -8447.88));
    wait 50;
    SoundOnOrigin( "mus_perks_deadshot_jingle", (-954.513, -3307.64, -8447.88));
    wait 50;
    SoundOnOrigin( "mus_perks_packa_jingle", (-1260, -3388, -8398));
    wait 100;
    self thread RommsSoundAlcatraz();
    }
    
    RommsSoundAlcatrazGrief()
    {
    SoundOnOrigin( "mus_perks_jugganog_jingle", (-756.084, -3307.64, -8447.88));
    wait 50;
    SoundOnOrigin( "mus_perks_speed_jingle", (-800.944, -3307.64, -8447.88));
    wait 50;
    SoundOnOrigin( "mus_perks_doubletap_jingle", (-855.775, -3295.64, -8447.88));
    wait 50;
    SoundOnOrigin( "mus_perks_deadshot_jingle", (-954.513, -3307.64, -8447.88));
    wait 50;
    SoundOnOrigin( "mus_perks_mulekick_jingle", (-1010.07, -3307.64, -8447.88));
    wait 50;
    SoundOnOrigin( "mus_perks_packa_jingle", (-1260, -3388, -8398));
    wait 100;
    self thread RommsSoundAlcatrazGrief();
    }
    
    SoundOnOrigin(alias,origin)
    {
            soundPlayer = spawn( "script_origin", origin );
            soundPlayer playsound( alias );
    }
    
    WeaponsSystemAlcatraz(string, origin, cost, weapon)
    {
            level thread LowerMessage( "Secret Room Weapons", string );
            RWeapons = spawn( "script_model", origin);
            RWeapons setModel(getWeaponModel(weapon));
            RWeapons rotateTo((0, 270, 0), .1);
            RoomWeapons = spawn("trigger_radius", origin, 1, 20, 20);
            RoomWeapons rotateTo((0, 270, 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;
                                    level.RoomWeapons hide();
                                    playerCurrent = i getCurrentWeapon();
                                    i takeWeapon(playerCurrent);
                                    i giveWeapon( weapon );
                                    i switchToWeapon( weapon );
                                    wait 2;
                                    level.RoomWeapons show();
                            }
                    }
            }
    }
    
    PerksSystemAlcatraz( botal, model, perkname, cost, origin, perk )
    {
            RPerks = spawn( "script_model", origin );
            RPerks setModel( model );
            RPerks rotateTo((0, 0, 0), .1);
            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;
                                    level.trig hide();
                                    i thread GivePerk( botal, perk );
                                    wait 2;
                                    level.trig show();
                            }
                    }
            }
    }
    
    GivePerk( 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);
    }
    
    doPNuke()
    {
            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");
            }
    }
    
    doPMAmmo()
    {
            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");
            }
    }
    
    doPDoublePoints()
    {
            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");
            }
    }
    
    doPInstaKills()
    {
            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");
            }
    }
    
    Teleporter1Fx()
    {
        if(getDvar("g_gametype") == "zgrief")
        {
        for(;;)
        {
        playfx( loadfx( "electrical/fx_elec_player_sm" ), level.RoomTeleportBase );
        wait 2;
        }
        }
        else
        {
        playfx( loadfx( "maps/zombie_alcatraz/fx_alcatraz_player_revive" ), level.RoomTeleportBase );
        }
    }
    
    Teleporter2Fx()
    {
        if(getDvar("g_gametype") == "zgrief")
        {
        for(;;)
        {
        playfx( loadfx( "electrical/fx_elec_player_sm" ), (-1014.92, -3915.52, -8432.38) );
        wait 2;
        }
        }
        else
        {
        playfx( loadfx( "maps/zombie_alcatraz/fx_alcatraz_player_revive" ), (-1014.92, -3915.52, -8432.38) );
        }
    }
    
    TurnPowerOn()
    {
        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 );
    }
    
    packAPunch()
    {
        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" ), (-1260, -3388, -8398) );
            self playSound("mus_perks_packa_sting");
            wait 4;
            self playSound("zmb_perks_packa_ready");
            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 2;
            level.PackaPunch2 show();
            level.PackaPunch = false;
        }
    }
    
    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 );
        }
    }
    
    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 ) );
            }
    }
    
    // Secret Room Zombies Alcatraz By Loimonde51 :
    



    Excuse Me For My Bad English I'm French
     
    Last edited: Nov 7, 2018
    TheHiddenHour and CabCon like this.
  2. TheHiddenHour

    TheHiddenHour Well-Known Member

    60
    48
    218
    Credits:
    261
    Very cool, I've been working on a similar concept for Der Riese on BO1.
     

Share This Page