Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #using scripts\codescripts\struct;
- #using scripts\shared\array_shared;
- #using scripts\shared\callbacks_shared;
- #using scripts\shared\clientfield_shared;
- #using scripts\shared\compass;
- #using scripts\shared\exploder_shared;
- #using scripts\shared\flag_shared;
- #using scripts\shared\laststand_shared;
- #using scripts\shared\math_shared;
- #using scripts\shared\scene_shared;
- #using scripts\shared\util_shared;
- #insert scripts\shared\shared.gsh;
- #insert scripts\shared\version.gsh;
- #insert scripts\zm\_zm_utility.gsh;
- #using scripts\zm\_load;
- #using scripts\zm\_zm;
- #using scripts\zm\_zm_audio;
- #using scripts\zm\_zm_powerups;
- #using scripts\zm\_zm_utility;
- #using scripts\zm\_zm_weapons;
- #using scripts\zm\_zm_zonemgr;
- #using scripts\shared\ai\zombie_utility;
- //Perks
- #using scripts\zm\_zm_pack_a_punch;
- #using scripts\zm\_zm_pack_a_punch_util;
- #using scripts\zm\_zm_perk_additionalprimaryweapon;
- #using scripts\zm\_zm_perk_doubletap2;
- #using scripts\zm\_zm_perk_deadshot;
- #using scripts\zm\_zm_perk_juggernaut;
- #using scripts\zm\_zm_perk_quick_revive;
- #using scripts\zm\_zm_perk_sleight_of_hand;
- #using scripts\zm\_zm_perk_staminup;
- #using scripts\zm\_zm_perk_electric_cherry;
- #using scripts\zm\_zm_perk_widows_wine;
- #using scripts\zm\_zm_perk_vulture_aid;
- #using scripts\zm\_zm_perk_whoswho;
- #using scripts\zm\_zm_perk_tombstone;
- #using scripts\zm\_zm_perk_phdflopper;
- #using scripts\zm\_zm_perk_random;
- //Powerups
- #using scripts\zm\_zm_powerup_double_points;
- #using scripts\zm\_zm_powerup_carpenter;
- #using scripts\zm\_zm_powerup_fire_sale;
- #using scripts\zm\_zm_powerup_free_perk;
- #using scripts\zm\_zm_powerup_full_ammo;
- #using scripts\zm\_zm_powerup_insta_kill;
- #using scripts\zm\_zm_powerup_nuke;
- //#using scripts\zm\_zm_powerup_weapon_minigun;
- //Traps
- #using scripts\zm\_zm_trap_electric;
- //Custom usings
- #using scripts\zm\_zm_score;
- #using scripts\zm\_zm_weapons;
- #using scripts\shared\laststand_shared;
- #using scripts\zm\zm_usermap;
- #define CRAFTING_DONE "zm_mc_craft_done"
- //*****************************************************************************
- // MAIN
- //*****************************************************************************
- function main()
- {
- zm_usermap::main();
- //Points
- level.player_starting_points = 50000;
- level._zombie_custom_add_weapons =&custom_add_weapons;
- //Setup the levels Zombie Zone Volumes
- level.zones = [];
- level.zone_manager_init_func =&usermap_test_zone_init;
- init_zones[0] = "start_zone";
- level thread zm_zonemgr::manage_zones( init_zones );
- level.pathdist_type = PATHDIST_ORIGINAL;
- //Scripts
- thread buy_a_house_init();
- thread credit();
- }
- function usermap_test_zone_init()
- {
- level flag::init( "always_on" );
- level flag::set( "always_on" );
- }
- function custom_add_weapons()
- {
- zm_weapons::load_weapon_spec_from_table("gamedata/weapons/zm/zm_levelcommon_weapons.csv", 1);
- }
- function credit()
- {
- level flag::wait_till( "initial_blackscreen_passed" );
- wait 3;
- thread better_print ("^2Minecraft Zombies!", 0, 0, 3, 3 );
- wait 5;
- thread better_print ("^1Brought to you by ^2Logical Edits, ^4IceGrenade, ^3Symbo & ^1Clix", 0, 0, 2, 3 );
- while(1)
- {
- iPrintLn("How are you still alive?");
- wait 600;
- }
- }
- function better_print( text, align_x, align_y, font_scale, fade_time )
- {
- hud = NewHudElem();
- hud.foreground = true;
- hud.fontScale = font_scale;
- hud.sort = 1;
- hud.hidewheninmenu = false;
- hud.alignX = "center";
- hud.alignY = "middle";
- hud.horzAlign = "center";
- hud.vertAlign = "middle";
- hud.x = align_x;
- hud.y = hud.y - align_y;
- hud.alpha = 1;
- hud SetText( text );
- wait( 2 );
- hud fadeOverTime( fade_time );
- hud.alpha = 0;
- wait( fade_time );
- hud Destroy();
- }
- function buy_a_house_init()
- {
- //triggers
- house1trigger = GetEnt("house_trigger_1", "targetname");
- house2trigger = GetEnt("house_trigger_2", "targetname");
- house3trigger = GetEnt("house_trigger_3", "targetname");
- house4trigger = GetEnt("house_trigger_4", "targetname");
- house5trigger = GetEnt("house_trigger_5", "targetname");
- wall1trigger = GetEnt("wall_trigger_1", "targetname");
- wall2trigger = GetEnt("wall_trigger_2", "targetname");
- wall3trigger = GetEnt("wall_trigger_3", "targetname");
- wall4trigger = GetEnt("wall_trigger_4", "targetname");
- wall5trigger = GetEnt("wall_trigger_5", "targetname");
- level.currentHouse = undefined;
- level.activation_order_level = 1;
- //make each house lever work
- house1trigger thread trigger_object(GetEntArray("mc_dirt_house", "targetname"),1500,1);
- house2trigger thread trigger_object(GetEntArray("mc_cozy_house", "targetname"),2500,2);
- house3trigger thread trigger_object(GetEntArray("mc_bunker_house", "targetname"),5000,3);
- house4trigger thread trigger_object(GetEntArray("mc_fort_house", "targetname"),7500,4);
- house5trigger thread trigger_object(GetEntArray("mc_castle_house", "targetname"),10000,5);
- wall1trigger thread trigger_object(GetEntArray("wall_front_left", "targetname"),1500,0);
- wall2trigger thread trigger_object(GetEntArray("wall_front_right", "targetname"),1500,0);
- wall3trigger thread trigger_object(GetEntArray("wall_left", "targetname"),2000,0);
- wall4trigger thread trigger_object(GetEntArray("wall_right", "targetname"),2000,0);
- wall5trigger thread trigger_object(GetEntArray("wall_back", "targetname"),3000,0);
- }
- function trigger_object(house,lever_cost,activation_order)
- {
- foreach(part in house)
- {
- part MoveZ(-1200,0.05);
- //part DisconnectPaths();
- }
- self SetCursorHint("HINT_NOICON");
- self SetHintString("You cannot Upgrade this house yet!");
- while(1)
- {
- if(level.activation_order_level == activation_order || activation_order == 0)
- break;
- wait 2;
- }
- if(activation_order != 0)
- self SetHintString("Hold ^3^1&&1^3 ^7to purchase House Upgrade");
- else
- self SetHintString("Hold ^3^1&&1^3 ^7to purchase Wall Upgrade");
- while(1)
- {
- self waittill("trigger", player);
- if(player.score < lever_cost)
- {
- self SetHintString("You don't have enough Money!");
- wait 1.5;
- continue;
- }
- player zm_score::minus_to_player_score(lever_cost);
- if(activation_order != 0)
- {
- self SetHintString("This House has been Upgraded!");
- //remove old house
- if(isDefined(level.currentHouse))
- {
- foreach(part in level.currentHouse)
- {
- part MoveZ(-1200,0.1);
- wait 0.1;
- part Delete();
- //part DisconnectPaths();
- }
- }
- level.activation_order_level +=1;
- level.currentHouse = house;
- thread teleportplayers();
- }
- else
- self SetHintString("This Wall has been Upgraded!");
- break;
- }
- //pathNodes = [];
- //move part up
- foreach(part in house)
- {
- part MoveZ(1200,3);
- //if(part.script_string =="node")
- // pathNodes[pathNodes.Length] = part;
- }
- //house[0] DisconnectPaths();
- //house[0] ConnectPaths();
- wait 3.1;
- lever = GetEnt(self.target, "targetname");
- lever RotateTo((0, 0, 135), 1, 0.5);
- PlaySoundAtPosition("zm_mc_house_pistons", (0,0,0));
- }
- function teleportplayers()
- {
- node = (-160,-352,32);
- tptrig = GetEnt("mc_tele_players", "targetname");
- foreach(player in GetPlayers())
- {
- player SetOrigin(node);
- node += (100,0,0);
- wait 0.05;
- if(player IsTouching(tptrig))
- {
- player SetOrigin(node);
- node += (100,0,0);
- wait 0.05;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement