UGX-Mods Login

or login with an authentication provider below
Sign In with Google
Sign In with Twitter
Sign In with Discord
Sign In with Steam
Sign In with Facebook
Sign In with Twitch

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Weezy428

                                                 



Welcome Back to Shi No Numa. We find our heroes have somehow traveled to a distant future many years after what happened. The CDC have tried to re establish the area and found it needed to be quarantined. Some areas have been locked for your safety. Tread carefully, we built an upgraded area for the cause at hand. Good Luck Soldier. We will keep U posted........

                                                                                   SGT,
                                                                                            Weezy428



 
Spoiler: click to open...



















Some Updated pics 10-19-2015

Spoiler: click to open...







IMAGE UPDATE(With added zone pics): 2/24/2016
Spoiler: click to open...



































Weapons (So far ;)  )

Chicom(QCW05)
M27(HK416)
Lsat
Kard(starting Pistol)
Vector
Svu
Scar
Fal-Osw
870mcs
Evo Skorpion
Hamr
KSG
PDW-57
PeaceKeeper
S-12(AW) (Thanks to bbwc66930)
Mp7
QBB
Xm8
Mtar21
M14
TAC-45

9 years ago
Hey i was wondering why this would happen? I have added a lot to it and it needs to be in the map for my box weapons. If someone who scripts could take a look at why this would happen that would be greatly appreciated.

Code Snippet
Plaintext
// Sparks (9/12/2009 3:20:27 PM)

#include maps\_utility;
#include common_scripts\utility;
#include maps\_zombiemode_utility;
#include maps\_music;

// DLC3 Utilities
#include maps\dlc3_teleporter;

/***********************************************************************
    DLC3 STUFF
***********************************************************************/

initDLC3_Vars()
{
// Alter The Pulls
level.pulls_since_last_ray_gun = 0;
level.pulls_since_last_tesla_gun = 0;
level.player_drops_tesla_gun = false;

// Coop Heroes Loadout
if( isDefined( level.DLC3.useCoopHeroes ) && level.DLC3.useCoopHeroes )
{
level.use_zombie_heroes = level.DLC3.useCoopHeroes;
}
else
{
level.use_zombie_heroes = true;
}

// Bowie Knife Damage
if( isDefined( level.DLC3.perk_altMeleeDamage ) && level.DLC3.perk_altMeleeDamage )
{
SetDvar( "perk_altMeleeDamage", level.DLC3.perk_altMeleeDamage );
}
else
{
SetDvar( "perk_altMeleeDamage", 1000 );
}

// Dogs Enabled
if( isDefined( level.DLC3.useHellHounds ) && level.DLC3.useHellHounds )
{
level.dogs_enabled = level.DLC3.useHellHounds;
}
else
{
level.dogs_enabled = true;
}

// Mixed Crawlers And Dogs
if( isDefined( level.DLC3.useMixedRounds ) && level.DLC3.useMixedRounds )
{
level.mixed_rounds_enabled = level.DLC3.useMixedRounds;
}
else
{
level.mixed_rounds_enabled = true;
}

// Array For Burning Zombies, Traps, and Risers -- Leave These
level.burning_zombies = [];
level.traps = [];
level.zombie_rise_spawners = [];

// Barrier Search Override
if( isDefined( level.DLC3.barrierSearchOverride ) && level.DLC3.barrierSearchOverride )
{
level.max_barrier_search_dist_override = level.DLC3.barrierSearchOverride;
}
else
{
level.max_barrier_search_dist_override = 400;
}

// Pointer Functions -- These Are Stock
level.door_dialog_function = maps\_zombiemode::play_door_dialog;
level.achievement_notify_func = maps\_zombiemode_utility::achievement_notify;
level.dog_spawn_func = maps\_zombiemode_dogs::dog_spawn_factory_logic;

level.zombie_anim_override = maps\dlc3_code::anim_override_func;
}

initDLC3_Vars2()
{
// Special level specific settings
if( isDefined( level.DLC3.powerUpDropMax ) && level.DLC3.powerUpDropMax )
{
set_zombie_var( "zombie_powerup_drop_max_per_round", level.DLC3.powerUpDropMax ); // lower this to make drop happen more often
}
{
set_zombie_var( "zombie_powerup_drop_max_per_round", 3 ); // lower this to make drop happen more often
}
}

DLC3_threadCalls()
{
initDLC3_Vars();

script_anims_init();

level thread maps\_callbacksetup::SetupCallbacks();

precacheDLC3();
}

DLC3_threadCalls2()
{
if( isArray( level.DLC3.initialZones ) && isDefined( level.DLC3.initialZones[ 0 ] ) )
{
level thread maps\_zombiemode_zone_manager::manage_zones( level.DLC3.initialZones );
}

if( isDefined( level.DLC3.useSnow ) && level.DLC3.useSnow )
{
level thread player_Snow();
}

init_sounds();

level thread initDLC3_Vars2();

/*if( isDefined( level.DLC3.useElectricSwitch ) && level.DLC3.useElectricSwitch )
{
level thread power_electric_switch();
}
else
{
level thread power_electric_switch_on();
}*/

level thread magic_box_init();

if( isDefined( level.DLC3.useElectricTraps ) && level.DLC3.useElectricTraps )
{
thread init_elec_trap_trigs();
}

// Need this here because of the createFX hack for teleporter FX
if( !isDefined( level._script_exploders ) )
{
level._script_exploders = [];
}

teleporter_init();

level thread mapStartAudio();

level thread intro_screen();

level thread jump_from_bridge();
level lock_additional_player_spawner();

if( isDefined( level.DLC3.useBridge ) && level.DLC3.useBridge )
{
level thread bridge_init();
}

level thread perkMachineRattles();
}

precacheDLC3()
{
/*precachestring(&"ZOMBIE_FLAMES_UNAVAILABLE");
precachestring(&"ZOMBIE_ELECTRIC_SWITCH");*/
level thread maps\tom_precache::tom_precache( "string", &"ZOMBIE_FLAMES_UNAVAILABLE" );
level thread maps\tom_precache::tom_precache( "string", &"ZOMBIE_ELECTRIC_SWITCH" );

/*precachestring(&"ZOMBIE_POWER_UP_TPAD");
precachestring(&"ZOMBIE_TELEPORT_TO_CORE");
precachestring(&"ZOMBIE_LINK_TPAD");
precachestring(&"ZOMBIE_LINK_ACTIVE");
precachestring(&"ZOMBIE_INACTIVE_TPAD");
precachestring(&"ZOMBIE_START_TPAD");*/
level thread maps\tom_precache::tom_precache( "string", &"ZOMBIE_POWER_UP_TPAD" );
level thread maps\tom_precache::tom_precache( "string", &"ZOMBIE_TELEPORT_TO_CORE" );
level thread maps\tom_precache::tom_precache( "string", &"ZOMBIE_LINK_TPAD" );
level thread maps\tom_precache::tom_precache( "string", &"ZOMBIE_LINK_ACTIVE" );
level thread maps\tom_precache::tom_precache( "string", &"ZOMBIE_INACTIVE_TPAD" );
level thread maps\tom_precache::tom_precache( "string", &"ZOMBIE_START_TPAD" );

precacheshellshock("electrocution");
/*precachemodel("zombie_zapper_cagelight_red");
precachemodel("zombie_zapper_cagelight_green");
precacheModel("lights_indlight_on" );
precacheModel("lights_milit_lamp_single_int_on" );
precacheModel("lights_tinhatlamp_on" );
precacheModel("lights_berlin_subway_hat_0" );
precacheModel("lights_berlin_subway_hat_50" );
precacheModel("lights_berlin_subway_hat_100" );
precachemodel("collision_geo_32x32x128");*/
level thread maps\tom_precache::tom_precache( "model", "zombie_zapper_cagelight_red" );
level thread maps\tom_precache::tom_precache( "model", "zombie_zapper_cagelight_green" );
level thread maps\tom_precache::tom_precache( "model", "lights_indlight_on" );
level thread maps\tom_precache::tom_precache( "model", "lights_milit_lamp_single_int_on" );
level thread maps\tom_precache::tom_precache( "model", "lights_tinhatlamp_on" );
level thread maps\tom_precache::tom_precache( "model", "lights_berlin_subway_hat_0" );
level thread maps\tom_precache::tom_precache( "model", "lights_berlin_subway_hat_50" );
level thread maps\tom_precache::tom_precache( "model", "lights_berlin_subway_hat_100" );
level thread maps\tom_precache::tom_precache( "model", "collision_geo_32x32x128" );

/*precachestring(&"ZOMBIE_BETTY_ALREADY_PURCHASED");
precachestring(&"ZOMBIE_BETTY_HOWTO");*/
level thread maps\tom_precache::tom_precache( "string", &"ZOMBIE_BETTY_ALREADY_PURCHASED" );
level thread maps\tom_precache::tom_precache( "string", &"ZOMBIE_BETTY_HOWTO" );
}

intro_screen()
{

flag_wait( "all_players_connected" );
wait(2);
level.intro_hud = [];
for(i = 0;  i < 3; i++)
{
level.intro_hud[i] = newHudElem();
level.intro_hud[i].x = 0;
level.intro_hud[i].y = 0;
level.intro_hud[i].alignX = "left";
level.intro_hud[i].alignY = "bottom";
level.intro_hud[i].horzAlign = "left";
level.intro_hud[i].vertAlign = "bottom";
level.intro_hud[i].foreground = true;

if ( level.splitscreen && !level.hidef )
{
level.intro_hud[i].fontScale = 2.75;
}
else
{
level.intro_hud[i].fontScale = 1.75;
}
level.intro_hud[i].alpha = 0.0;
level.intro_hud[i].color = (1, 1, 1);
level.intro_hud[i].inuse = false;
}
level.intro_hud[0].y = -110;
level.intro_hud[1].y = -90;
level.intro_hud[2].y = -70;


level.intro_hud[0] settext(level.DLC3.introString);
level.intro_hud[1] settext("");
level.intro_hud[2] settext("");

for(i = 0 ; i < 3; i++)
{
level.intro_hud[i] FadeOverTime( 3.5 );
level.intro_hud[i].alpha = 1;
wait(1.5);
}
wait(1.5);
for(i = 0 ; i < 3; i++)
{
level.intro_hud[i] FadeOverTime( 3.5 );
level.intro_hud[i].alpha = 0;
wait(1.5);
}
//wait(1.5);
for(i = 0 ; i < 3; i++)
{
level.intro_hud[i] destroy();
}
}

init_sounds()
{
maps\_zombiemode_utility::add_sound( "break_stone", "break_stone" );
maps\_zombiemode_utility::add_sound( "gate_door", "open_door" );
maps\_zombiemode_utility::add_sound( "heavy_door", "open_door" );
}

include_weapons()
{
include_weapon( "zombie_colt" );
include_weapon( "zombie_colt_upgraded", false );
//include_weapon( "zombie_sw_357" );
//include_weapon( "zombie_sw_357_upgraded", false );
//include_weapon( "walther" );
//include_weapon( "walther_upgraded" );
// Bolt Action
//include_weapon( "zombie_kar98k" );
//include_weapon( "zombie_kar98k_upgraded", false );
include_weapon( "f_57", false );
include_weapon( "f_57_upgraded", false );

// Semi Auto
//include_weapon( "zombie_m1carbine" );
//include_weapon( "zombie_m1carbine_upgraded", false );
//include_weapon( "zombie_m1garand" );
//include_weapon( "zombie_m1garand_upgraded", false );
//include_weapon( "zombie_gewehr43" );
//include_weapon( "zombie_gewehr43_upgraded", false );

// Full Auto
//include_weapon( "zombie_stg44" );
//include_weapon( "zombie_stg44_upgraded", false );
//include_weapon( "zombie_thompson" );
//include_weapon( "zombie_thompson_upgraded", false );
//include_weapon( "zombie_mp40" );
//include_weapon( "zombie_mp40_upgraded", false );
//include_weapon( "zombie_type100_smg" );
//include_weapon( "zombie_type100_smg_upgraded", false );

// Scoped
//include_weapon( "ptrs41_zombie" );
//include_weapon( "ptrs41_zombie_upgraded", false );

// Grenade
include_weapon( "molotov" );
include_weapon( "mk2_frag", false );

// Grenade Launcher
//include_weapon( "m1garand_gl_zombie" );
//include_weapon( "m1garand_gl_zombie_upgraded", false );
//include_weapon( "m7_launcher_zombie" );
//include_weapon( "m7_launcher_zombie_upgraded", false );

// Flamethrower
//include_weapon( "m2_flamethrower_zombie" );
//include_weapon( "m2_flamethrower_zombie_upgraded", false );

// Shotgun
//include_weapon( "zombie_doublebarrel" );
//include_weapon( "zombie_doublebarrel_upgraded", false );
//include_weapon( "zombie_shotgun" );
//include_weapon( "zombie_shotgun_upgraded", false );
include_weapon( "zombie_doublebarrel_sawed" );
include_weapon( "zombie_doublebarrel_sawed_upgraded", false );


// Heavy MG
//include_weapon( "zombie_bar" );
//include_weapon( "zombie_bar_upgraded", false );
//include_weapon( "zombie_fg42" );
//include_weapon( "zombie_fg42_upgraded", false );

//include_weapon( "zombie_30cal" );
//include_weapon( "zombie_30cal_upgraded", false );
//include_weapon( "zombie_mg42" );
//include_weapon( "zombie_mg42_upgraded", false );
//include_weapon( "zombie_ppsh" );
//include_weapon( "zombie_ppsh_upgraded", false );
include_weapon( "raygun_mark2", true );
include_weapon( "raygun_mark2_upgraded", false );
include_weapon( "enfield_zm", true );
include_weapon( "enfield_zm_upgraded", false );
include_weapon( "m14_zm", true );
include_weapon( "m14_zm_upgraded", false );
include_weapon( "m27_zm", true );
include_weapon( "m27_zm_upgraded", false );
include_weapon( "mp7", true );
include_weapon( "mp7_upgraded", false );
include_weapon( "mp5k_zm", true );
include_weapon( "mp5k_zm_upgraded", false );
include_weapon( "pdw57", true );
include_weapon( "pdw57_upgraded", false );
include_weapon( "chicom_zm", true );
include_weapon( "chicom_zm_upgraded", false );
include_weapon( "peacekeeper", true );
include_weapon( "peacekeeper_upgraded", false );
include_weapon( "mpl_zm", true );
include_weapon( "mpl_zm_upgraded", false );
include_weapon( "hs10_zm", true );
include_weapon( "hs10_zm_upgraded", false );
include_weapon( "fn_fal", true );
include_weapon( "fn_fal_upgraded", false );
include_weapon( "ballista", true );
include_weapon( "ballista_upgraded", false );
include_weapon( "kard", true );
include_weapon( "kard_upgraded", false );
    include_weapon( "python", true );
include_weapon( "python_upgraded", false );
include_weapon( "lsat", true );
include_weapon( "lsat_upgraded", false );
include_weapon( "rpd_zm", true );
include_weapon( "rpd_zm_upgraded", false );
include_weapon( "s12", true );
include_weapon( "s12_upgraded", false );
include_weapon( "thundergun_zm", true );
include_weapon( "thundergun_zm_upgraded", false );




// Rocket Launcher
//include_weapon( "panzerschrek_zombie" );
//include_weapon( "panzerschrek_zombie_upgraded", false );

// Special
include_weapon( "ray_gun", true, ::factory_ray_gun_weighting_func );
include_weapon( "ray_gun_upgraded", false );
//include_weapon( "tesla_gun", true );
//include_weapon( "tesla_gun_upgraded", false );
include_weapon( "zombie_cymbal_monkey", true, ::factory_cymbal_monkey_weighting_func );
include_weapon( "mortar_round", false );
include_weapon( "satchel_charge_new", false );

// Bouncing betties
include_weapon( "mine_bouncing_betty", false );

// Added By Sniperbolt
// include_weapon( "zombie_the_sniperbolt", true );
// include_weapon( "zombie_the_sniperbolt_upgrated", false );

// Limited weapons
maps\_zombiemode_weapons::add_limited_weapon( "zombie_colt", 0 );
maps\_zombiemode_weapons::add_limited_weapon( "zombie_gewehr43", 0 );
maps\_zombiemode_weapons::add_limited_weapon( "zombie_m1garand", 0 );
}

include_powerups()
{
include_powerup( "nuke" );
include_powerup( "insta_kill" );
include_powerup( "double_points" );
include_powerup( "full_ammo" );
include_powerup( "carpenter" );
    include_powerup( "fire_sale" );
    include_powerup( "bonfire_sale" );
}

DLC3_FX()
{
// THESE ARE NEEDED FOR ZOMBIE MODE -- LEAVE THESE

// Scripted FX
/*level._effect["large_ceiling_dust"] = LoadFx( "env/dirt/fx_dust_ceiling_impact_lg_mdbrown" );
level._effect["poltergeist"] = LoadFx( "misc/fx_zombie_couch_effect" );
level._effect["gasfire"] = LoadFx("destructibles/fx_dest_fire_vert");
level._effect["switch_sparks"] = loadfx("env/electrical/fx_elec_wire_spark_burst");
level._effect["wire_sparks_oneshot"] = loadfx("env/electrical/fx_elec_wire_spark_dl_oneshot");*/
level._effect["large_ceiling_dust"] = maps\tom_precache::tom_precache( "fx", "env/dirt/fx_dust_ceiling_impact_lg_mdbrown" );
level._effect["poltergeist"] = maps\tom_precache::tom_precache( "fx", "misc/fx_zombie_couch_effect" );
level._effect["gasfire"] = maps\tom_precache::tom_precache( "fx", "destructibles/fx_dest_fire_vert" );
level._effect["switch_sparks"] = maps\tom_precache::tom_precache( "fx", "env/electrical/fx_elec_wire_spark_burst" );
level._effect["wire_sparks_oneshot"] = maps\tom_precache::tom_precache( "fx", "env/electrical/fx_elec_wire_spark_dl_oneshot" );

/*level._effect["rise_burst"] = LoadFx("maps/mp_maps/fx_mp_zombie_hand_dirt_burst");
level._effect["rise_billow"] = LoadFx("maps/mp_maps/fx_mp_zombie_body_dirt_billowing");
level._effect["rise_dust"] = LoadFx("maps/mp_maps/fx_mp_zombie_body_dust_falling");*/
level._effect["rise_burst"] = maps\tom_precache::tom_precache( "fx", "maps/mp_maps/fx_mp_zombie_hand_dirt_burst" );
level._effect["rise_billow"] = maps\tom_precache::tom_precache( "fx", "maps/mp_maps/fx_mp_zombie_body_dirt_billowing" );
level._effect["rise_dust"] = maps\tom_precache::tom_precache( "fx", "maps/mp_maps/fx_mp_zombie_body_dust_falling" );

//level._effect["dog_eye_glow"] = loadfx("maps/zombie/fx_zombie_dog_eyes");
//level._effect["dog_gib"] = loadfx( "maps/zombie/fx_zombie_dog_explosion" );
//level._effect["dog_trail_fire"] = loadfx("maps/zombie/fx_zombie_dog_fire_trail");
//level._effect["dog_trail_ash"] = loadfx("maps/zombie/fx_zombie_dog_ash_trail");
//level._effect["dog_breath"] = Loadfx("maps/zombie/fx_zombie_dog_breath");

/*level._effect["lght_marker"] = Loadfx("maps/zombie/fx_zombie_factory_marker");
level._effect["lght_marker_flare"] = Loadfx("maps/zombie/fx_zombie_factory_marker_fl");*/
level._effect["lght_marker"] = maps\tom_precache::tom_precache( "fx", "maps/zombie/fx_zombie_factory_marker" );
level._effect["lght_marker_flare"] = maps\tom_precache::tom_precache( "fx", "maps/zombie/fx_zombie_factory_marker_fl" );

/*level._effect["betty_explode"] = loadfx("weapon/bouncing_betty/fx_explosion_betty_generic");
level._effect["betty_trail"] = loadfx("weapon/bouncing_betty/fx_betty_trail");*/
level._effect["betty_explode"] = maps\tom_precache::tom_precache( "fx", "weapon/bouncing_betty/fx_explosion_betty_generic" );
level._effect["betty_trail"] = maps\tom_precache::tom_precache( "fx", "weapon/bouncing_betty/fx_betty_trail" );

//level._effect["zapper_fx"] = loadfx("misc/fx_zombie_zapper_powerbox_on");
//level._effect["zapper"] = loadfx("misc/fx_zombie_electric_trap");
//level._effect["zapper_wall"] = loadfx("misc/fx_zombie_zapper_wall_control_on");
//level._effect["zapper_light_ready"] = loadfx("maps/zombie/fx_zombie_light_glow_green");
//level._effect["zapper_light_notready"] = loadfx("maps/zombie/fx_zombie_light_glow_red");
//level._effect["elec_room_on"] = loadfx("fx_zombie_light_elec_room_on");
/*level._effect["elec_md"] = loadfx("env/electrical/fx_elec_player_md");
level._effect["elec_sm"] = loadfx("env/electrical/fx_elec_player_sm");
level._effect["elec_torso"] = loadfx("env/electrical/fx_elec_player_torso");*/
level._effect["elec_md"] = maps\tom_precache::tom_precache( "fx", "env/electrical/fx_elec_player_md" );
level._effect["elec_sm"] = maps\tom_precache::tom_precache( "fx", "env/electrical/fx_elec_player_sm" );
level._effect["elec_torso"] = maps\tom_precache::tom_precache( "fx", "env/electrical/fx_elec_player_torso" );

/*level._effect["elec_trail_one_shot"] = loadfx("misc/fx_zombie_elec_trail_oneshot");
level._effect["wire_spark"] = loadfx("maps/zombie/fx_zombie_wire_spark");
level._effect["powerup_on"] = loadfx( "misc/fx_zombie_powerup_on" );
level._effect["elec_trail_one_shot"] = maps\tom_precache::tom_precache( "fx", "misc/fx_zombie_elec_trail_oneshot" );
level._effect["wire_spark"] = maps\tom_precache::tom_precache( "fx", "maps/zombie/fx_zombie_wire_spark" );
level._effect["powerup_on"] = maps\tom_precache::tom_precache( "fx", "misc/fx_zombie_powerup_on" );
level._effect["vulture_smell"] = maps\tom_precache::tom_precache( "fx", "vulture_smell" );
level._effect["vulture_powerup"] = maps\tom_precache::tom_precache( "fx", "vulture_powerup" );

// Create FX

if( isDefined( level.DLC3.myFX ) )
{
[[level.DLC3.myFX]]();
}

/*level._effect["transporter_beam"]           = loadfx("maps/zombie/fx_transporter_beam");
level._effect["transporter_pad_start"]     = loadfx("maps/zombie/fx_transporter_pad_start");
level._effect["transporter_start"]         = loadfx("maps/zombie/fx_transporter_start");
level._effect["transporter_ambient"]       = loadfx("maps/zombie/fx_transporter_ambient");
level._effect["zombie_mainframe_link_all"] = loadfx("maps/zombie/fx_zombie_mainframe_link_all");
level._effect["zombie_mainframe_link_single"] = loadfx("maps/zombie/fx_zombie_mainframe_link_single");*/
level._effect["transporter_beam"]           = maps\tom_precache::tom_precache( "fx", "maps/zombie/fx_transporter_beam" );
level._effect["transporter_pad_start"]     = maps\tom_precache::tom_precache( "fx", "maps/zombie/fx_transporter_pad_start" );
level._effect["transporter_start"]         = maps\tom_precache::tom_precache( "fx", "maps/zombie/fx_transporter_start" );
level._effect["transporter_ambient"]       = maps\tom_precache::tom_precache( "fx", "maps/zombie/fx_transporter_ambient" );
level._effect["zombie_mainframe_link_all"] = maps\tom_precache::tom_precache( "fx", "maps/zombie/fx_zombie_mainframe_link_all" );
level._effect["zombie_mainframe_link_single"] = maps\tom_precache::tom_precache( "fx", "maps/zombie/fx_zombie_mainframe_link_single" );
//level._effect["zombie_mainframe_linked"]       = loadfx("maps/zombie/fx_zombie_mainframe_linked");
//level._effect["zombie_mainframe_beam"]       = loadfx("maps/zombie/fx_zombie_mainframe_beam");
//level._effect["zombie_mainframe_flat"]       = loadfx("maps/zombie/fx_zombie_mainframe_flat");
//level._effect["zombie_mainframe_flat_start"]   = loadfx("maps/zombie/fx_zombie_mainframe_flat_start");
//level._effect["zombie_mainframe_beam_start"]   = loadfx("maps/zombie/fx_zombie_mainframe_beam_start");
//level._effect["zombie_flashback_american"]     = loadfx("maps/zombie/fx_zombie_flashback_american");
//level._effect["gasfire2"]                   = Loadfx("destructibles/fx_dest_fire_vert");
/*level._effect["mp_light_lamp"]               = Loadfx("maps/mp_maps/fx_mp_light_lamp");
level._effect["zombie_difference"]             = loadfx("maps/zombie/fx_zombie_difference");*/
level._effect["mp_light_lamp"]               = maps\tom_precache::tom_precache( "fx", "maps/mp_maps/fx_mp_light_lamp" );
level._effect["zombie_difference"]             = maps\tom_precache::tom_precache( "fx", "maps/zombie/fx_zombie_difference" );
//level._effect["zombie_mainframe_steam"]         = loadfx("maps/zombie/fx_zombie_mainframe_steam");
//level._effect["zombie_heat_sink"]               = loadfx("maps/zombie/fx_zombie_heat_sink");
//level._effect["mp_smoke_stack"]             = loadfx("maps/mp_maps/fx_mp_smoke_stack");
/*level._effect["mp_elec_spark_fast_random"]   = loadfx("maps/mp_maps/fx_mp_elec_spark_fast_random");
level._effect["zombie_elec_gen_idle"]       = loadfx("misc/fx_zombie_elec_gen_idle");*/
level._effect["mp_elec_spark_fast_random"]   = maps\tom_precache::tom_precache( "fx", "maps/mp_maps/fx_mp_elec_spark_fast_random" );
level._effect["zombie_elec_gen_idle"]       = maps\tom_precache::tom_precache( "fx", "misc/fx_zombie_elec_gen_idle") ;
//level._effect["zombie_moon_eclipse"]           = loadfx("maps/zombie/fx_zombie_moon_eclipse");
//level._effect["zombie_clock_hand"]             = loadfx("maps/zombie/fx_zombie_clock_hand");
//level._effect["zombie_elec_pole_terminal"]     = loadfx("maps/zombie/fx_zombie_elec_pole_terminal");
//level._effect["mp_elec_broken_light_1shot"]     = loadfx("maps/mp_maps/fx_mp_elec_broken_light_1shot");
//level._effect["mp_light_lamp_no_eo"]         = loadfx("maps/mp_maps/fx_mp_light_lamp_no_eo");
/*level._effect["zombie_packapunch"]             = loadfx("maps/zombie/fx_zombie_packapunch");
level._effect["electric_short_oneshot"] = loadfx("env/electrical/fx_elec_short_oneshot");*/
level._effect["zombie_packapunch"]             = maps\tom_precache::tom_precache( "fx", "maps/zombie/fx_zombie_packapunch" );
level._effect["electric_short_oneshot"] = maps\tom_precache::tom_precache( "fx", "env/electrical/fx_elec_short_oneshot" );

animscripts\utility::setFootstepEffect( "asphalt",    LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "brick",      LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "carpet",     LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "cloth",      LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "concrete",   LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "dirt",       LoadFx( "bio/player/fx_footstep_sand" ) );
animscripts\utility::setFootstepEffect( "foliage",    LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "gravel",     LoadFx( "bio/player/fx_footstep_sand" ) );
animscripts\utility::setFootstepEffect( "grass",      LoadFx( "bio/player/fx_footstep_sand" ) );
animscripts\utility::setFootstepEffect( "metal",      LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "mud",        LoadFx( "bio/player/fx_footstep_mud" ) );
animscripts\utility::setFootstepEffect( "paper",      LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "plaster",    LoadFx( "bio/player/fx_footstep_dust" ) );
animscripts\utility::setFootstepEffect( "rock",       LoadFx( "bio/player/fx_footstep_sand" ) );
animscripts\utility::setFootstepEffect( "sand",       LoadFx( "bio/player/fx_footstep_sand" ) );
animscripts\utility::setFootstepEffect( "water",      LoadFx( "bio/player/fx_footstep_water" ) );
animscripts\utility::setFootstepEffect( "wood",       LoadFx( "bio/player/fx_footstep_dust" ) );

[[level.DLC3.createArt]]();

spawnFX();
}

spawnFX()
{
[[level.DLC3.createFX]]();

maps\createFX\dlc3_fx::main();
}

/***********************************************************************
    TRAP STUFF
***********************************************************************/
init_elec_trap_trigs()
{
//trap_trigs = getentarray("gas_access","targetname");
//array_thread (trap_trigs,::electric_trap_think);
//array_thread (trap_trigs,::electric_trap_dialog);

// MM - traps disabled for now
array_thread( getentarray("warehouse_electric_trap", "targetname"), ::electric_trap_think, "enter_warehouse_building" );
array_thread( getentarray("wuen_electric_trap", "targetname"), ::electric_trap_think, "enter_wnuen_building" );
array_thread( getentarray("bridge_electric_trap", "targetname"), ::electric_trap_think, "bridge_down" );
}

electric_trap_dialog()
{

self endon ("warning_dialog");
level endon("switch_flipped");
timer =0;
while(1)
{
wait(0.5);
players = get_players();
for(i = 0; i < players.size; i++)
{
dist = distancesquared(players[i].origin, self.origin );
if(dist > 70*70)
{
timer = 0;
continue;
}
if(dist < 70*70 && timer < 3)
{
wait(0.5);
timer ++;
}
if(dist < 70*70 && timer == 3)
{

index = maps\_zombiemode_weapons::get_player_index(players[i]);
plr = "plr_" + index + "_";
//players[i] create_and_play_dialog( plr, "vox_level_start", 0.25 );
wait(3);
self notify ("warning_dialog");
//iprintlnbold("warning_given");
}
}
}
}


electric_trap_think( enable_flag )
{
self sethintstring("turn power on");
self.zombie_cost = 100;

//self thread electric_trap_dialog();

// get a list of all of the other triggers with the same name
triggers = getentarray( self.targetname, "targetname" );
flag_wait( "electricity_on" );


// Get the damage trigger.  This is the unifying element to let us know it's been activated.
//self.zombie_dmg_trig = getEnt(self.target,"targetname");
//self.zombie_dmg_trig.in_use = 0;

// Set buy string
self sethintstring("turn on trap [ cost: "+self.zombie_cost+"]");

// Getting the light that's related is a little esoteric, but there isn't
// a better way at the moment.  It uses linknames, which are really dodgy.
light_name = ""; // scope declaration
damage_trigger = "";
tswitch = getent(self.script_linkto,"script_linkname");
switch ( tswitch.script_linkname )
{
case "10": // wnuenn
case "11":
light_name = "zapper_light_wuen";
damage_trigger = "zapper_damage_wuen";
break;

case "20": // warehouse
case "21":
light_name = "zapper_light_warehouse";
damage_trigger = "zapper_damage_warehouse";
break;

case "30": // Bridge
case "31":
light_name = "zapper_light_bridge";
damage_trigger = "zapper_damage_bridge";
break;
}
// Get the damage trigger.  This is the unifying element to let us know it's been activated.
self.zombie_dmg_trig = getEnt(damage_trigger,"targetname");
self.zombie_dmg_trig.in_use = 0;

// The power is now on, but keep it disabled until a certain condition is met
// such as opening the door it is blocking or waiting for the bridge to lower.

if ( !flag( enable_flag ) )
{
self trigger_off();
zapper_light_red( light_name );
flag_wait( enable_flag );
self trigger_on();
}

// Open for business! 
zapper_light_green( light_name );

while(1)
{
//valve_trigs = getentarray(self.script_noteworthy ,"script_noteworthy");

//wait until someone uses the valve
self waittill("trigger",who);
if( who in_revive_trigger() )
{
continue;
}

if( is_player_valid( who ) )
{
if( who.score >= self.zombie_cost )
{
if(!self.zombie_dmg_trig.in_use)
{
self.zombie_dmg_trig.in_use = 1;

//turn off the valve triggers associated with this trap until available again
array_thread (triggers, ::trigger_off);

play_sound_at_pos( "purchase", who.origin );
self thread electric_trap_move_switch(self);
//need to play a 'woosh' sound here, like a gas furnace starting up
self waittill("switch_activated");
//set the score
who maps\_zombiemode_score::minus_to_player_score( self.zombie_cost );

//this trigger detects zombies walking thru the flames
self.zombie_dmg_trig trigger_on();

//play the flame FX and do the actual damage
self thread activate_electric_trap();

//wait until done and then re-enable the valve for purchase again
self waittill("elec_done");

clientnotify(self.script_string +"off");

//delete any FX ents
if(isDefined(self.fx_org))
{
self.fx_org delete();
}
if(isDefined(self.zapper_fx_org))
{
self.zapper_fx_org delete();
}
if(isDefined(self.zapper_fx_switch_org))
{
self.zapper_fx_switch_org delete();
}

//turn the damage detection trigger off until the flames are used again
self.zombie_dmg_trig trigger_off();
wait(25);

array_thread (triggers, ::trigger_on);

//COLLIN: Play the 'alarm' sound to alert players that the traps are available again (playing on a temp ent in case the PA is already in use.
//speakerA = getstruct("loudspeaker", "targetname");
//playsoundatposition("warning", speakera.origin);
self notify("available");

self.zombie_dmg_trig.in_use = 0;
}
}
}
}
}

electric_trap_move_switch(parent)
{
light_name = ""; // scope declaration
tswitch = getent(parent.script_linkto,"script_linkname");
switch ( tswitch.script_linkname )
{
case "10": // wnuen
case "11":
light_name = "zapper_light_wuen";
break;

case "20": // warehouse
case "21":
light_name = "zapper_light_warehouse";
break;

case "30":
case "31":
light_name = "zapper_light_bridge";
break;
}

//turn the light above the door red
zapper_light_red( light_name );
tswitch rotatepitch(180,.5);
tswitch playsound("amb_sparks_l_b");
tswitch waittill("rotatedone");

self notify("switch_activated");
self waittill("available");
tswitch rotatepitch(-180,.5);

//turn the light back green once the trap is available again
zapper_light_green( light_name );
}

activate_electric_trap()
{
if(isDefined(self.script_string) && self.script_string == "warehouse")
{
clientnotify("warehouse");
}
else if(isDefined(self.script_string) && self.script_string == "wuen")
{
clientnotify("wuen");
}
else
{
clientnotify("bridge");
}

clientnotify(self.target);

fire_points = getentarray(self.target,"targetname");

for(i=0;i<fire_points.size;i++)
{
wait_network_frame();
fire_points[i] thread electric_trap_fx(self);
}

//do the damage
self.zombie_dmg_trig thread elec_barrier_damage();

// reset the zapper model
level waittill("arc_done");
}

electric_trap_fx(notify_ent)
{
self.tag_origin = spawn("script_model",self.origin);
self.tag_origin setmodel("tag_origin");

playfxontag(level._effect["zapper"],self.tag_origin,"tag_origin");

self.tag_origin playsound("elec_start");
self.tag_origin playloopsound("elec_loop");
self thread play_electrical_sound();

wait(25);

self.tag_origin stoploopsound();

self.tag_origin delete();
notify_ent notify("elec_done");
level notify ("arc_done");
}

play_electrical_sound()
{
level endon ("arc_done");
while(1)
{
wait(randomfloatrange(0.1, 0.5));
playsoundatposition("elec_arc", self.origin);
}


}

elec_barrier_damage()
{
while(1)
{
self waittill("trigger",ent);

//player is standing electricity, dumbass
if(isplayer(ent) )
{
ent thread player_elec_damage();
}
else
{
if(!isDefined(ent.marked_for_death))
{
ent.marked_for_death = true;
ent thread zombie_elec_death( randomint(100) );
}
}
}
}

play_elec_vocals()
{
if(IsDefined (self))
{
org = self.origin;
wait(0.15);
playsoundatposition("elec_vocals", org);
playsoundatposition("zombie_arc", org);
playsoundatposition("exp_jib_zombie", org);
}
}

player_elec_damage()
{
self endon("death");
self endon("disconnect");

if(!IsDefined (level.elec_loop))
{
level.elec_loop = 0;
}

if( !isDefined(self.is_burning) && !self maps\_laststand::player_is_in_laststand() )
{
self.is_burning = 1;
self setelectrified(1.25);
shocktime = 2.5;
//Changed Shellshock to Electrocution so we can have different bus volumes.
self shellshock("electrocution", shocktime);

if(level.elec_loop == 0)
{
elec_loop = 1;
self playloopsound ("electrocution");
self playsound("zombie_arc");
}
if(!self hasperk("specialty_armorvest") || self.health - 100 < 1)
{

radiusdamage(self.origin,10,self.health + 100,self.health + 100);
self.is_burning = undefined;
}
else
{
self dodamage(50, self.origin);
wait(.1);
self playsound("zombie_arc");
self.is_burning = undefined;
}
}
}

zombie_elec_death(flame_chance)
{
self endon("death");

//10% chance the zombie will burn, a max of 6 burning zombs can be goign at once
//otherwise the zombie just gibs and dies
if(flame_chance > 90 && level.burning_zombies.size < 6)
{
level.burning_zombies[level.burning_zombies.size] = self;
self thread zombie_flame_watch();
self playsound("ignite");
self thread animscripts\death::flame_death_fx();
wait(randomfloat(1.25));
}
else
{

refs[0] = "guts";
refs[1] = "right_arm";
refs[2] = "left_arm";
refs[3] = "right_leg";
refs[4] = "left_leg";
refs[5] = "no_legs";
refs[6] = "head";
self.a.gib_ref = refs[randomint(refs.size)];

playsoundatposition("zombie_arc", self.origin);
if( !self enemy_is_dog() && randomint(100) > 50 )
{
self thread electroctute_death_fx();
self thread play_elec_vocals();
}
wait(randomfloat(1.25));
self playsound("zombie_arc");
}

self dodamage(self.health + 666, self.origin);
iprintlnbold("should be damaged");
}

zombie_flame_watch()
{
self waittill("death");
self stoploopsound();
level.burning_zombies = array_remove_nokeys(level.burning_zombies,self);
}

zapper_light_red( lightname )
{
zapper_lights = getentarray( lightname, "targetname");
for(i=0;i<zapper_lights.size;i++)
{
zapper_lights[i] setmodel("zombie_zapper_cagelight_red");

if(isDefined(zapper_lights[i].fx))
{
zapper_lights[i].fx delete();
}

zapper_lights[i].fx = maps\_zombiemode_net::network_safe_spawn( "trap_light_red", 2, "script_model", zapper_lights[i].origin );
zapper_lights[i].fx setmodel("tag_origin");
zapper_lights[i].fx.angles = zapper_lights[i].angles+(-90,0,0);
playfxontag(level._effect["zapper_light_notready"],zapper_lights[i].fx,"tag_origin");
}
}

zapper_light_green( lightname )
{
zapper_lights = getentarray( lightname, "targetname");
for(i=0;i<zapper_lights.size;i++)
{
zapper_lights[i] setmodel("zombie_zapper_cagelight_green");

if(isDefined(zapper_lights[i].fx))
{
zapper_lights[i].fx delete();
}

zapper_lights[i].fx = maps\_zombiemode_net::network_safe_spawn( "trap_light_green", 2, "script_model", zapper_lights[i].origin );
zapper_lights[i].fx setmodel("tag_origin");
zapper_lights[i].fx.angles = zapper_lights[i].angles+(-90,0,0);
playfxontag(level._effect["zapper_light_ready"],zapper_lights[i].fx,"tag_origin");
}
}

electroctute_death_fx()
{
self endon( "death" );

if (isdefined(self.is_electrocuted) && self.is_electrocuted )
{
return;
}

self.is_electrocuted = true;

self thread electrocute_timeout();

// JamesS - this will darken the burning body
self StartTanning();

if(self.team == "axis")
{
level.bcOnFireTime = gettime();
level.bcOnFireOrg = self.origin;
}

PlayFxOnTag( level._effect["elec_torso"], self, "J_SpineLower" );
self playsound ("elec_jib_zombie");
wait 1;

tagArray = [];
tagArray[0] = "J_Elbow_LE";
tagArray[1] = "J_Elbow_RI";
tagArray[2] = "J_Knee_RI";
tagArray[3] = "J_Knee_LE";
tagArray = array_randomize( tagArray );

PlayFxOnTag( level._effect["elec_md"], self, tagArray[0] );
self playsound ("elec_jib_zombie");

wait 1;
self playsound ("elec_jib_zombie");

tagArray[0] = "J_Wrist_RI";
tagArray[1] = "J_Wrist_LE";
if( !IsDefined( self.a.gib_ref ) || self.a.gib_ref != "no_legs" )
{
tagArray[2] = "J_Ankle_RI";
tagArray[3] = "J_Ankle_LE";
}
tagArray = array_randomize( tagArray );

PlayFxOnTag( level._effect["elec_sm"], self, tagArray[0] );
PlayFxOnTag( level._effect["elec_sm"], self, tagArray[1] );
}

electrocute_timeout()
{
self endon ("death");
self playloopsound("fire_manager_0");
// about the length of the flame fx
wait 12;
self stoploopsound();
if (isdefined(self) && isalive(self))
{
self.is_electrocuted = false;
self notify ("stop_flame_damage");
}
}

/***********************************************************************
    ELECTRIC SWITCH STUFF
***********************************************************************/

power_electric_switch()
{
trig = getent("use_power_switch","targetname");
master_switch = getent("power_switch","targetname");
master_switch notsolid();
trig sethintstring(&"ZOMBIE_ELECTRIC_SWITCH");

cheat = false;

/#
if( GetDvarInt( "zombie_cheat" ) >= 3 )
{
wait( 5 );
cheat = true;
}
#/

user = undefined;
if ( cheat != true )
{
trig waittill("trigger",user);
}

master_switch rotateroll(-90,.3);

//TO DO (TUEY) - kick off a 'switch' on client script here that operates similiarly to Berlin2 subway.
master_switch playsound("switch_flip");

power_electric_switch_on();

playfx(level._effect["switch_sparks"] ,getstruct("power_switch_fx","targetname").origin);

trig delete();
}

power_electric_switch_on()
{
flag_set( "electricity_on" );
wait_network_frame();
clientnotify( "revive_on" );
wait_network_frame();
clientnotify( "fast_reload_on" );
wait_network_frame();
clientnotify( "doubletap_on" );
wait_network_frame();
clientnotify( "jugger_on" );
wait_network_frame();
level notify( "sleight_on" );
wait_network_frame();
level notify( "revive_on" );
wait_network_frame();
level notify( "doubletap_on" );
wait_network_frame();
level notify( "juggernog_on" );
wait_network_frame();
level notify( "Pack_A_Punch_on" );
wait_network_frame();
level notify( "specialty_armorvest_power_on" );
wait_network_frame();
level notify( "specialty_rof_power_on" );
wait_network_frame();
level notify( "specialty_quickrevive_power_on" );
wait_network_frame();
level notify( "specialty_fastreload_power_on" );
wait_network_frame();

ClientNotify( "pl1" ); // power lights on
exploder(600);

// Don't want east or west to spawn when in south zone, but vice versa is okay
//maps\_zombiemode_zone_manager::connect_zones( "outside_east_zone", "outside_south_zone" );
//maps\_zombiemode_zone_manager::connect_zones( "outside_west_zone", "outside_south_zone", true );
}

/***********************************************************************
    BRIDGE STUFF
***********************************************************************/

bridge_init()
{
flag_init( "bridge_down" );
// raise bridge
wnuen_bridge = getent( "wnuen_bridge", "targetname" );
wnuen_bridge_coils = GetEntArray( "wnuen_bridge_coils", "targetname" );
for ( i=0; i<wnuen_bridge_coils.size; i++ )
{
wnuen_bridge_coils[i] LinkTo( wnuen_bridge );
}
wnuen_bridge rotatepitch( 90, 1, .5, .5 );

warehouse_bridge = getent( "warehouse_bridge", "targetname" );
warehouse_bridge_coils = GetEntArray( "warehouse_bridge_coils", "targetname" );
for ( i=0; i<warehouse_bridge_coils.size; i++ )
{
warehouse_bridge_coils[i] LinkTo( warehouse_bridge );
}
warehouse_bridge rotatepitch( -90, 1, .5, .5 );

bridge_audio = getent( "bridge_audio", "targetname" );

// wait for power
flag_wait( "electricity_on" );

// lower bridge
wnuen_bridge rotatepitch( -90, 4, .5, 1.5 );
warehouse_bridge rotatepitch( 90, 4, .5, 1.5 );

if(isdefined( bridge_audio ) )
playsoundatposition( "bridge_lower", bridge_audio.origin );

wnuen_bridge connectpaths();
warehouse_bridge connectpaths();

exploder( 500 );

// wait until the bridges are down.
wnuen_bridge waittill( "rotatedone" );

flag_set( "bridge_down" );
if(isdefined( bridge_audio ) )
playsoundatposition( "bridge_hit", bridge_audio.origin );

wnuen_bridge_clip = getent( "wnuen_bridge_clip", "targetname" );
wnuen_bridge_clip delete();

warehouse_bridge_clip = getent( "warehouse_bridge_clip", "targetname" );
warehouse_bridge_clip delete();

//maps\_zombiemode_zone_manager::connect_zones( "wnuen_bridge_zone", "bridge_zone" );
//maps\_zombiemode_zone_manager::connect_zones( "warehouse_top_zone", "bridge_zone" );
}

jump_from_bridge()
{
trig = GetEnt( "trig_outside_south_zone", "targetname" );

if( isDefined( trig ) )
{
trig waittill( "trigger" );
}

//maps\_zombiemode_zone_manager::connect_zones( "outside_south_zone", "bridge_zone", true );
//maps\_zombiemode_zone_manager::connect_zones( "outside_south_zone", "wnuen_bridge_zone", true );
}

/***********************************************************************
    AUDIO STUFF
***********************************************************************/

perkMachineRattles()
{
// Check under the machines for change
trigs = GetEntArray( "audio_bump_trigger", "targetname" );

for ( i=0; i<trigs.size; i++ )
{
if ( IsDefined(trigs[i].script_sound) && trigs[i].script_sound == "perks_rattle" )
{
trigs[i] thread check_for_change();
}
}
}

mapStartAudio()
{
players = get_players();

for( i = 0; i < players.size; i++ )
{
players[i] thread player_killstreak_timer();
players[i] thread player_zombie_awareness();
}

players[randomint(players.size)] thread level_start_vox(); //Plays a "Power's Out" Message from a random player at start
}

player_zombie_awareness()
{
self endon("disconnect");
self endon("death");
players = getplayers();
index = maps\_zombiemode_weapons::get_player_index(self);
while(1)
{
wait(1);
//zombie = get_closest_ai(self.origin,"axis");

zombs = getaiarray("axis");
for(i=0;i<zombs.size;i++)
{
if(DistanceSquared(zombs[i].origin, self.origin) < 200 * 200)
{
if(!isDefined(zombs[i]))
{
continue;
}

dist = 200;
switch(zombs[i].zombie_move_speed)
{
case "walk": dist = 200;break;
case "run": dist = 250; break;
case "sprint": dist = 275;break;
}
if(distance2d(zombs[i].origin,self.origin) < dist)
{
yaw = self animscripts\utility::GetYawToSpot(zombs[i].origin );
//check to see if he's actually behind the player
if(yaw < -95 || yaw > 95)
{
zombs[i] playsound ("behind_vocals");
}
}
}
}
if(players.size > 1)
{
//Plays 'teamwork' style dialog if there are more than 1 player...
close_zombs = 0;
for(i=0;i<zombs.size;i++)
{
if(DistanceSquared(zombs[i].origin, self.origin) < 250 * 250)
{
close_zombs ++;
}
}
if(close_zombs > 4)
{
if(randomintrange(0,20) < 5)
{
plr = "plr_" + index + "_";
self thread create_and_play_dialog( plr, "vox_oh_shit", .25, "resp_ohshit" );
}
}
}
}
}

level_start_vox()
{
index = maps\_zombiemode_weapons::get_player_index( self );
plr = "plr_" + index + "_";
wait( 6 );
self thread create_and_play_dialog( plr, "vox_level_start", 0.25 );
}

check_for_change()
{
while (1)
{
self waittill( "trigger", player );

if ( player GetStance() == "prone" )
{
player maps\_zombiemode_score::add_to_player_score( 25 );
play_sound_at_pos( "purchase", player.origin );
break;
}
}
}

/***********************************************************************
    WEAPON STUFF
***********************************************************************/



magic_box_init()
{
level.open_chest_location = [];

for( x = 0 ; x < level.DLC3.PandoraBoxes.size ; x++ )
{
level.open_chest_location[ x ] = level.DLC3.PandoraBoxes[ x ];
}
}

factory_ray_gun_weighting_func()
{
if( level.box_moved == true )
{
num_to_add = 1;
// increase the percentage of ray gun
if( isDefined( level.pulls_since_last_ray_gun ) )
{
// after 12 pulls the ray gun percentage increases to 15%
if( level.pulls_since_last_ray_gun > 11 )
{
num_to_add += int(level.zombie_include_weapons.size*0.1);
}
// after 8 pulls the Ray Gun percentage increases to 10%
else if( level.pulls_since_last_ray_gun > 7 )
{
num_to_add += int(.05 * level.zombie_include_weapons.size);
}
}
return num_to_add;
}
else
{
return 0;
}
}

factory_cymbal_monkey_weighting_func()
{
players = get_players();
count = 0;
for( i = 0; i < players.size; i++ )
{
if( players[i] maps\_zombiemode_weapons::has_weapon_or_upgrade( "zombie_cymbal_monkey" ) )
{
count++;
}
}
if ( count > 0 )
{
return 1;
}
else
{
if( level.round_number < 10 )
{
return 3;
}
else
{
return 5;
}
}
}

/***********************************************************************
    ZOMBIE STUFF
***********************************************************************/

#using_animtree( "zombie_factory" );
script_anims_init()
{
level.scr_anim[ "half_gate" ] = %o_zombie_lattice_gate_half;
level.scr_anim[ "full_gate" ] = %o_zombie_lattice_gate_full;
level.scr_anim[ "difference_engine" ] = %o_zombie_difference_engine_ani;

level.blocker_anim_func = ::factory_playanim;
}

factory_playanim( animname )
{
self UseAnimTree(#animtree);
self animscripted("door_anim", self.origin, self.angles, level.scr_anim[animname] );
}

lock_additional_player_spawner()
{

spawn_points = getentarray("player_respawn_point", "targetname");
for( i = 0; i < spawn_points.size; i++ )
{

spawn_points[i].locked = true;
}
}

#using_animtree( "generic_human" );
anim_override_func()
{
level._zombie_melee[0] = %ai_zombie_attack_forward_v1;
level._zombie_melee[1] = %ai_zombie_attack_forward_v2;
level._zombie_melee[2] = %ai_zombie_attack_v1;
level._zombie_melee[3] = %ai_zombie_attack_v2;
level._zombie_melee[4] = %ai_zombie_attack_v1;
level._zombie_melee[5] = %ai_zombie_attack_v4;
level._zombie_melee[6] = %ai_zombie_attack_v6;

level._zombie_run_melee[0] = %ai_zombie_run_attack_v1;
level._zombie_run_melee[1] = %ai_zombie_run_attack_v2;
level._zombie_run_melee[2] = %ai_zombie_run_attack_v3;

level.scr_anim["zombie"]["run4"] = %ai_zombie_run_v2;
level.scr_anim["zombie"]["run5"] = %ai_zombie_run_v4;
level.scr_anim["zombie"]["run6"] = %ai_zombie_run_v3;

level.scr_anim["zombie"]["walk5"] = %ai_zombie_walk_v6;
level.scr_anim["zombie"]["walk6"] = %ai_zombie_walk_v7;
level.scr_anim["zombie"]["walk7"] = %ai_zombie_walk_v8;
level.scr_anim["zombie"]["walk8"] = %ai_zombie_walk_v9;
}

/***********************************************************************
    HELP CENTER STUFF
***********************************************************************/

modderHelp( Entity, Msg )
{
// Developer Needs To Be Set To 1
if( getDvarInt( "developer" ) >= 1 )
{
// Title
if( !isDefined( level.modderHelpText[ 0 ] ) )
{
level.modderHelpText[ 0 ] = modderHelpHUD_CreateText( "^2Nazi Zombie DLC3 Help Center" );
}

// Check If Entity Exists Or Forced Error Msg
if( !isDefined( Entity ) )
{
// Check If Error Msg Exists
if( !isDefined( Msg ) )
{
return false;
}

// Let Modder Know What's Wrong And How To Fix
level.modderHelpText[ level.modderHelpText.size ] = modderHelpHUD_CreateText( "^1   -" + Msg );

return true; // Return That There Was Something Wrong
}
}

return false;
}

modderHelpHUD_CreateText( Msg )
{
temp_modderHelpHUD = newHudElem();
temp_modderHelpHUD.x = 0;
temp_modderHelpHUD.y = level.modderHelpText.size * 20;
temp_modderHelpHUD.alignX = "left";
temp_modderHelpHUD.alignY = "top";
temp_modderHelpHUD.horzAlign = "left";
temp_modderHelpHUD.vertAlign = "top";
temp_modderHelpHUD.sort = 1;
temp_modderHelpHUD.foreground = true;
temp_modderHelpHUD.fontScale = 1.25;
temp_modderHelpHUD SetText( Msg );
temp_modderHelpHUD.alpha = 0;
temp_modderHelpHUD FadeOverTime( 1.2 );
temp_modderHelpHUD.alpha = 1;

return temp_modderHelpHUD;
}

/***********************************************************************
    MISC STUFF
***********************************************************************/

player_Snow()
{
players = get_players();
array_thread( players, ::_player_Snow );
}

_player_Snow()
{
self endon("death");
self endon("disconnect");

for (;;)
{
playfx ( level._effect["snow_thick"], self.origin + (0,0,0));
wait (0.2);
}
}

extra_events()
{
self UseTriggerRequireLookAt();
self SetCursorHint( "HINT_NOICON" );
self waittill( "trigger" );

targ = GetEnt( self.target, "targetname" );
if ( IsDefined(targ) )
{
targ MoveZ( -10, 5 );
}
}

#using_animtree( "generic_human" );
force_zombie_crawler()
{
if( !IsDefined( self ) )
{
return;
}

if( !self.gibbed )
{
refs = [];

refs[refs.size] = "no_legs";

if( refs.size )
{
self.a.gib_ref = animscripts\death::get_random( refs );

// Don't stand if a leg is gone
self.has_legs = false;
self AllowedStances( "crouch" );
<br
9 years ago
Hey everyone Since im still having issues with Hobo 1.1 I decided to post some pics of another map in progress.
This is a map for Tomikaze, and was suppose to be for his website Zommods as an exclusive but it has changed to just another map for everyone.

(Story and features will be added later)

I will try and update it when I can. Here are some pics of the starting area. Enjoy.


Spoiler: click to open...






(11-20-14) 3 new pics








Hope they don't disappoint. All areas are being worked on still, just thought I would update.


9 years ago
                                                   

                                                                         
                                        DOWNLOAD: https://mega.co.nz/#!h4hjnIYA!RRF37ikxnWLUZcQH-knvrThydg0mqRZbc_c7mGSPcVI
                                           
                                 (MediaFire If mega fails):  http://www.mediafire.com/download/gp6622ela7du8d1/nazi_zombie_hobo_vil.exe

(Final Trailer) Recorded/edited/and produced By RetroToNewageGaming Check out his YouTube:
http://youtu.be/TODPL3nn0So


Story: Agent Smith, the sewers of a nearby town have experienced many casualties in the fight against the undead. Many have tried and failed in this mission and we understand if you turn it down. Your mission should you choose to accept it is to infiltrate a village underground ridden with infested parasites and many infected. Clear the tunnels and make it safe for travel! Another team has been dispached to the oppisite side and will meet you in the tunnel on the other side of the parking garage. If they survive.

Opportunities will be provided for you to assist in your mission. The first will be the aid from weapon drops that are placed for you convenience. BE CAUTIOUS!! AREAS HAVE BEEN QUARANTINED AND WILL HAVE TO BE REMOVED TO COMPLETE THIS MISSION.

Second, we wish you the best of luck..... your going to need it.
 We have assembled your regular team for you and they are waiting to assist you in any capacity necessary.

   
   Agent Bishop- Documents specialist
   Agent Dozsa- Secret service specialist
        Agent Licht- explosive specialist


 You have been warned. Many have died in this mission...
 
(Origianlly wanted the prototype voices since the story wasnt the heros. But It gave me runtime errors.)

Some features:
BO1 and BO2 weapons / including BO2 grenades
BO1 and BO2 Zombies
Custom sounds
Custom main menu music
Loads of edited effects
Teleporters
Custom weapon skins
Hazmat Player models from BO2
8-perks
soul chest (thanks to Bluntstuffy) (Also it gives you a RGM2 instead edited by me)
custom weapon crates
Custom HUD (thanks to  InFInIX and Swazzy)


WEAPON LIST:
BO2 claymores
SMG's
PDW (Thanks to Elfenlied for anims and sounds)
MP5
MPL
Chicom  (Thanks to Elfenlied and  Porkroyalz for anims)
MP7 (Thanks to Elfenlied for anims)
Peacekeeper  (Thanks to Elfenlied for anims)
AR's
Enfield
FN-FAL
M14
M27  (Thanks to Elfenlied and  Claytonm456 for anims)
LMG's
Lsat  (Thanks to Elfenlied and   Porkroyalz for anims)
RPD
Special
RGM2 (Thanks to Elfenlied)
Thundergun (Thanks to  Treminaor and UGX-Mods)
Raygun
Shotty's
HS10
Double Barrel Sawed
Pistol's
Fiveseven
KAP-40 (Thanks to Elfenlied and  Claytonm456 for anims)
Python
Sniper R's
Ballista  (Thanks to Elfenlied and Titos for anims)

 



I also want to thank:
Tom-BMX
YaPh1l
Nikolai Belinski
R34P312
bamskater33
JBird632
DuaLVII
ZK
Don Goony
TheGtlad
daedra descent
PROxFTW
zayks
All my beta testers

If i Forgot you Please let me know and I will add you to the list.



                                 

                               


10 years ago
Hey one of my friends is missing a lot of water texture in his radiant. Including dynamic water which is what he wants. Ive tried sending him everything in my files that have to do with dynamic water but his still wont show up? Is he missing a patch file? Or does he have to convert them himself? Or will hitting the converter in launcher fix it?

Just asking and any help will be appreciated, thanks.
10 years ago
Hey guys I just recently had to reinstall waw and mod tools from an error I couldn't fix. I made a back up of my waw folder a week b4 this happened. After the install I added my folders back to the folder. Mostly all my cod4 models had to be re ported which wasn't a problem. Then I got to bo1 and bo2 models and certain  models wont  show up in asset viewer but some do(also the name shows up and the materials)? Like as an example I added the mp5_view and the mp5_world and the world shows but the view doesn't?  Also when I compile it, it gives errors that it can't find the xmodelsurfs lod_0 and I've looked at the surfs and the newest ones I've ported show up in that folder? Also the models that dont show up in asset viewer still show in Toms xmodelutils? Any help would be appreciated.
10 years ago
So ive been busy with this map for sometime now. Just thought I should share some screens with the community.  This map is going to be extremely large and detailed.

(DOWNLOAD LINK:)    http://ugx-mods.com/forum/index.php?topic=3903.msg42141;topicseen#new


BETA CLOSED. :) thank you to the 70 ppl who tested it. :D


 
Story: origianlly wanted the prototype voices since the story wasnt the heros. But It gave me runtime errors from certain things like the bowie and monkeys  and grenades. If someone can help fix it please PM me.

                                                                                                     

   Agent Smith, the sewers of a nearby town have experienced many casualties in the fight against the undead. Many have tried and failed in this mission and we understand if you turn it down. Your mission should you choose to accept it is to infiltrate a village underground ridden with infested parasites and many infected. Clear the tunnels and make it safe for travel! Another team has been dispached to the oppisite side and will meet you in the tunnel on the other side of the parking garage. If they survive.

Opportunities will be provided for you to assist in your mission. The first will be the aid from weapon drops that are placed for you convenience. BE CAUTIOUS!! AREAS HAVE BEEN QUARANTINED AND WILL HAVE TO BE REMOVED TO COMPLETE THIS MISSION.

Second, we wish you the best of luck..... your going to need it.
 We have assembled your regular team for you and they are waiting to assist you in any capacity necessary.

   
   Agent Bishop- Documents specialist
   Agent Dozsa- Secret service specialist
        Agent Licht- explosive specialist


 You have been warned. Many have died in this mission...


Some features:
BO1 and BO2 weapons / including BO2 grenades
BO1 and BO2 Zombies
Custom sounds
Custom main menu music
Loads of edited effects
Teleporters
Custom weapon skins
Hazmat Player models from BO2
8-perks
soul chest (thanks to Bluntstuffy) (Also it gives you a RGM2 instead edited by me)
mortars and satchel charges
custom weapon crates
Custom HUD (thanks to  InFInIX and Swazzy)


WEAPON LIST:
SMG's
PDW (Thanks to Elfenlied for anims and sounds)
MP5
MPL
Chicom  (Thanks to Elfenlied and  Porkroyalz for anims)
MP7 (Thanks to Elfenlied for anims)
Peacekeeper  (Thanks to Elfenlied for anims)
AR's
Enfield
FN-FAL
M14
M27  (Thanks to Elfenlied and  Claytonm456 for anims)
LMG's
Lsat  (Thanks to Elfenlied and   Porkroyalz for anims)
RPD
Special
RGM2 (Thanks to Elfenlied)
Thundergun (Thanks to  Treminaor and UGX-Mods)
Raygun
Shotty's
HS10
Double Barrel Sawed
Pistol's
Fiveseven
KAP-40 (Thanks to Elfenlied and  Claytonm456 for anims)
Python
Sniper R's
Ballista  (Thanks to Elfenlied and Titos for anims)
also BO2 claymores (need help with fx)

maybe more to come...

I also will credit to everyone who helped in the final release. (Cause I have a lot to thank)

Here's a sneak peek.

Spoiler: click to open...


















New images (4/8/14)




















NEW PICS 5-6-14

Spoiler: click to open...















   

https://www.youtube.com/watch?v=rGGM6dHp8vY

(NEW BETA TRAILER) Recorded/edited/and produced By RetroToNewageGaming Check out his YouTube: https://www.youtube.com/user/RetroToNewageGaming

(Weezy428's) Hobo Vil Beta Trailer


Ill try and keep everyone updated when I can. If you have any ideas post em  :)
10 years ago
This map can be downloaded from the UGX Map Manager.



Nacht Der Toten Walder, Final Release trailer

OK so this is my first map and it took a little under a year, so I hope you all enjoy it. Let me know if you find any bugs and/or glitches so I can fix them. Thanks.

Story: Its A dark and Stormy night, the heroes are escaping from what they thought was their worst nightmare, running through the endless woods away from the chaos of  Shi No Numa they come upon a strange bar in the middle of nowhere. Soon they realize the bar is far from safe. They discover after scouting the area more puzzles seem to unfold. Now their mission is to survive this horror in the woods to reach the end of this madness. Can you make it through the night?? Can you survive, Nacht Der Toten Wälder?

I especially want to thank Instakill115 for putting in the time for these bad ass trailers.

Screenshots:

   

What's Included:

Der Riese script 1.4 (large map)
Weather(Thanks to Crackshot,HOGRampage and Cinnober)
Custom Power-ups
Hidden PAP room
Custom AASB weapon skins
Custom AASB treasure box
Pandora box (4 locations)
Tom_Bmx Music player (5 custom songs)(Thanks to Tom_Bmx)
some special  FX's
Custom zombie FX's (With the help from Im The Earth)
No Dogs(thanks to Tome_Bmx, Cinnober)
Shi No Numa and Der Riese Zombies
Quizz's Impact-Nades(Thanks to Quizz)
Buyable ammo(HOGRampage, Cinnober)
Buyable ending(thanks DON GOONY)
Flogger(A must!)(thanks Bookable)
Zipline(A must!)
3 Easter eggs to hidden zones and to complete ending(thanks Activaler)
Lazer trap(Thanks Bamskater33)
Boss zombieHave fun!!(Fixed scripts from YaPh1l thanks alot ,thanks Paragalor)
Special perk machine( thanks TheGtlad, also thanks to OnlineX420 for model)
Couple custom barriers (thanks Rabbit and ArcadeRetro)
Custom menu screen(thanks Rampage_619)
Original custom menu music made by me and my buddy Frodo
Bamskater33's power up machine
BO2 huds (Thanks OnlineX420)
cod4 black view model hands/start with Molotov's (thanks to Nikolai Belinski, Deathclonic,Sajeone)
Also thanks to:
ZM
One man
Baseball4ev
Holty007
Sajeone
Joeybbb
DeadTwice
And thanks to anyone who has helped by tutorials And responding to my problems! dance1
New Fixes for 1.1:

Black ops solo quick revive (Thanks Bamskater33)
boss fixed thanks to YaPh1l
Boss drops new powerup (might get ammo? U might not?) Thanks again to YaPh1l
Easter eggs were made a lot easier to find
Samantha sound added to Easter egg so you know when you hit the item correctly. YaPh1l again
Matching Emblems added to doors.
Many bugs were fixed and clips (including lazer trap)
Wonderwaffa/jugg problem (fixed)
pap lazers were removed (something messed them up)
Some door are lower in price
Some new Zombie spawn zones
Trems bank added, thanks to treminaor.

Again Thanks to everyone who has had fun with this map i hope you enjoy 1.1 and im sorry it took so log to come out with this new version.

Thanks to my alpha and beta testers:
Vindiactor422
cnote427
AlDogg428
Earth
AlPacino8
Nikolai Belinski
MrQuiggles42
JWofles
and to anyone else i did not mention i apologize i drink and smoke too much to remember a years worth of testers but thanks a shit load, you know who u are.
10 years ago
I dont know why I didnt sign up sooner, love the website!! names Weezy428 and im glad to be apart of the ugx family.  ;D
12 years ago
Loading ...