Posts
1
Respect
Forum Rank
Fresh Corpse
Primary Group
Member
Login Issues
Forgot password?Activate Issues
Account activation email not received? Wrong account activation email used?Other Problems?
Contact Support - Help Center Get help on the UGX Discord. Join it now!#using scripts\codescripts\struct;
#using scripts\wardog\wardog_addon;
#using scripts\wardog\wardog_callback;
#using scripts\wardog\perk\_wardog_perk_hud;
#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_banana_colada;
#using scripts\zm\_zm_perk_crusaders_ale;
#using scripts\zm\_zm_perk_madgaz_moonshine;
#using scripts\zm\_zm_perk_bull_ice_blast;
#using scripts\zm\_zm_perk_wunderfizz2;
#using scripts\zm\_zm_perk_electric_cherry;
#using scripts\zm\_zm_perk_widows_wine;
#using scripts\wardog\perk\_wardog_perk_phd;
#using scripts\wardog\perk\_wardog_perk_tombstone;
#using scripts\wardog\perk\_wardog_perk_vulture;
#using scripts\zm\_zm_perk_chugabud;
//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;
//*****************************************************************************
// MAIN
//*****************************************************************************
function main()
{
wardog_addon::pre_init();
zm_usermap::main();
wardog_addon::init();
level.register_offhand_weapons_for_level_defaults_override = &offhand_weapon_overrride;
level._zombie_custom_add_weapons = &custom_add_weapons;
level.giveCustomCharacters = &giveCustomCharacters;
level._chugabud_post_respawn_override_func = &chugabud_post_respawn_func;
//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 );
wardog_addon::post_init()
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 offhand_weapon_overrride()
{
level.zombie_lethal_grenade_player_init = GetWeapon("frag_grenade");
level.zombie_melee_weapon_player_init = level.weaponBaseMelee;
level.zombie_equipment_player_init = undefined;
zm_utility::register_lethal_grenade_for_level("frag_grenade");
zm_utility::register_melee_weapon_for_level(level.weaponBaseMelee.name);
zm_utility::register_tactical_grenade_for_level("cymbal_monkey");
zm_utility::register_tactical_grenade_for_level("octobomb");
}
function giveCustomCharacters()
{
if(isdefined(level.hotjoin_player_setup) && [[level.hotjoin_player_setup]]("c_zom_farmgirl_viewhands" ))
return;
self DetachAll();
if(!isdefined(self.characterIndex))
self.characterIndex = zm_usermap::assign_lowest_unused_character_index();
self.favorite_wall_weapons_list = [];
self.talks_in_danger = false;
self SetCharacterBodyType(self.characterIndex);
self SetCharacterBodyStyle(0);
self SetCharacterHelmetStyle(0);
switch(self.characterIndex)
{
case 0:
self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = GetWeapon("frag_grenade");
self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = GetWeapon("bouncingbetty");
self.whos_who_shader = "c_zom_der_dempsey_mpc_fb";
break;
case 1:
self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = GetWeapon("870mcs");
self.whos_who_shader = "c_zom_der_nikolai_mpc_fb";
break;
case 3:
self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size] = GetWeapon("hk416");
self.whos_who_shader = "c_zom_der_takeo_mpc_fb";
break;
case 2:
self.talks_in_danger = true;
level.rich_sq_player = self;
level.sndRadioA = self;
self.favorite_wall_weapons_list[self.favorite_wall_weapons_list.size ] = GetWeapon("pistol_standard");
self.whos_who_shader = "c_zom_der_richtofen_mpc_fb";
break;
}
self SetMoveSpeedScale(1);
self SetSprintDuration(4);
self SetSprintCooldown(0);
self thread zm_usermap::set_exert_id();
}
function chugabud_post_respawn_func( v_new_player_position )
{
weapon_powerup_array = [];
keys = GetArrayKeys(level.zombie_powerups);
for(i = 0; i < keys.size; i++)
{
if(isdefined(level._custom_powerups) && isdefined(level._custom_powerups[keys[i]]) && isdefined(level._custom_powerups[keys[i]].weapon_countdown))
weapon_powerup_array[weapon_powerup_array.size] = keys[i];
}
weapon_powerup = undefined;
if(isdefined(self.loadout))
{
for(i = 0; i < self.loadout.weapons.size; i++)
{
for(j = 0; j < weapon_powerup_array.size; j++)
{
if(self.loadout.weapons[i]["weapon"] == level.zombie_powerup_weapon[weapon_powerup_array[j]])
{
weapon_powerup = weapon_powerup_array[j];
break;
}
}
}
}
if(isdefined(weapon_powerup))
{
level thread zm_powerups::weapon_powerup_remove(self, weapon_powerup + "_time_over", weapon_powerup, false);
weapons = [];
index = 0;
for(i = 0; i < self.loadout.weapons.size; i++)
{
if(self.loadout.weapons[i]["weapon"] == level.zombie_powerup_weapon[weapon_powerup])
continue;
weapons[index] = self.loadout.weapons[i];
index++;
}
self.loadout.weapons = weapons;
if(isdefined(self._zombie_weapon_before_powerup) && isdefined(self._zombie_weapon_before_powerup[weapon_powerup]))
{
current_weapon = self._zombie_weapon_before_powerup[weapon_powerup];
for(i = 0; i < self.loadout.weapons.size; i++)
{
if(self.loadout.weapons[i]["weapon"] == current_weapon || self.loadout.weapons[i]["weapon"].altWeapon == current_weapon)
{
self.loadout.current_weapon = i;
break;
}
}
}
}
}