Login Issues
Activate Issues
Other Problems?
#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;//Traps#using scripts\zm\_zm_trap_electric;#using scripts\zm\_zm_trap_fire;#using scripts\zm\_hb21_sym_zm_trap_turret;#using scripts\zm\_hb21_zm_trap_flogger;#using scripts\zm\_hb21_zm_trap_centrifuge;#using scripts\zm\_hb21_zm_trap_flinger;#using scripts\zm\_hb21_sym_zm_trap_chain;#using scripts\zm\_hb21_sym_zm_trap_fan;// WAW WEAPON STUFF#using scripts\zm\_zm_t4_weapons;// BO2 WEAPON STUFF#using scripts\zm\_zm_t6_weapons;// BO3 WEAPON STUFF#using scripts\zm\_zm_t7_weapons;// NAPALM ZOMBIE#using scripts\zm\_hb21_zm_ai_napalm;// SONIC Zombie#using scripts\zm\_hb21_zm_ai_sonic;//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;#using scripts\zm\zm_usermap;#using scripts\_ZK\zk_buyable_elevator_v2;#using scripts\_redspace\rs_o_jump_pad;//*****************************************************************************// MAIN//*****************************************************************************function main(){ level shootable_trigs(); level thread set_perk_limit(10); // This sets the perk limit to 10 zm_usermap::main(); level thread zk_buyable_elevator_v2::init(); player_teleporter_init(); 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; thread teleport_zombies_init(); }function usermap_test_zone_init(){ zm_zonemgr::add_adjacent_zone( "start_zone", "box_zone", "enter_box_zone" ); zm_zonemgr::add_adjacent_zone( "start_zone", "power_zone", "enter_power_zone" ); zm_zonemgr::add_adjacent_zone( "power_zone", "phd_zone", "enter_phd_zone" ); zm_zonemgr::add_adjacent_zone( "power_zone", "roof_zone", "enter_roof_zone" ); zm_zonemgr::add_adjacent_zone( "start_zone", "pap_zone", "enter_pap_zone" ); zm_zonemgr::add_adjacent_zone( "pap_zone", "tunnel_zone", "enter_tunnel_zone" ); zm_zonemgr::add_adjacent_zone( "tunnel_zone", "jugg_zone", "enter_jugg_zone" ); zm_zonemgr::add_adjacent_zone( "tunnel_zone", "staff_zone", "enter_staff_zone" ); zm_zonemgr::add_adjacent_zone( "box_zone", "jugg_zone", "enter_jugg_zone" ); zm_zonemgr::add_adjacent_zone( "jugg_zone", "dablock_zone", "enter_dablock_zone" ); zm_zonemgr::add_adjacent_zone( "dablock_zone", "dablock_2", "enter_dablock_2" ); 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 set_perk_limit(num){ wait( 30 ); level.perk_purchase_limit = num;}function teleport_zombies_init(){ teleport_trig = GetEntArray( "teleport_zombies", "targetname" ); for (i = 0; i < teleport_trig.size; i++) { teleport_trig[i] thread teleport_zombies(); }}function teleport_zombies(){ teleport_destination = GetEnt( self.target, "targetname" ); while(1) { zombs = getaispeciesarray("axis","all"); for(k=0;k<zombs.size;k++) { if( zombs[k] IsTouching( self ) ) { zombs[k] ForceTeleport( teleport_destination.origin ); } } wait(0.01); }}function player_teleporter_init(){ player_tp = GetEntArray( "teleport_player", "targetname" ); for( i = 0; i < player_tp.size; i++ ) { player_tp[i] thread player_teleport(); }}function player_teleport(){ destination = GetEnt( self.target, "targetname" ); while(1) { self waittill( "trigger", player ); player SetOrigin( destination.origin ); player SetPlayerAngles( destination.angles ); }}function shootable_trigs(){ level.shootable_doors_Required = 3; level.shootable_door_count = 0; level thread shootable_door1(); level thread shootable_door2(); level thread shootable_door3(); trigs = GetEntArray( "shootable_door", "targetname" ); level.shootable_door_goal = trigs.size; foreach( trig in trigs ) trig thread wait_for_shoot();} function shootable_door1(){ trig1 = GetEnt("ee_trig1", "targetname"); obj1 = GetEnt("ee_obj1", "targetname"); trig1 SetHintString(""); trig1 SetCursorHint("HINT_NOICON"); while(1) { trig1 waittill("trigger", player); level.shootable_door_count++; thread wait_for_shoot(); break; } trig1 Delete(); obj1 Delete();} function shootable_door2(){ trig2 = GetEnt("ee_trig2", "targetname"); obj2 = GetEnt("ee_obj2", "targetname"); trig2 SetHintString(""); trig2 SetCursorHint("HINT_NOICON"); while(1) { trig2 waittill("trigger", player); level.shootable_door_count++; thread wait_for_shoot(); break; } trig2 Delete(); obj2 Delete();} function shootable_door3(){ trig3 = GetEnt("ee_trig3", "targetname"); obj3 = GetEnt("ee_obj3", "targetname"); trig3 SetHintString(""); trig3 SetCursorHint("HINT_NOICON"); while(1) { trig3 waittill("trigger", player); level.shootable_door_count++; thread wait_for_shoot(); break; } trig3 Delete(); obj3 Delete();}function wait_for_shoot(){ self waittill( "trigger", player ); player PlayLocalSound( "zmb_cha_ching" ); // Change this to any sound alias you want { while(1) { self waittill(level.shootablesCollected >= level.shootable_doors_Required); if(level.shootable_door_count == level.shootable_doors_Required) { self open_door(); } break; }}} function open_door(){ doors = GetEntArray( "shootable_door_reward", "targetname" ); foreach( door in doors ) door PlaySound( "zmb_cha_ching" ); wait(0.05); iprintlnbold("The Dungeon and Roof are acessible!"); wait(0.05); foreach( door in doors ) door delete(); flag = doors[0].script_flag; level flag::set( flag );}