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!#include maps\_utility;
#include common_scripts\utility;
#include maps\_zombiemode_utility;
#using_animtree( "generic_human" );
spawn_electricityzombie()
{
// Settings
self.pathEnemyFightDist = 72;
self.meleeAttackDist = 72;
self.electricity_range = 75;
self.electrified_duration = 0.75; // in seconds
self.maxhealth = int(level.zombie_health * 1.5);
self.health = self.maxhealth;
if (randomInt(100) <= 85)
{
self.hatModel = "char_ger_honorgd_headgear3";
self attach(self.hatModel);
}
if (randomInt(100) <= 75)
{
self.hatModel2 = "char_ger_hnrgd_player_shades";
self attach(self.hatModel2);
}
self thread electricity_zombie_fx();
while ( 1 )
{
self waittill( "meleeanim", note );
if ( note == "fire" )
{
if( IsDefined( self.favoriteenemy ) )
{
if (!self.favoriteenemy maps\_laststand::player_is_in_laststand() && distance( self.favoriteenemy.origin, self.origin ) < self.electricity_range)
{
self.favoriteenemy setelectrified( self.electrified_duration );
self.favoriteenemy shellshock( "electrocution", self.electrified_duration );
self.favoriteenemy playsound( "tesla_bounce" );
}
}
}
}
}
electricity_zombie_fx()
{
self endon ("death");
while(1)
{
PlayFxOnTag( level._effect["elec_sm"], self, "j_thumb_le_1" );
PlayFxOnTag( level._effect["elec_sm"], self, "j_thumb_ri_1" );
wait 6;
}
}
precache_models()
{
precachemodel( "char_ger_honorgd_zomb_behead" );
precachemodel( "char_ger_zombieeye" );
PrecacheModel( "tag_origin" );
}
precache_models()
{
precachemodel( "char_ger_honorgd_zomb_behead" );
precachemodel( "char_ger_zombieeye" );
PrecacheModel( "tag_origin" );
precachemodel( "char_ger_honorgd_headgear3" );
precachemodel( "char_ger_hnrgd_player_shades" );
}
self notify( "zombie_init_done" );
self notify( "zombie_init_done" );
if (self.animname != "quad_zombie" && self.animname != "boss_zombie" && self.animname != "zombie_dog")
{
spawn_round = 3; // the starting round the electricity zombie will spawn
spawn_percentage = 10; // the spawn percentage the electricity zombie will spawn
if (level.round_number >= spawn_round && randomInt(100) <= spawn_percentage)
{
self thread maps\YOURSCRIPT::spawn_electricityzombie();
}
}
// Electricity zombie
xmodel,char_ger_hnrgd_player_shades
xmodel,char_ger_honorgd_headgear3
// Electricity zombie
zombie_head_gib( attacker )
if(isdefined(self.hatmodel))
self.hatmodel_launch = spawn("script_model",self.origin + (0,0,64));
self.hatmodel_launch setmodel(self.hatmodel);
self.hatmodel_launch PhysicsLaunch( self.hatmodel_launch.origin, (0,0,5000) ); //adjust to your hatmodel 3000 - 5000
self.hatmodel_launch thread timed_delete(5);
timed_delete(time)
{
wait time;
self delete();
}
self.hatmodel = "your_model";
self attach(self.hatmodel, "", true);
precacheModel("your_model");
xmodel,your_model
#include maps\_utility;
#include common_scripts\utility;
#include maps\_zombiemode_utility;
#using_animtree( "generic_human" );
spawn_banzaizombie()
{
self.gib_override = false;
self.gibbed = true;
self setModel("char_ger_ansel_body");
self.hatmodel = "char_ger_wermachtwet_helm1";
self Attach( self.hatmodel );
// Wait until the zombie entered the player area
while(1)
{
if (!self.ignoreall)
{
self thread banzai_zombie();
break;
}
wait 0.5;
}
}
banzai_zombie()
{
self endon( "death" );
// Settings
self.moveplaybackrate = 0.80; // Play banzai animation at 80%
self.banzai_minimum_damage = 65; // Melee minimum damage with bayonet
self.banzai_maximum_damage = 75; // Melee maximum damage with bayonet
self.banzai_range = 70; // Melee range with bayonet
self.banzai_hit_range = 30; // Melee hit range with bayonet
// Settings
self.pathEnemyFightDist = 0.0000001; // To Disable hand melee attacks.
self.banzai_stop_stabbing = false;
self thread banzai_zombie_stop_stabbing();
self thread banzai_zombie_draw_weapon();
self.zombie_move_speed = "sprint";
banzaiRandom = randomFloat(100);
if (banzaiRandom <= 25) self.run_combatanim = %ai_bonzai_sprint_a;
else if (banzaiRandom > 25 && banzaiRandom <= 50) self.run_combatanim = %ai_bonzai_sprint_b;
else if (banzaiRandom > 50 && banzaiRandom <= 75) self.run_combatanim = %ai_bonzai_sprint_c;
else self.run_combatanim = %ai_bonzai_sprint_d;
players = get_players();
while( 1 )
{
if (isdefined(self.favoriteenemy))
{
target = self.favoriteenemy;
if (self.banzai_stop_stabbing)
{
return;
}
if (target.is_zombie || target maps\_laststand::player_is_in_laststand() || target.sessionstate == "spectator" || !isalive(target))
{
continue;
}
if (distance( target.origin, self.origin ) <= self.banzai_range && target.origin != self.origin)
{
self thread banzai_zombie_attack(target, target.origin);
self waittill( "attack_done" );
}
}
wait .05;
}
}
banzai_zombie_attack(player, player_pos)
{
angles = VectorToAngles( player_pos - self.origin );
self OrientMode( "face angle", angles );
self animscripted("melee_zombies", self.origin, self.angles, %ai_bayonet_stab_melee);
while ( 1 )
{
self waittill( "melee_zombies", note );
if ( note == "fire" )
{
if( isalive(player) )
{
if (distance( player.origin, self.origin ) < self.banzai_range)
{
radiusdamage(player_pos, 45, self.banzai_maximum_damage, self.banzai_minimum_damage, self, "MOD_MELEE");
//Give the player the feeling he got stabbed
radiusdamage(player_pos, 45, 0, 0, player, "MOD_MELEE");
wait .2;
self stopAnimScripted();
break;
}
}
}
if ( note == "end" )
break;
}
self notify( "attack_done" );
}
banzai_zombie_stop_stabbing()
{
self endon( "death" );
level waittill( "end_game" );
self.banzai_stop_stabbing = true;
}
banzai_zombie_draw_weapon()
{
self endon( "death" );
wait 3; // Otherwise you see spooky things
self.primaryweapon = "kar98k_bayonet";
self animscripts\shared::placeWeaponOn( self.primaryweapon, "right" );
}
precache_models()
{
precachemodel( "char_ger_honorgd_zomb_behead" );
precachemodel( "char_ger_zombieeye" );
PrecacheModel( "tag_origin" );
}
precache_models()
{
precachemodel( "char_ger_honorgd_zomb_behead" );
precachemodel( "char_ger_zombieeye" );
PrecacheModel( "tag_origin" );
precachemodel( "char_ger_ansel_body" );
precachemodel( "char_ger_wermachtwet_helm1" );
}
self notify( "zombie_init_done" );
self notify( "zombie_init_done" );
if (self.animname != "quad_zombie" && self.animname != "boss_zombie" && self.animname != "zombie_dog")
{
spawn_round = 6; // the starting round the banzai zombie will spawn
spawn_percentage = 10; // the spawn percentage the banzai zombie will spawn
if (level.round_number >= spawn_round && randomInt(100) <= spawn_percentage)
{
self thread maps\YOURSCRIPT::spawn_banzaizombie();
}
}
include_weapon
include_weapon( "kar98k_bayonet", false );
// Banzai Zombie
xmodel,char_ger_ansel_body
xmodel,char_ger_wermachtwet_helm1
xanim,ai_bonzai_sprint_a
xanim,ai_bonzai_sprint_b
xanim,ai_bonzai_sprint_c
xanim,ai_bonzai_sprint_d
xanim,ai_bayonet_stab_melee
weapon,sp/kar98k_bayonet
// Banzai Zombie
player_cook_grenade_watcher()
{
self endon( "disconnect" );
while(1)
{
self waittill("grenade_fire", grenade, weaponName);
if(isdefined(grenade))
{
wait 0.125;
if( distance( self.origin, grenade.origin ) <= 0 && self fragButtonPressed())
{
self FreezeControls(true);
self DisableOffhandWeapons();
grenade delete();
ammo_clip = self GetWeaponAmmoClip( weaponName );
self TakeWeapon(weaponName);
if(self fragButtonPressed())
{
self waittill("grenade_fire", grenade2, weaponName);
if(isdefined(grenade2))
{
grenade2 delete();
}
}
wait 0.05;
self EnableOffhandWeapons();
self FreezeControls(false);
wait 1.75;
self GiveWeapon(weaponName);
self SetWeaponAmmoClip(weaponName, ammo_clip);
}
}
}
}
if( level.round_number > 3 )
{
zombies = getaiarray( "axis" );
while( zombies.size > 0 )
{
if( zombies.size == 1 && zombies[0].has_legs == true )
{
var = randomintrange(1, 4);
zombies[0] set_run_anim( "sprint" + var );
zombies[0].run_combatanim = level.scr_anim[zombies[0].animname]["sprint" + var];
}
wait(0.5);
zombies = getaiarray("axis");
}
}
if( level.round_number > 3 )
{
zombies = getaiarray( "axis" );
while( zombies.size > 0 )
{
if( zombies.size == 1 && zombies[0].has_legs == true && zombies[0].boss == false)
{
var = randomintrange(1, 4);
zombies[0] set_run_anim( "sprint" + var );
zombies[0].run_combatanim = level.scr_anim[zombies[0].animname]["sprint" + var];
}
wait(0.5);
zombies = getaiarray("axis");
}
}
self.boss = true;