Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Black Ops 2 - Secret Room Script For Zombie Mode
- *
- * Creator : ZeiiKeN
- * Maps Working : Tranzit, ville, ferme
- * Credits : ZeiiKeN ( Creator Script ), George ( Scripts Base for zombie mode cod5 ), iMCSx ( GSC Studio )
- * Version : 1.0.0
- *
- */
- #include maps/mp/_utility;
- #include common_scripts/utility;
- #include maps/mp/gametypes_zm/_hud_util;
- #include maps/mp/_utility;
- #include maps/mp/zombies/_zm_utility;
- #include maps/mp/gametypes_zm/_weapons;
- init()
- {
- level thread onPlayerConnect();
- RoomInit();
- }
- onPlayerConnect()
- {
- for(;;)
- {
- level waittill("connected", player);
- player thread onPlayerSpawned();
- }
- }
- onPlayerSpawned()
- {
- self endon("disconnect");
- level endon("game_ended");
- for(;;)
- {
- self waittill("spawned_player");
- self InitialiseSecretRoom(); // Spawn Secret Room
- self.score+=21473140; // Max Money
- }
- }
- RoomInit()
- {
- PrecacheModel("p6_anim_zm_magic_box");
- PrecacheModel("p_zom_clock_town");
- PrecacheModel("zombie_vending_jugg");
- PrecacheModel("zm_collision_perks1");
- PrecacheModel("zombie_vending_sleight");
- PrecacheModel("zombie_vending_revive");
- PrecacheModel("zombie_vending_doubletap2");
- 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;
- }
- InitialiseSecretRoom()
- {
- level.RoomTeleportBase = self.origin;
- self thread RoomTeleporter1();
- self thread RoomTeleporter2();
- self thread RoomMagicBox();
- self RoomWeapons();
- self RoomsPerks();
- self thread RoomNuke();
- self thread RoomMaxAmmo();
- self thread RoomDoublePoints();
- self thread RoomInstantKills();
- }
- RoomNuke()
- {
- level thread LowerMessage( "Room Nuke Bomb", "Press [{+usereload}] For Send Nuke Bomb [Cost: 500 ]" );
- level.RoomBomb = spawn( "script_model", (13753, -629.845, -148.875));
- level.RoomBomb setModel("zombie_bomb");
- level.RoomBomb rotateTo((0, 0, 90), .1);
- level.RoomBomb2 = spawn( "trigger_radius", (13753, -629.845, -148.875), 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;
- i doPNuke();
- wait(4);
- i.BombSend = false;
- }
- }
- }
- RoomMaxAmmo()
- {
- level thread LowerMessage( "Room Max Ammo", "Press [{+usereload}] For Max Ammo [Cost: 500 ]" );
- level.RoomAmmo = spawn( "script_model", (13753, -549.845, -148.875));
- level.RoomAmmo setModel("zombie_ammocan");
- level.RoomAmmo rotateTo((0, 0, 90), .1);
- level.RoomAmmo2 = spawn( "trigger_radius", (13753, -549.845, -148.875), 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;
- i doPMAmmo();
- wait(4);
- i.MaxAm = false;
- }
- }
- }
- RoomDoublePoints()
- {
- level thread LowerMessage( "Room Double Points", "Press [{+usereload}] For Double Points [Cost: 500 ]" );
- level.RoomDoubleP = spawn( "script_model", (13753, -499.845, -148.875));
- level.RoomDoubleP setModel("zombie_x2_icon");
- level.RoomDoubleP rotateTo((0, 0, 0), .1);
- level.RoomDoubleP2 = spawn( "trigger_radius", (13753, -499.845, -148.875), 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;
- i doPDoublePoints();
- wait(4);
- i.MaxP = false;
- }
- }
- }
- RoomInstantKills()
- {
- level thread LowerMessage( "Room Double Points", "Press [{+usereload}] For Insta Kill [Cost: 500 ]" );
- level.RoomIntKills = spawn( "script_model", (13753, -439.845, -148.875));
- level.RoomIntKills setModel("zombie_skull");
- level.RoomIntKills rotateTo((0, 0, 0), .1);
- level.RoomIntKills2 = spawn( "trigger_radius", (13753, -439.845, -148.875), 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;
- i doPInstaKills();
- wait(4);
- i.IntKills = false;
- }
- }
- }
- RoomTeleporter1()
- {
- level thread LowerMessage( "Room Teleporter 1", "Press [{+usereload}] To Teleport To The Secret Room [Cost: 2500 ]" );
- level.ModelTeleporter = spawn( "script_model", level.RoomTeleportBase);
- level.ModelTeleporter setModel("p_zom_clock_town");
- level.ModelTeleporter rotateTo((0, 0, 90), .1);
- playfx( loadfx( "misc/fx_zombie_powerup_on" ), level.RoomTeleportBase );
- 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" );
- for(;;)
- {
- level.RoomTeleporter1 waittill( "trigger", i );
- if( i UseButtonPressed() && i.score >= 2500 && i.TeleportNotPossible == false)
- {
- i.score -= 2500;
- i SetOrigin((13730.9, -956.575, -189.875));
- i iprintln("^1W^7elcome ^1T^7o ^1S^7ecret ^1R^7oom ^1!");
- i.ignoreme=1;
- i.TeleportNotPossible = true;
- wait(5);
- i.TeleportNotPossible = false;
- }
- }
- }
- RoomTeleporter2()
- {
- level thread LowerMessage( "Room Teleporter 2", "Press [{+usereload}] For Exit The Secret Room" );
- level.ModelTeleporter2 = spawn( "script_model", (13730.9, -956.575, -189.875));
- level.ModelTeleporter2 setModel("p_zom_clock_town");
- level.ModelTeleporter2 rotateTo((0, 0, 90), .1);
- playfx( loadfx( "misc/fx_zombie_powerup_on" ), (13730.9, -966.575, -189.875) );
- level.RoomTeleporter2 = spawn( "trigger_radius", (13730.9, -956.575, -189.875), 1, 50, 10 );
- level.RoomTeleporter2 SetCursorHint( "HINT_NOICON" );
- level.RoomTeleporter2 UseTriggerRequireLookAt();
- level.RoomTeleporter2 setLowerMessage( level.RoomTeleporter2, "Room Teleporter 2" );
- for(;;)
- {
- level.RoomTeleporter2 waittill( "trigger", i );
- if( i UseButtonPressed() && i.TeleportNotPossible == false)
- {
- i SetOrigin(level.RoomTeleportBase);
- i iprintln("^1Y^7ou ^1L^7eft ^1T^7he ^1S^7ecret ^1R^7oom");
- i.TeleportNotPossible = true;
- i.ignoreme=0;
- wait(5);
- i.TeleportNotPossible = false;
- }
- }
- }
- RoomMagicBox()
- {
- level thread LowerMessage( "Gr3ZzBox", "Press [{+usereload}] For a Random Special Weapon [Cost: 500 ]" );
- level.MagicWeapons = spawn( "script_model", (13566.1, -840.069, -189.875));
- level.MagicBox = spawn( "script_model", (13566.1, -840.069, -189.875));
- level.MagicBox setModel("p6_anim_zm_magic_box");
- level.MagicBox2 = spawn( "trigger_radius", (13566.1, -840.069, -189.875), 1, 50, 10 );
- level.MagicBox2 SetCursorHint( "HINT_NOICON" );
- level.MagicBox2 UseTriggerRequireLookAt();
- level.MagicBox2 setLowerMessage( level.MagicBox2, "Gr3ZzBox" );
- level.MagicBox rotateTo((0, 90, 0), .1);
- level.MagicBox2 rotateTo((0, 90, 0), .1);
- level.MagicWeapons rotateTo((0, 90, 0), .1);
- for(;;)
- {
- level.MagicBox2 waittill( "trigger", i );
- if( i UseButtonPressed() && i.score >= 500 && level.MagicBoxOpended == false )
- {
- i.WeaponsList = [];
- i.WeaponsList[0] = "ray_gun_upgraded_zm";
- i.WeaponsList[1] = "galil_upgraded_zm";
- i.WeaponsList[2] = "usrpg_upgraded_zm";
- i.WeaponsList[3] = "m1911_upgraded_zm";
- i.WeaponsList[4] = "raygun_mark2_upgraded_zm";
- i.WeaponsList[5] = "python_upgraded_zm";
- i.WeaponsList[6] = "knife_ballistic_upgraded_zm";
- i.WeaponsList[7] = "defaultweapon_mp";
- i.WeaponsList[8] = "ak74u_upgraded_zm";
- i.WeaponsList[9] = "mp5k_upgraded_zm";
- i.WeaponsList[10] = "qcw05_upgraded_zm";
- i.WeaponsList[11] = "m14_upgraded_zm";
- i.WeaponsList[12] = "m16_gl_upgraded_zm";
- i.WeaponsList[13] = "tar21_upgraded_zm";
- i.WeaponsList[14] = "fnfal_upgraded_zm";
- i.WeaponsList[15] = "rpd_upgraded_zm";
- i.WeaponsList[16] = "hamr_upgraded_zm";
- i.WeaponsList[17] = "dsr50_upgraded_zm";
- i.WeaponsList[18] = "barretm82_upgraded_zm";
- i.WeaponsList[19] = "m32_upgraded_zm";
- i.WeaponsList[20] = "fivesevendw_upgraded_zm";
- i.WeaponsList[21] = "judge_upgraded_zm";
- i.WeaponsList[22] = "kard_upgraded_zm";
- i.WeaponsList[23] = "srm1216_upgraded_zm";
- i.WeaponsList[24] = "rpd_upgraded_zm";
- i.WeaponsList[25] = "ray_gun_upgraded_zm";
- i.WeaponsList[26] = "m1911_upgraded_zm";
- i.WeaponsSelected = RandomInt( i.WeaponsList.size );
- level.MagicBoxOpended = true;
- play_sound_at_pos( "open_chest", i.origin );
- i.score -= 500;
- play_sound_at_pos( "music_chest", i.origin );
- 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,35),1);
- wait 2.8;
- i takeWeapon( "zombie_knuckle_crack" );
- i takeWeapon( MyWeapon );
- level.MagicWeapons setModel("");
- i giveweapon( i.WeaponsList[i.WeaponsSelected] );
- i switchToWeapon( i.WeaponsList[i.WeaponsSelected] );
- level.MagicWeapons MoveTo(level.MagicBox.origin,1);
- level.MagicBoxOpended = false;
- }
- wait .1;
- }
- }
- RoomWeapons()
- {
- self thread WeaponsSystem("Press [{+usereload}] To Buy a Ray Gun [Cost: 1000]", (13556.1, -746.737, -145.875), 1000, "ray_gun_zm");
- self thread WeaponsSystem("Press [{+usereload}] To Buy a Ray Gun Upgraded [Cost: 5000]", (13556.1, -706.737, -145.875), 5000, "ray_gun_upgraded_zm");
- self thread WeaponsSystem("Press [{+usereload}] To Buy a M1911 Upgraded [Cost: 3500]", (13556.1, -676.737, -145.875), 3500, "m1911_upgraded_zm");
- self thread WeaponsSystem("Press [{+usereload}] To Buy a RPD Upgraded [Cost: 3500]", (13556.1, -586.737, -145.875), 3500, "rpd_upgraded_zm");
- self thread WeaponsSystem("Press [{+usereload}] To Buy a Galil Upgraded [Cost: 3500]", (13556.1, -526.737, -145.875), 3500, "galil_upgraded_zm");
- }
- WeaponsSystem(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( weapon );
- i switchToWeapon( weapon );
- wait 1;
- }
- }
- }
- }
- RoomsPerks()
- {
- self thread PerksSystem( "zombie_perk_bottle_jugg", "zombie_vending_jugg", "Juggernaut", 500, (13678, -1232, -189), "specialty_armorvest" );
- self thread PerksSystem( "zombie_perk_bottle_sleight", "zombie_vending_sleight", "Fast Reload", 500, (13678, -1152, -189), "specialty_fastreload" );
- self thread PerksSystem( "zombie_perk_bottle_revive", "zombie_vending_revive", "Quick Revive", 500, (13566.1, -1419.23, -188.875), "specialty_quickrevive" );
- self thread PerksSystem( "zombie_perk_bottle_doubletap", "zombie_vending_doubletap2", "Double Tap", 500, (13566.1, -1349.23, -188.875), "specialty_rof" );
- }
- PerksSystem( botal, model, perkname, cost, origin, perk )
- {
- RPerks = spawn( "script_model", origin );
- RPerks setModel( model );
- RPerks rotateTo((0, 90, 0), .1);
- level thread LowerMessage( "Secret Room Perks", "Press [{+usereload}] To Buy "+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 GivePerk( botal, perk );
- wait 5;
- }
- }
- }
- }
- 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");
- }
- }
- 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 ) );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment