
Posts
517
Respect
161Add +1
Forum Rank
Zombie Enslaver
Primary Group
Scripter
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" );
thors_thunder()
{
thors_hammer = getent ("thors_hammer", "targetname");
thread thors_hammer_throw(thors_hammer);
}
thors_hammer_throw(thors_hammer)
{
self endon( "disconnect" );
level._effect["thunder"] = loadfx("maps/fly/fx_lightning_clouds_low");
level._effect["thunder_hit"] = loadfx("maps/zombie/fx_zombie_dog_lightning_spawn");
level._effect["elec_eye_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock_eyes" );
level._effect["shock_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock" );
player GiveWeapon( "thors_anger" );
//iPrintln("Throw a grenade!");
player waittill("grenade_fire", grenade);//,grenade, weapName);
WeapName = player GetCurrentWeapon();
if( weapName == "thors_anger" )
{
return grenade;
}
wait( 0.05 );
if( IsDefined( grenade ) )
{
players = get_players();
for(i=0;i<players.size;i++)
{
if( players[i] maps\_laststand::player_is_in_laststand() )
{
grenade delete();
continue;
}
grenade hide();
model = spawn( "script_model", grenade.origin );
model SetModel( "weapon_zombie_monkey_bomb" );
model linkTo( grenade );
forward = player geteye();
vec = anglestoforward(player getPlayerAngles());
end = (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);
hammertrace = BulletTrace( forward, end, 0, player )[ "position" ];
//hammercenter2 = spawn("script_origin",hammertrace+ (0,0,60));
hammercenter2 = spawn("trigger_radius",hammertrace+ (0,0,45),73,200,200);
hammercenter = spawn("script_model", hammertrace+ (0,0,45));
hammercenter setModel("tag_origin");
hammercenter.angles = (90,0,0);
playfxontag( level._effect["thunder"], hammercenter, "tag_origin");
wait(4);
playfxontag( level._effect["thunder_hit"], hammercenter, "tag_origin");
secs = 0;
while(secs <= 140)
{
secs++;
zombs = getaispeciesarray("axis","all");
for(k=0;k<zombs.size;k++)
{
if (zombs[k] istouching(hammercenter2))
{
zombs[k] DoDamage( zombs[k].health + 666, zombs[k].origin );
iprintln( "Killing zombie..." );
zombs[k].deathanim = random( level._zombie_tesla_death[zombs[k].animname] );
zombs[k] maps\_zombiemode_tesla::tesla_play_death_fx(1);
players[i] maps\_zombiemode_score::add_to_player_score(50);
playfx( "tesla_death_fx", 2, level._effect["elec_eye_fx"], zombs[k], "J_Eyeball_LE" );
playfx( "tesla_death_fx", 2, level._effect["shock_fx"], zombs[k], "J_SpineUpper" );
zombs[k] playsound( "imp_tesla" );
}
}
}
}
//hammercenter2 delete();
//hammercenter delete();
//grenade delete();
//model delete();
}
}


![]() | Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
![]() BO3 Modtools Alpha | This user has access to the Black Ops 3 Modtools Alpha |
This zombs = getaispeciesarray("axis","all"); you could maybe try this instead zombs = GetAiArray("axis");


if (isdefined(hammercenter2) && zombs[k] istouching(hammercenter2))
{
zombs[k] DoDamage( zombs[k].health + 666, zombs[k].origin );
iprintln( "Killing zombie..." );
zombs[k].deathanim = random( level._zombie_tesla_death[zombs[k].animname] );
zombs[k] maps\_zombiemode_tesla::tesla_play_death_fx(1);
players[i] maps\_zombiemode_score::add_to_player_score(50);
playfx( "tesla_death_fx", 2, level._effect["elec_eye_fx"], zombs[k], "J_Eyeball_LE" );
playfx( "tesla_death_fx", 2, level._effect["shock_fx"], zombs[k], "J_SpineUpper" );
zombs[k] playsound( "imp_tesla" );
}
else if(!isdefined(hammercenter2) )
{
iprintln("No center defined!");
}
else if(isdefined(hammercenter2) && zombies[k] !istouching(hammercenter2) )
{
iprintln("AI are not in the center!");
}I believe that your radius is returning undefined. From what I've experienced this makes the code ignore the if statement and run all lines of code, regardless if it actually true or not.
Just as a test, try this: Code SnippetPlaintextif (isdefined(hammercenter2) && zombs[k] istouching(hammercenter2))
{
zombs[k] DoDamage( zombs[k].health + 666, zombs[k].origin );
iprintln( "Killing zombie..." );
zombs[k].deathanim = random( level._zombie_tesla_death[zombs[k].animname] );
zombs[k] maps\_zombiemode_tesla::tesla_play_death_fx(1);
players[i] maps\_zombiemode_score::add_to_player_score(50);
playfx( "tesla_death_fx", 2, level._effect["elec_eye_fx"], zombs[k], "J_Eyeball_LE" );
playfx( "tesla_death_fx", 2, level._effect["shock_fx"], zombs[k], "J_SpineUpper" );
zombs[k] playsound( "imp_tesla" );
}
else if(!isdefined(hammercenter2) )
{
iprintln("No center defined!");
}
else if(isdefined(hammercenter2) && zombies[k] !istouching(hammercenter2) )
{
iprintln("AI are not in the center!");
}
#include maps\_utility;
#include common_scripts\utility;
#include maps\_zombiemode_utility;
#using_animtree( "generic_human" );
thors_thunder()
{
thors_hammer = getent ("thors_hammer", "targetname");
thread thors_hammer_throw(thors_hammer);
}
thors_hammer_throw(thors_hammer)
{
self endon( "disconnect" );
level._effect["thunder"] = loadfx("maps/fly/fx_lightning_clouds_low");
level._effect["thunder_hit"] = loadfx("maps/zombie/fx_zombie_dog_lightning_spawn");
level._effect["elec_eye_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock_eyes" );
level._effect["shock_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock" );
player GiveWeapon( "thors_anger" );
//iPrintln("Throw a grenade!");
player waittill("grenade_fire", grenade);//,grenade, weapName);
WeapName = player GetCurrentWeapon();
if( weapName == "thors_anger" )
{
return grenade;
}
wait( 0.05 );
if( IsDefined( grenade ) )
{
players = get_players();
for(i=0;i<players.size;i++)
{
if( players[i] maps\_laststand::player_is_in_laststand() )
{
grenade delete();
continue;
}
grenade hide();
model = spawn( "script_model", grenade.origin );
model SetModel( "weapon_zombie_monkey_bomb" );
model linkTo( grenade );
forward = player geteye();
vec = anglestoforward(player getPlayerAngles());
end = (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);
hammertrace = BulletTrace( forward, end, 0, player )[ "position" ];
//hammercenter2 = spawn("script_origin",hammertrace+ (0,0,60));
hammercenter2 = spawn("trigger_radius",hammertrace+ (0,0,45),73,200,200);
hammercenter = spawn("script_model", hammertrace+ (0,0,45));
hammercenter setModel("tag_origin");
hammercenter.angles = (90,0,0);
playfxontag( level._effect["thunder"], hammercenter, "tag_origin");
wait(4);
playfxontag( level._effect["thunder_hit"], hammercenter, "tag_origin");
zombs = getaispeciesarray("axis","all");
secs = 0;
while(secs <= 140)
{
secs++;
for(k=0;k<zombs.size;k++)
if( !IsDefined(zombs[k].DamageInit) )
zombs[k] thread DamageCode(hammercenter2, players[i]);
wait 1; // If you want the code to wait a second before ++.
}
for(k=0;k<zombs.size;k++)
zombs[k] notify( "Damage" );
}
//hammercenter2 delete();
//hammercenter delete();
//grenade delete();
//model delete();
}
}
DamageCode(hammercenter2, Player)
{
self endon( "Damage" );
self.DamageInit = true;
for(;;)
{
if (self istouching(hammercenter2))
{
self DoDamage( self.health + 666, self.origin );
iprintln( "Killing zombie..." );
self.deathanim = random( level._zombie_tesla_death[self.animname] );
self maps\_zombiemode_tesla::tesla_play_death_fx(1);
Player maps\_zombiemode_score::add_to_player_score(50);
playfx( "tesla_death_fx", 2, level._effect["elec_eye_fx"], self, "J_Eyeball_LE" );
playfx( "tesla_death_fx", 2, level._effect["shock_fx"], self, "J_SpineUpper" );
self playsound( "imp_tesla" );
}
wait .05;
}
}Here is a test to hopefully kill off only 1 zombie instead of a multiple of them. Code SnippetPlaintext#include maps\_utility;
#include common_scripts\utility;
#include maps\_zombiemode_utility;
#using_animtree( "generic_human" );
thors_thunder()
{
thors_hammer = getent ("thors_hammer", "targetname");
thread thors_hammer_throw(thors_hammer);
}
thors_hammer_throw(thors_hammer)
{
self endon( "disconnect" );
level._effect["thunder"] = loadfx("maps/fly/fx_lightning_clouds_low");
level._effect["thunder_hit"] = loadfx("maps/zombie/fx_zombie_dog_lightning_spawn");
level._effect["elec_eye_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock_eyes" );
level._effect["shock_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock" );
player GiveWeapon( "thors_anger" );
//iPrintln("Throw a grenade!");
player waittill("grenade_fire", grenade);//,grenade, weapName);
WeapName = player GetCurrentWeapon();
if( weapName == "thors_anger" )
{
return grenade;
}
wait( 0.05 );
if( IsDefined( grenade ) )
{
players = get_players();
for(i=0;i<players.size;i++)
{
if( players[i] maps\_laststand::player_is_in_laststand() )
{
grenade delete();
continue;
}
grenade hide();
model = spawn( "script_model", grenade.origin );
model SetModel( "weapon_zombie_monkey_bomb" );
model linkTo( grenade );
forward = player geteye();
vec = anglestoforward(player getPlayerAngles());
end = (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);
hammertrace = BulletTrace( forward, end, 0, player )[ "position" ];
//hammercenter2 = spawn("script_origin",hammertrace+ (0,0,60));
hammercenter2 = spawn("trigger_radius",hammertrace+ (0,0,45),73,200,200);
hammercenter = spawn("script_model", hammertrace+ (0,0,45));
hammercenter setModel("tag_origin");
hammercenter.angles = (90,0,0);
playfxontag( level._effect["thunder"], hammercenter, "tag_origin");
wait(4);
playfxontag( level._effect["thunder_hit"], hammercenter, "tag_origin");
zombs = getaispeciesarray("axis","all");
secs = 0;
while(secs <= 140)
{
secs++;
for(k=0;k<zombs.size;k++)
if( !IsDefined(zombs[k].DamageInit) )
zombs[k] thread DamageCode(hammercenter2, players[i]);
wait 1; // If you want the code to wait a second before ++.
}
for(k=0;k<zombs.size;k++)
zombs[k] notify( "Damage" );
}
//hammercenter2 delete();
//hammercenter delete();
//grenade delete();
//model delete();
}
}
DamageCode(hammercenter2, Player)
{
self endon( "Damage" );
self.DamageInit = true;
for(;;)
{
if (self istouching(hammercenter2))
{
self DoDamage( self.health + 666, self.origin );
iprintln( "Killing zombie..." );
self.deathanim = random( level._zombie_tesla_death[self.animname] );
self maps\_zombiemode_tesla::tesla_play_death_fx(1);
Player maps\_zombiemode_score::add_to_player_score(50);
playfx( "tesla_death_fx", 2, level._effect["elec_eye_fx"], self, "J_Eyeball_LE" );
playfx( "tesla_death_fx", 2, level._effect["shock_fx"], self, "J_SpineUpper" );
self playsound( "imp_tesla" );
}
wait .05;
}
}
#include maps\_utility;
#include common_scripts\utility;
#include maps\_zombiemode_utility;
#using_animtree( "generic_human" );
Init()
{
level._effect["thunder"] = loadfx("maps/fly/fx_lightning_clouds_low");
level._effect["thunder_hit"] = loadfx("maps/zombie/fx_zombie_dog_lightning_spawn");
level._effect["elec_eye_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock_eyes" );
level._effect["shock_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock" );
thread ThorThunder();
}
ThorThunder()
{
ThorHammer = GetEnt( "thors_hammer", "targetname" );
for( i = 0; i < GetPlayers().size; i++ )
GetPlayers()[i] thread ThorHammerThrow( ThorHammer );
}
ThorHammerThrow( ThorHammer )
{
self endon( "Disconnect" );
self GiveWeapon( "thors_anger" );
self waittill( "grenade_fire", grenade );
CurrWeap = self GetCurrentWeapon();
if( CurrWeap == "thors_anger" )
return grenade;
wait .05;
if( IsDefined( grenade ) )
{
if( self maps\_laststand::player_is_in_laststand() )
{
grenade delete();
continue;
}
grenade hide();
Model = Spawn( "script_model", grenade.origin );
Model SetModel( "weapon_zombie_monkey_bomb" );
Model LinkTo( Grenade );
End = ( AnglesToForward( self GetPlayerAngles()[0] * 100000000, self GetPlayerAngles()[1] * 100000000, self GetPlayerAngles()[2] * 100000000 ) );
HammerTrace = BulletTrace( self GetEye(), End, 0, self )["position"];
HammerCenter2 = Spawn( "trigger_radius", HammerTrace + ( 0, 0, 45 ), 73, 200, 200 );
HammerCenter = Spawn( "script_model", HammerTrace + ( 0, 0, 45 ) );
HammerCenter SetModel( "tag_origin" );
HammerCenter.angles = ( 90, 0, 0 );
PlayFXOnTag( level._effect["thunder"], HammerCenter, "tag_origin" );
wait 4;
PlayFXOnTag( level._effect["thunder_hit"], HammerCenter, "tag_origin" );
Zombs = GetAiSpeciesArray( "axis", "all" );
Sec = 0;
while( Sec <= 140 )
{
for( i = 0; i < Zombs.size; i++ )
if( Zombs[i] IsTouching( HammerCenter2 ) )
Zombs[i] thread DamageControl();
wait 1;
Sec++;
}
}
}
DamageControl()
{
self DoDamage( self.health + 666, self.origin );
iprintln( "Killing zombie..." );
self.deathanim = random( level._zombie_tesla_death[self.animname] );
self maps\_zombiemode_tesla::tesla_play_death_fx( 1 );
Player maps\_zombiemode_score::add_to_player_score( 50 );
PlayFX( "tesla_death_fx", 2, level._effect["elec_eye_fx"], self, "J_Eyeball_LE" );
PlayFX( "tesla_death_fx", 2, level._effect["shock_fx"], self, "J_SpineUpper" );
self playsound( "imp_tesla" );
}Maybe this one will work if you want to try it out but can't say for sure it will work. Code SnippetPlaintext#include maps\_utility;
#include common_scripts\utility;
#include maps\_zombiemode_utility;
#using_animtree( "generic_human" );
Init()
{
level._effect["thunder"] = loadfx("maps/fly/fx_lightning_clouds_low");
level._effect["thunder_hit"] = loadfx("maps/zombie/fx_zombie_dog_lightning_spawn");
level._effect["elec_eye_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock_eyes" );
level._effect["shock_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock" );
thread ThorThunder();
}
ThorThunder()
{
ThorHammer = GetEnt( "thors_hammer", "targetname" );
for( i = 0; i < GetPlayers().size; i++ )
GetPlayers()[i] thread ThorHammerThrow( ThorHammer );
}
ThorHammerThrow( ThorHammer )
{
self endon( "Disconnect" );
self GiveWeapon( "thors_anger" );
self waittill( "grenade_fire", grenade );
CurrWeap = self GetCurrentWeapon();
if( CurrWeap == "thors_anger" )
return grenade;
wait .05;
if( IsDefined( grenade ) )
{
if( self maps\_laststand::player_is_in_laststand() )
{
grenade delete();
continue;
}
grenade hide();
Model = Spawn( "script_model", grenade.origin );
Model SetModel( "weapon_zombie_monkey_bomb" );
Model LinkTo( Grenade );
End = ( AnglesToForward( self GetPlayerAngles()[0] * 100000000, self GetPlayerAngles()[1] * 100000000, self GetPlayerAngles()[2] * 100000000 ) );
HammerTrace = BulletTrace( self GetEye(), End, 0, self )["position"];
HammerCenter2 = Spawn( "trigger_radius", HammerTrace + ( 0, 0, 45 ), 73, 200, 200 );
HammerCenter = Spawn( "script_model", HammerTrace + ( 0, 0, 45 ) );
HammerCenter SetModel( "tag_origin" );
HammerCenter.angles = ( 90, 0, 0 );
PlayFXOnTag( level._effect["thunder"], HammerCenter, "tag_origin" );
wait 4;
PlayFXOnTag( level._effect["thunder_hit"], HammerCenter, "tag_origin" );
Zombs = GetAiSpeciesArray( "axis", "all" );
Sec = 0;
while( Sec <= 140 )
{
for( i = 0; i < Zombs.size; i++ )
if( Zombs[i] IsTouching( HammerCenter2 ) )
Zombs[i] thread DamageControl();
wait 1;
Sec++;
}
}
}
DamageControl()
{
self DoDamage( self.health + 666, self.origin );
iprintln( "Killing zombie..." );
self.deathanim = random( level._zombie_tesla_death[self.animname] );
self maps\_zombiemode_tesla::tesla_play_death_fx( 1 );
Player maps\_zombiemode_score::add_to_player_score( 50 );
PlayFX( "tesla_death_fx", 2, level._effect["elec_eye_fx"], self, "J_Eyeball_LE" );
PlayFX( "tesla_death_fx", 2, level._effect["shock_fx"], self, "J_SpineUpper" );
self playsound( "imp_tesla" );
}



![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() | Has shown excellence and experience in the area of custom scripting in the UGX-Mods community. |
thors_hammer_throw(thors_hammer)
{
self endon( "disconnect" );
level._effect["thunder"] = loadfx("maps/fly/fx_lightning_clouds_low");
level._effect["thunder_hit"] = loadfx("maps/zombie/fx_zombie_dog_lightning_spawn");
level._effect["elec_eye_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock_eyes" );
level._effect["shock_fx"] = loadfx( "maps/zombie/fx_zombie_tesla_shock" );
player GiveWeapon( "thors_anger" );
//iPrintln("Throw a grenade!");
player waittill("grenade_fire", grenade);//,grenade, weapName);
WeapName = player GetCurrentWeapon();
if( weapName == "thors_anger" )
{
return grenade;
}
wait( 0.05 );
if( IsDefined( grenade ) )
{
players = get_players();
for(i=0;i<players.size;i++)
{
if( players[i] maps\_laststand::player_is_in_laststand() )
{
grenade delete();
continue;
}
grenade hide();
model = spawn( "script_model", grenade.origin );
model SetModel( "weapon_zombie_monkey_bomb" );
model linkTo( grenade );
forward = player geteye();
vec = anglestoforward(player getPlayerAngles());
end = (vec[0] * 100000000, vec[1] * 100000000, vec[2] * 100000000);
hammertrace = BulletTrace( forward, end, 0, player )[ "position" ];
//hammercenter2 = spawn("script_origin",hammertrace+ (0,0,60));
//hammercenter2 = spawn("trigger_radius",hammertrace+ (0,0,45),73,200,200);
hammer_center2 = hammertrace + (0,0,45),73,200,200
hammercenter = spawn("script_model", hammertrace+ (0,0,45));
hammercenter setModel("tag_origin");
hammercenter.angles = (90,0,0);
playfxontag( level._effect["thunder"], hammercenter, "tag_origin");
wait(4);
playfxontag( level._effect["thunder_hit"], hammercenter, "tag_origin");
secs = 0;
while(secs <= 140)
{
secs++;
zombs = getaiarray("axis");
for(k=0;k<zombs.size;k++)
{
if (distance(zombs[k].origin, )
{
zombs[k] DoDamage( zombs[k].health + 666, zombs[k].origin );
iprintln( "Killing zombie..." );
zombs[k].deathanim = random( level._zombie_tesla_death[zombs[k].animname] );
zombs[k] maps\_zombiemode_tesla::tesla_play_death_fx(1);
players[i] maps\_zombiemode_score::add_to_player_score(50);
playfx( "tesla_death_fx", 2, level._effect["elec_eye_fx"], zombs[k], "J_Eyeball_LE" );
playfx( "tesla_death_fx", 2, level._effect["shock_fx"], zombs[k], "J_SpineUpper" );
zombs[k] playsound( "imp_tesla" );
}
}
}
}
/*
hammercenter2 delete();
hammercenter delete();
grenade delete();
model delete();
*/
}
}