



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!Total Members Voted: 11
// WARDOGSK93 Anim Start
// Electric Cherry
bo2_cherry_stun_0
bo2_cherry_stun_1
bo2_cherry_stun_2
bo2_cherry_stun_3
bo2_cherry_stun_4
// Whos Who Anims
pb_laststand_idle
pb_stand_alert
// WARDOGSK93 Anim End
/********************WARDOGSK93 PERK CODE********************/
if(maps\wardog\_wardog_util::is_coop_game() && self maps\wardog\perks\_wardog_perks_util::has_perk("tomb"))
self thread maps\wardog\perks\_wardog_perks_bo2::tombstone_spawn();
/********************WARDOGSK93 PERK CODE********************/
/********************WARDOGSK93 PERK CODE********************/
if(self maps\wardog\perks\_wardog_perks_util::has_perk("cherry"))
self thread maps\wardog\perks\_wardog_perks_bo2::electric_cherry_laststand();
if(self maps\wardog\perks\_wardog_perks_util::has_perk("whos"))
{
self thread maps\wardog\perks\_wardog_perks_bo2::chugabud_laststand();
return;
}
/********************WARDOGSK93 PERK CODE********************/
if( level.intermission )
{
level waittill( "forever" );
}
self.intermission = true;
self thread maps\_laststand::PlayerLastStand( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime );
self player_fake_death();
if( count == players.size )
{
level notify( "end_game" );
}
else
{
self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime );
}
/********************WARDOGSK93 PERK CODE********************/
self.intermission = true;
self thread maps\_laststand::PlayerLastStand(eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime);
if(maps\wardog\_wardog_util::is_solo_game() && self maps\wardog\perks\_wardog_perks_util::has_perk("revive"))
{
self thread maps\wardog\perks\_wardog_perks_waw::revive_solo_revive_think();
return;
}
else
self player_fake_death();
if(count == players.size)
level notify("end_game");
else
self maps\_callbackglobal::finishPlayerDamageWrapper(eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime);
/********************WARDOGSK93 PERK CODE********************/
if ( revive_success )
{
self thread revive_success( reviver );
return;
}
/********************WARDOGSK93 PERK CODE********************/
if(revive_success)
{
if(IsPlayer(self))
self thread revive_success(reviver);
else
self notify("player_revived", reviver);
return;
}
/********************WARDOGSK93 PERK CODE********************/
/********************WARDOGSK93 PERK CODE********************/
auto_revive(reviver, dont_enable_weapons)
{
self.revivetrigger.auto_revive = true;
if(self.revivetrigger.beingRevived == 1)
{
for(;;)
{
if(self.revivetrigger.beingRevived == 0)
break;
wait_network_frame();
}
}
self notify("player_revived", self);
self RevivePlayer();
self.revives++;
self.stats["revives"] = self.revives;
self thread maps\_arcademode::arcadeMode_player_revive();
if(IsDefined(level.missionCallbacks))
{
maps\_challenges_coop::doMissionCallback("playerRevived", self);
}
setClientSysState("lsm", "0", self);
self.revivetrigger Delete();
self.revivetrigger = undefined;
if(!IsDefined(dont_enable_weapons) || !dont_enable_weapons)
{
self laststand_giveback_player_weapons();
}
self.ignoreme = false;
self thread maps\_laststand::say_revived_vo();
}
/********************WARDOGSK93 PERK CODE********************/
/********************WARDOGSK93 PERK CODE********************/
if(self maps\wardog\perks\_wardog_perks_util::has_perk("phd") && (sMeansOfDeath == "MOD_GRENADE_SPLASH" || sMeansOfDeath == "MOD_GRENADE" || sMeansOfDeath == "MOD_EXPLOSIVE" || sMeansOfDeath == "MOD_PROJECTILE" || sMeansOfDeath == "MOD_PROJECTILE_SPLASH" || sMeansOfDeath == "MOD_BURNED" || sMeansOfDeath == "MOD_FALLING"))
{
health = self.health;
self RevivePlayer();
self.health = health;
if(self maps\wardog\perks\_wardog_perks_util::has_perk("jugg"))
self maps\wardog\_wardog_callback::callback("give_perk", "jugg");
else
{
self.maxhealth = 100;
if(self.health > 100)
self.health = 100;
}
return;
}
/********************WARDOGSK93 PERK CODE********************/
/********************WARDOGSK93 PERK CODE********************/
treasure_chest_give_weapon(weapon)
{
self maps\wardog\perks\_wardog_perks_bo1::mule_weapon_give(weapon, true);
}
/********************WARDOGSK93 PERK CODE********************/
/********************WARDOGSK93 PERK CODE********************/
weapon_give(weapon, is_upgrade)
{
self maps\wardog\perks\_wardog_perks_bo1::mule_weapon_give(weapon, false);
}
/********************WARDOGSK93 PERK CODE********************/
tesla_pvp_thread()
{
self endon( "disconnect" );
self endon( "death" );
self waittill( "spawned_player" );
for( ;; )
{
self waittill( "weapon_pvp_attack", attacker, weapon, damage, mod );
if( self maps\_laststand::player_is_in_laststand() )
{
continue;
}
if ( weapon != "tesla_gun" && weapon != "tesla_gun_upgraded" )
{
continue;
}
if ( mod != "MOD_PROJECTILE" && mod != "MOD_PROJECTILE_SPLASH" )
{
continue;
}
self shellshock( "electrocution", 1.0 );
self playsound( "tesla_bounce" );
}
}
/********************WARDOGSK93 PERK CODE********************/
self maps\wardog\_wardog_callback::callback("on_zombie_spawned");
/********************WARDOGSK93 PERK CODE********************/
/********************WARDOGSK93 PERK CODE********************/
powerup thread maps\wardog\perks\_wardog_perks_bo2::vulture_powerup_glow();
/********************WARDOGSK93 PERK CODE********************/
#include maps\_utility;
#include common_scripts\utility;
#include maps\_zombiemode_utility;
pre_init()
{
PrecacheItem("zombie_knuckle_crack");
PrecacheModel("zombie_vending_packapunch_on");
PrecacheString(&"ZOMBIE_PERK_PACKAPUNCH");
level._effect["packapunch_fx"] = LoadFX("maps/zombie/fx_zombie_packapunch");
level.packa_jingle = 0;
set_zombie_var("zombie_perk_cost", 2000);
set_zombie_var("zombie_perk_juggernaut_health", 160);
}
init()
{
vending_upgrade_trigger = GetEntArray("zombie_vending_upgrade", "targetname");
if(vending_upgrade_trigger.size >= 1)
array_thread(vending_upgrade_trigger, ::vending_upgrade);
if(!IsDefined(level.packapunch_timeout))
level.packapunch_timeout = 15;
level thread turn_PackAPunch_on();
level thread machine_watcher();
}
third_person_weapon_upgrade( current_weapon, origin, angles, packa_rollers, perk_machine )
{
forward = anglesToForward( angles );
interact_pos = origin + (forward*-25);
worldgun = spawn( "script_model", interact_pos );
worldgun.angles = self.angles;
worldgun setModel( GetWeaponModel( current_weapon ) );
PlayFx( level._effect["packapunch_fx"], origin+(0,1,-34), forward );
worldgun rotateto( angles+(0,90,0), 0.35, 0, 0 );
wait( 0.5 );
worldgun moveto( origin, 0.5, 0, 0 );
packa_rollers playsound( "packa_weap_upgrade" );
if( isDefined( perk_machine.wait_flag ) )
{
perk_machine.wait_flag rotateto( perk_machine.wait_flag.angles+(179, 0, 0), 0.25, 0, 0 );
}
wait( 0.35 );
worldgun delete();
wait( 3 );
packa_rollers playsound( "packa_weap_ready" );
worldgun = spawn( "script_model", origin );
worldgun.angles = angles+(0,90,0);
worldgun setModel( GetWeaponModel( current_weapon+"_upgraded" ) );
worldgun moveto( interact_pos, 0.5, 0, 0 );
if( isDefined( perk_machine.wait_flag ) )
{
perk_machine.wait_flag rotateto( perk_machine.wait_flag.angles-(179, 0, 0), 0.25, 0, 0 );
}
wait( 0.5 );
worldgun moveto( origin, level.packapunch_timeout, 0, 0);
return worldgun;
}
vending_upgrade()
{
perk_machine = GetEnt( self.target, "targetname" );
if( isDefined( perk_machine.target ) )
{
perk_machine.wait_flag = GetEnt( perk_machine.target, "targetname" );
}
self UseTriggerRequireLookAt();
self SetHintString( &"ZOMBIE_FLAMES_UNAVAILABLE" );
self SetCursorHint( "HINT_NOICON" );
level waittill("Pack_A_Punch_on");
self thread maps\_zombiemode_weapons::decide_hide_show_hint();
packa_rollers = spawn("script_origin", self.origin);
packa_timer = spawn("script_origin", self.origin);
packa_rollers playloopsound("packa_rollers_loop");
self SetHintString( &"ZOMBIE_PERK_PACKAPUNCH" );
cost = level.zombie_vars["zombie_perk_cost"];
for( ;; )
{
self waittill( "trigger", player );
index = maps\_zombiemode_weapons::get_player_index(player);
cost = 5000;
plr = "plr_" + index + "_";
if( !player maps\_zombiemode_weapons::can_buy_weapon() )
{
wait( 0.1 );
continue;
}
if (player maps\_laststand::player_is_in_laststand() )
{
wait( 0.1 );
continue;
}
if( player isThrowingGrenade() )
{
wait( 0.1 );
continue;
}
if( player isSwitchingWeapons() )
{
wait(0.1);
continue;
}
current_weapon = player getCurrentWeapon();
if( !IsDefined( level.zombie_include_weapons[current_weapon] ) || !IsDefined( level.zombie_include_weapons[current_weapon + "_upgraded"] ) )
{
continue;
}
if ( player.score < cost )
{
//player iprintln( "Not enough points to buy Perk: " + perk );
self playsound("deny");
player thread play_no_money_perk_dialog();
continue;
}
player maps\_zombiemode_score::minus_to_player_score( cost );
self achievement_notify("perk_used");
sound = "bottle_dispense3d";
playsoundatposition(sound, self.origin);
rand = randomintrange(1,100);
if( rand <= 8 )
{
player thread play_packa_wait_dialog(plr);
}
self thread play_vendor_stings("mx_packa_sting");
origin = self.origin;
angles = self.angles;
if( isDefined(perk_machine))
{
origin = perk_machine.origin+(0,0,35);
angles = perk_machine.angles+(0,90,0);
}
self disable_trigger();
player thread do_knuckle_crack();
// Remember what weapon we have. This is needed to check unique weapon counts.
self.current_weapon = current_weapon;
weaponmodel = player third_person_weapon_upgrade( current_weapon, origin, angles, packa_rollers, perk_machine );
self enable_trigger();
self SetHintString( &"ZOMBIE_GET_UPGRADED" );
self setvisibletoplayer( player );
self thread wait_for_player_to_take( player, current_weapon, packa_timer );
self thread wait_for_timeout( packa_timer );
self waittill_either( "pap_timeout", "pap_taken" );
self.current_weapon = "";
weaponmodel delete();
self SetHintString( &"ZOMBIE_PERK_PACKAPUNCH" );
self setvisibletoall();
}
}
wait_for_player_to_take( player, weapon, packa_timer )
{
index = maps\_zombiemode_weapons::get_player_index(player);
plr = "plr_" + index + "_";
self endon( "pap_timeout" );
while( true )
{
packa_timer playloopsound( "ticktock_loop" );
self waittill( "trigger", trigger_player );
packa_timer stoploopsound(.05);
if( trigger_player == player )
{
if( !player maps\_laststand::player_is_in_laststand() )
{
self notify( "pap_taken" );
primaries = player GetWeaponsListPrimaries();
if( isDefined( primaries ) && primaries.size >= 2 )
{
player maps\_zombiemode_weapons::weapon_give( weapon+"_upgraded" );
}
else
{
player GiveWeapon( weapon+"_upgraded" );
player GiveMaxAmmo( weapon+"_upgraded" );
}
player SwitchToWeapon( weapon+"_upgraded" );
player achievement_notify( "DLC3_ZOMBIE_PAP_ONCE" );
player achievement_notify( "DLC3_ZOMBIE_TWO_UPGRADED" );
player thread play_packa_get_dialog(plr);
return;
}
}
wait( 0.05 );
}
}
wait_for_timeout( packa_timer )
{
self endon( "pap_taken" );
wait( level.packapunch_timeout );
self notify( "pap_timeout" );
packa_timer stoploopsound(.05);
packa_timer playsound( "packa_deny" );
}
do_knuckle_crack()
{
gun = self upgrade_knuckle_crack_begin();
self.is_drinking = 1;
self waittill_any( "fake_death", "death", "player_downed", "weapon_change_complete" );
self upgrade_knuckle_crack_end( gun );
self.is_drinking = undefined;
}
upgrade_knuckle_crack_begin()
{
self DisableOffhandWeapons();
self DisableWeaponCycling();
self AllowLean( false );
self AllowAds( false );
self AllowSprint( false );
self AllowProne( false );
self AllowMelee( false );
if ( self GetStance() == "prone" )
{
self SetStance( "crouch" );
}
primaries = self GetWeaponsListPrimaries();
gun = self GetCurrentWeapon();
weapon = "zombie_knuckle_crack";
if ( gun != "none" && gun != "mine_bouncing_betty" )
{
self TakeWeapon( gun );
}
else
{
return;
}
if( primaries.size <= 1 )
{
self GiveWeapon( "zombie_colt" );
}
self GiveWeapon( weapon );
self SwitchToWeapon( weapon );
return gun;
}
upgrade_knuckle_crack_end( gun )
{
assert( gun != "zombie_perk_bottle_doubletap" );
assert( gun != "zombie_perk_bottle_revive" );
assert( gun != "zombie_perk_bottle_jugg" );
assert( gun != "zombie_perk_bottle_sleight" );
assert( gun != "syrette" );
self EnableOffhandWeapons();
self EnableWeaponCycling();
self AllowLean( true );
self AllowAds( true );
self AllowSprint( true );
self AllowProne( true );
self AllowMelee( true );
weapon = "zombie_knuckle_crack";
// TODO: race condition?
if ( self maps\_laststand::player_is_in_laststand() )
{
self TakeWeapon(weapon);
return;
}
self TakeWeapon(weapon);
primaries = self GetWeaponsListPrimaries();
if( isDefined( primaries ) && primaries.size > 0 )
{
self SwitchToWeapon( primaries[0] );
}
else
{
self SwitchToWeapon( "zombie_colt" );
}
}
// PI_CHANGE_BEGIN
// JMA - in order to have multiple Pack-A-Punch machines in a map we're going to have
// to run a thread on each on.
// NOTE: In the .map, you'll have to make sure that each Pack-A-Punch machine has a unique targetname
turn_PackAPunch_on()
{
level waittill("Pack_A_Punch_on");
vending_upgrade_trigger = GetEntArray("zombie_vending_upgrade", "targetname");
for(i=0; i<vending_upgrade_trigger.size; i++ )
{
perk = getent(vending_upgrade_trigger[i].target, "targetname");
if(isDefined(perk))
{
perk thread activate_PackAPunch();
}
}
}
activate_PackAPunch()
{
self setmodel("zombie_vending_packapunch_on");
self playsound("perks_power_on");
self vibrate((0,-100,0), 0.3, 0.4, 3);
/*
self.flag = spawn( "script_model", machine GetTagOrigin( "tag_flag" ) );
self.angles = machine GetTagAngles( "tag_flag" );
self.flag setModel( "zombie_sign_please_wait" );
self.flag linkto( machine );
self.flag.origin = (0, 40, 40);
self.flag.angles = (0, 0, 0);
*/
timer = 0;
duration = 0.05;
level notify( "Carpenter_On" );
}
// PI_CHANGE_END
play_no_money_perk_dialog()
{
index = maps\_zombiemode_weapons::get_player_index(self);
player_index = "plr_" + index + "_";
if(!IsDefined (self.vox_nomoney_perk))
{
num_variants = maps\_zombiemode_spawner::get_number_variants(player_index + "vox_nomoney_perk");
self.vox_nomoney_perk = [];
for(i=0;i<num_variants;i++)
{
self.vox_nomoney_perk[self.vox_nomoney_perk.size] = "vox_nomoney_perk_" + i;
}
self.vox_nomoney_perk_available = self.vox_nomoney_perk;
}
sound_to_play = random(self.vox_nomoney_perk_available);
self.vox_nomoney_perk_available = array_remove(self.vox_nomoney_perk_available,sound_to_play);
if (self.vox_nomoney_perk_available.size < 1 )
{
self.vox_nomoney_perk_available = self.vox_nomoney_perk;
}
self maps\_zombiemode_spawner::do_player_playdialog(player_index, sound_to_play, 0.25);
}
machine_watcher()
{
//PI ESM - support for two level switches for Factory
if (isDefined(level.script) && level.script == "nazi_zombie_factory" || level.script == "nazi_zombie_paris" || level.script == "nazi_zombie_coast")
{
level thread machine_watcher_factory("Pack_A_Punch_on");
}
else
{
level waittill("master_switch_activated");
//array_thread(getentarray( "zombie_vending", "targetname" ), ::perks_a_cola_jingle);
}
}
//PI ESM - added for support for two switches in factory
machine_watcher_factory(vending_name)
{
level waittill(vending_name);
switch(vending_name)
{
case "Pack_A_Punch_on":
temp_script_sound = "mx_packa_jingle";
break;
default:
temp_script_sound = "mx_jugger_jingle";
break;
}
temp_machines = getstructarray("perksacola", "targetname");
for (x = 0; x < temp_machines.size; x++)
{
if (temp_machines[x].script_sound == temp_script_sound)
temp_machines[x] thread perks_a_cola_jingle();
}
}
play_vendor_stings(sound)
{
if(!IsDefined (level.packa_jingle))
{
level.packa_jingle = 0;
}
if(!IsDefined (level.eggs))
{
level.eggs = 0;
}
if (level.eggs == 0)
{
if(sound == "mx_packa_sting" && level.packa_jingle == 0)
{
level.packa_jingle = 1;
// iprintlnbold("stinger packapunch:" + level.packa_jingle);
temp_org_pack_s = spawn("script_origin", self.origin);
temp_org_pack_s playsound (sound, "sound_done");
temp_org_pack_s waittill("sound_done");
level.packa_jingle = 0;
temp_org_pack_s delete();
// iprintlnbold("stinger packapunch:" + level.packa_jingle);
}
}
}
perks_a_cola_jingle()
{
self thread play_random_broken_sounds();
if(!IsDefined(self.perk_jingle_playing))
{
self.perk_jingle_playing = 0;
}
if (!IsDefined (level.eggs))
{
level.eggs = 0;
}
while(1)
{
//wait(randomfloatrange(60, 120));
wait(randomfloatrange(31,45));
if(randomint(100) < 15 && level.eggs == 0)
{
level notify ("jingle_playing");
//playfx (level._effect["electric_short_oneshot"], self.origin);
playsoundatposition ("electrical_surge", self.origin);
if(self.script_sound == "mx_packa_jingle" && level.packa_jingle == 0)
{
level.packa_jingle = 1;
temp_org_packa = spawn("script_origin", self.origin);
temp_org_packa playsound (self.script_sound, "sound_done");
temp_org_packa waittill("sound_done");
level.packa_jingle = 0;
temp_org_packa delete();
}
self thread play_random_broken_sounds();
}
}
}
play_random_broken_sounds()
{
level endon ("jingle_playing");
if (!isdefined (self.script_sound))
{
self.script_sound = "null";
}
if (self.script_sound == "mx_revive_jingle")
{
while(1)
{
wait(randomfloatrange(7, 18));
playsoundatposition ("broken_random_jingle", self.origin);
//playfx (level._effect["electric_short_oneshot"], self.origin);
playsoundatposition ("electrical_surge", self.origin);
}
}
else
{
while(1)
{
wait(randomfloatrange(7, 18));
// playfx (level._effect["electric_short_oneshot"], self.origin);
playsoundatposition ("electrical_surge", self.origin);
}
}
}
play_packa_wait_dialog(player_index)
{
waittime = 0.05;
if(!IsDefined (self.vox_perk_packa_wait))
{
num_variants = maps\_zombiemode_spawner::get_number_variants(player_index + "vox_perk_packa_wait");
self.vox_perk_packa_wait = [];
for(i=0;i<num_variants;i++)
{
self.vox_perk_packa_wait[self.vox_perk_packa_wait.size] = "vox_perk_packa_wait_" + i;
}
self.vox_perk_packa_wait_available = self.vox_perk_packa_wait;
}
if(!isdefined (level.player_is_speaking))
{
level.player_is_speaking = 0;
}
sound_to_play = random(self.vox_perk_packa_wait_available);
self maps\_zombiemode_spawner::do_player_playdialog(player_index, sound_to_play, waittime);
self.vox_perk_packa_wait_available = array_remove(self.vox_perk_packa_wait_available,sound_to_play);
if (self.vox_perk_packa_wait_available.size < 1 )
{
self.vox_perk_packa_wait_available = self.vox_perk_packa_wait;
}
}
play_packa_get_dialog(player_index)
{
waittime = 0.05;
if(!IsDefined (self.vox_perk_packa_get))
{
num_variants = maps\_zombiemode_spawner::get_number_variants(player_index + "vox_perk_packa_get");
self.vox_perk_packa_get = [];
for(i=0;i<num_variants;i++)
{
self.vox_perk_packa_get[self.vox_perk_packa_get.size] = "vox_perk_packa_get_" + i;
}
self.vox_perk_packa_get_available = self.vox_perk_packa_get;
}
if(!isdefined (level.player_is_speaking))
{
level.player_is_speaking = 0;
}
sound_to_play = random(self.vox_perk_packa_get_available);
self maps\_zombiemode_spawner::do_player_playdialog(player_index, sound_to_play, waittime);
self.vox_perk_packa_get_available = array_remove(self.vox_perk_packa_get_available,sound_to_play);
if (self.vox_perk_packa_get_available.size < 1 )
{
self.vox_perk_packa_get_available = self.vox_perk_packa_get;
}
}
Add 'clientscripts\sanchez\_xS78_fx_system::init();' Above 'thread clientscripts\_audio::audio_init(0);'
![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() UGX V.I.P. | |
![]() | Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager. |
![]() BO3 Modtools Alpha | This user has access to the Black Ops 3 Modtools Alpha |
Spoiler: click to open...On a side note just so that you know I have removed all of your assets you sent me and the only reason I wanted to use yours was so I couldve finally tested my stuff instead of having it sitting around waiting for xSanchez78 to make the fx[close]
![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
What is this black ops mod creator? What's it do?