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

WARDOGSK93's Perk System V:0.2.5

broken avatar :(
Created 8 years ago
by Deleted User
0 Members and 1 Guest are viewing this topic.
11,038 views
broken avatar :(
  • DeletedUser
  • Deleted Member
×
broken avatar :(
DeletedUser
This user is deleted :(
WARDOGSK93's Perk System - V:0.2.5

Download from 'WARDOGSK93's Downloadables' page

Screenshots


Spoiler: click to open...
Perk Machines












Wunderfizz Machine


Description

Simple perk system that allows you to create custom perks that do not need a "specialty_" perk name, Also comes with World at War, Black Ops 1 and Black Ops 2 perks

Der Wunderfizz is not in this release as it still needs more work but should be in the next release

Thanks to xSanchez78 and lilrifa for help on pretty much anything i needed help on (fx, anim porting, script)


Install

animtrees\genric_human.atr

(Copy from root/raw/animtrees to root/mods/{MAPNAME}/animtrees/ if you dont have this file)

Add the following above '// modern stuff'

Code Snippet
Plaintext
// 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

maps\_zombiemode.gsc

In the function 'main(init_zombie_spawner_name)'

Add 'maps\wardog\_wardog_init::pre_init();' above 'SetAILimit( 24 );'
Add 'maps\wardog\_wardog_init::init();' above 'init_utility();'
Comment Out 'maps\_zombiemode_perks::init();'
Add 'maps\wardog\_wardog_init::post_init();' above 'level thread players_playing();'


Add the following to the end of the function 'player_laststand()'


Code Snippet
Plaintext
/********************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********************/

Find the function 'player_damage_override( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime )'

Add BOX#1 above BOX#2


Code Snippet
BOX#1
/********************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********************/

Code Snippet
BOX#2
if( level.intermission )
{
level waittill( "forever" );
}

In the same function replace BOX#1 with BOX#2

Code Snippet
BOX#1
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 );
}

Code Snippet
BOX#2
/********************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********************/

maps\_laststand.gsc

Replace BOX#1 with BOX#2 in the function 'revive_trigger_think()'

Code Snippet
BOX#1
if ( revive_success )
{
self thread revive_success( reviver );
return;
}

Code Snippet
BOX#2
/********************WARDOGSK93 PERK CODE********************/
if(revive_success)
{
if(IsPlayer(self))
self thread revive_success(reviver);
else
self notify("player_revived", reviver);
return;
}
/********************WARDOGSK93 PERK CODE********************/

Add The Following to the end of the file

Code Snippet
Plaintext
/********************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********************/

maps\_callbackglobal.gsc

Add the following to the start of the function 'Callback_PlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime )'

Code Snippet
Plaintext
/********************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********************/

maps\_zombiemode_weapons.gsc

Replace Function  'treasure_chest_give_weapon(weapon)' with the following

Code Snippet
Plaintext
/********************WARDOGSK93 PERK CODE********************/
treasure_chest_give_weapon(weapon)
{
self maps\wardog\perks\_wardog_perks_bo1::mule_weapon_give(weapon, true);
}
/********************WARDOGSK93 PERK CODE********************/

Replace Function  'weapon_give(weapon, is_upgraded)' with the following

Code Snippet
Plaintext
/********************WARDOGSK93 PERK CODE********************/
weapon_give(weapon, is_upgrade)
{
self maps\wardog\perks\_wardog_perks_bo1::mule_weapon_give(weapon, false);
}
/********************WARDOGSK93 PERK CODE********************/

maps\_zombiemode_tesla.gsc

Replace the function 'tesla_pvp_thread()' with the following

Code Snippet
Plaintext
 
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" );
}
}

maps\_zombiemode_spawner.gsc

Add the following undeneath 'self thread zombie_damage_failsafe();' in the function 'zombie_spawn_init( animname_set )'

Code Snippet
Plaintext
/********************WARDOGSK93 PERK CODE********************/
self maps\wardog\_wardog_callback::callback("on_zombie_spawned");
/********************WARDOGSK93 PERK CODE********************/

maps\_zombiemode_powerups.gsc'

Add the following undeneath 'powerup thread powerup_grab();' in the function 'powerup_drop(drop_point)'


Code Snippet
Plaintext
/********************WARDOGSK93 PERK CODE********************/
powerup thread maps\wardog\perks\_wardog_perks_bo2::vulture_powerup_glow();
/********************WARDOGSK93 PERK CODE********************/

maps\_zombiemode_perks.gsc

Replace the whole with the following

Code Snippet
Plaintext
#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;
}
}

clientscripts\{MAPNAME}.csc

Code Snippet
Plaintext
Add 	'clientscripts\sanchez\_xS78_fx_system::init();'  Above 'thread clientscripts\_audio::audio_init(0);'
broken avatar :(
×
broken avatar :(
Location: fi
Date Registered: 25 June 2013
Last active: 8 months ago
Posts
3,997
Respect
1,024Add +1
Forum Rank
Eviscerator
Primary Group
UGX V.I.P.
My Groups
More
My Contact & Social Links
More
×
HitmanVere's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
UGX V.I.P.
UGX V.I.P.
Community Mapper Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager.
BO3 Modtools Alpha
BO3 Modtools Alpha
This user has access to the Black Ops 3 Modtools Alpha
Who made those extra VA shaders?
broken avatar :(
  • DeletedUser
  • Deleted Member
×
broken avatar :(
DeletedUser
This user is deleted :(
Who made those extra VA shaders?
Sanchez made the fx but the dds images are from buried's ipak

as for deadshot and a few others they are modified versions of the other perks
broken avatar :(
×
broken avatar :(
Location: fi
Date Registered: 25 June 2013
Last active: 8 months ago
Posts
3,997
Respect
1,024Add +1
Forum Rank
Eviscerator
Primary Group
UGX V.I.P.
My Groups
More
My Contact & Social Links
More
×
HitmanVere's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
UGX V.I.P.
UGX V.I.P.
Community Mapper Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager.
BO3 Modtools Alpha
BO3 Modtools Alpha
This user has access to the Black Ops 3 Modtools Alpha
Sanchez made the fx but the dds images are from buried's ipak

Thats why I said extra, so Whos Who, Flopper and such
broken avatar :(
  • DeletedUser
  • Deleted Member
×
broken avatar :(
DeletedUser
This user is deleted :(
Thats why I said extra, so Whos Who, Flopper and such

as for deadshot and a few others they are modified versions of the other perks

basicly using the other perk vulture shaders and the actual perk shaders we mashed em together and after a while we ended up with these
broken avatar :(
×
broken avatar :(
Location: usOregon
Date Registered: 20 August 2014
Last active: 4 months ago
Posts
309
Respect
Forum Rank
Perk Hacker
Primary Group
Donator ♥
My Groups
More
My Contact & Social Links
More
Personal Quote
Coding Hobbyist, Application & Web Development
Signature
×
Undeadmetal's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Oil Rig Beta Access
Oil Rig Beta Access
Undeadmetal's Contact & Social LinksOnlyAGamer
Error: 'animation' pb_stand_alert' not defined in anim tree 'generic_human' : (file 'maps/wardog/_wardog_clone.gsc', line 116)

I got this when I tried to start a map with your premade scripts.
Not sure if that's something with my map but I'm gonna look into changing it just thought I'd mention my map wouldn't load with your perk system but that's the only error so should be an easy fix.
broken avatar :(
  • DeletedUser
  • Deleted Member
×
broken avatar :(
DeletedUser
This user is deleted :(
Error: 'animation' pb_stand_alert' not defined in anim tree 'generic_human' : (file 'maps/wardog/_wardog_clone.gsc', line 116)

I got this when I tried to start a map with your premade scripts.
Not sure if that's something with my map but I'm gonna look into changing it just thought I'd mention my map wouldn't load with your perk system but that's the only error so should be an easy fix.

-Update:

added missing step from install (You need to add afew anim names to generic_human.atr)

The install steps are on my downloadables page (will add them here, now that i think about it they need to be here)
broken avatar :(
×
broken avatar :(
Location: fi
Date Registered: 25 June 2013
Last active: 8 months ago
Posts
3,997
Respect
1,024Add +1
Forum Rank
Eviscerator
Primary Group
UGX V.I.P.
My Groups
More
My Contact & Social Links
More
×
HitmanVere's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
UGX V.I.P.
UGX V.I.P.
Community Mapper Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager.
BO3 Modtools Alpha
BO3 Modtools Alpha
This user has access to the Black Ops 3 Modtools Alpha
Very good, nice and 95% full, only double tap it isn´t the imagen with the perk Vulture, greetings...

Please do not quote whole OP next time
broken avatar :(
×
broken avatar :(
True Blue Elite
Location: au7 Harm Street, Lowood
Date Registered: 29 March 2014
Last active: 10 days ago
Posts
2,617
Respect
Forum Rank
King of the Zombies
Primary Group
Custom Map Reviewer
My Groups
More
My Contact & Social Links
More
Personal Quote
'Straya Mate
Signature
Please give me beta access, I would LOVE to test CO-OP
×
JiffyNoodles's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Custom Map Reviewer Has permission to post map review topics in the Custom Map Reviews section of the forum.
Oil Rig Beta Access
Oil Rig Beta Access
hmmmm

 
Loading ...