WARDOGSK93's Perk System V:0.2.5

broken avatar :(
Created 1179 days ago
by WARDOGSK93
0 Members and 1 Guest are viewing this topic.
6,407 views
broken avatar :(
×
broken avatar :(
Location: gbDonisthorpe
Date Registered: 28 October 2012
Last active: 2 days ago
Posts
489
Respect
Forum Rank
Perk Hacker
Primary Group
Member
My Contact & Social Links
More
Personal Quote
Turn caffeine into code.
Signature
[You are not allowed to view external links. Register or Login to see them]
×
WARDOGSK93's Groups
WARDOGSK93's Perk System - V:0.2.5

Download from 'WARDOGSK93's Downloadables' page
[You are not allowed to download this file. Register or Login to see them]

Screenshots


Sorry but you are not allowed to view spoiler contents.
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'

// 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()'


/********************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: 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: BOX#2
if( level.intermission )
{
level waittill( "forever" );
}

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

Code: 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: 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: BOX#1
if ( revive_success )
{
self thread revive_success( reviver );
return;
}

Code: 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

/********************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 )'

/********************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

/********************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

/********************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

 
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 )'

/********************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)'


/********************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

#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

Add 	'clientscripts\sanchez\_xS78_fx_system::init();'  Above 'thread clientscripts\_audio::audio_init(0);'
Last Edit: January 28, 2016, 04:49:04 pm by WARDOGSK93
broken avatar :(
×
broken avatar :(
Location: fi
Date Registered: 25 June 2013
Last active: 5 days ago
Posts
3,992
Respect
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 :(
×
broken avatar :(
Location: gbDonisthorpe
Date Registered: 28 October 2012
Last active: 2 days ago
Posts
489
Respect
Forum Rank
Perk Hacker
Primary Group
Member
My Contact & Social Links
More
Personal Quote
Turn caffeine into code.
×
WARDOGSK93's Groups
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
Last Edit: January 27, 2016, 04:46:02 pm by WARDOGSK93
broken avatar :(
×
broken avatar :(
Location: fi
Date Registered: 25 June 2013
Last active: 5 days ago
Posts
3,992
Respect
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 :(
×
broken avatar :(
Location: gbDonisthorpe
Date Registered: 28 October 2012
Last active: 2 days ago
Posts
489
Respect
Forum Rank
Perk Hacker
Primary Group
Member
My Contact & Social Links
More
Personal Quote
Turn caffeine into code.
×
WARDOGSK93's Groups
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: 1 day ago
Posts
287
Respect
Forum Rank
Mr. Elemental
Primary Group
Donator ♥
My Groups
More
My Contact & Social Links
More
Personal Quote
We Are All -Killers- ...Zombie Killers!
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 :(
×
broken avatar :(
Location: gbDonisthorpe
Date Registered: 28 October 2012
Last active: 2 days ago
Posts
489
Respect
Forum Rank
Perk Hacker
Primary Group
Member
My Contact & Social Links
More
Personal Quote
Turn caffeine into code.
×
WARDOGSK93's Groups
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: mx
Date Registered: 8 April 2015
Last active: 2 days ago
Posts
4
Respect
Forum Rank
Fresh Corpse
Primary Group
Member
×
Hamn's Groups
Hamn's Contact & Social Links
Very good, nice and 95% full, only double tap it isn´t the imagen with the perk Vulture, greetings...
Last Edit: February 29, 2016, 07:39:56 am by HitmanVere
broken avatar :(
×
broken avatar :(
Location: fi
Date Registered: 25 June 2013
Last active: 5 days ago
Posts
3,992
Respect
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: 30 days ago
Posts
2,614
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

 

Login

or login with an authentication provider below
Twitter
Discord
Steam
Twitch
Google
Loading ...