
Posts
53
Respect
42Add +1
Forum Rank
Rotting Walker
Primary Group
Member
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!![]() | Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
powerup_grab()
{
self endon ("powerup_timedout");
self endon ("powerup_grabbed");
while (isdefined(self))
{
players = get_players();
for (i = 0; i < players.size; i++)
{
if (distance (players[i].origin, self.origin) < 64)
{
playfx (level._effect["powerup_grabbed"], self.origin);
playfx (level._effect["powerup_grabbed_wave"], self.origin);
if( IsDefined( level.zombie_powerup_grab_func ) )
{
level thread [[level.zombie_powerup_grab_func]]();
}
else
{
switch (self.powerup_name)
{
case "nuke":
level thread nuke_powerup( self );
//chrisp - adding powerup VO sounds
players[i] thread powerup_vo("nuke");
zombies = getaiarray("axis");
players[i].zombie_nuked = get_array_of_closest( self.origin, zombies );
players[i] notify("nuke_triggered");
break;
case "full_ammo":
level thread full_ammo_powerup( self );
players[i] thread powerup_vo("full_ammo");
break;
case "double_points":
level thread double_points_powerup( self );
players[i] thread powerup_vo("double_points");
break;
case "insta_kill":
level thread insta_kill_powerup( self );
players[i] thread powerup_vo("insta_kill");
break;
case "carpenter":
level thread start_carpenter( self.origin );
players[i] thread powerup_vo("carpenter");
break;
default:
println ("Unrecognized poweup.");
break;
}
}
wait( 0.1 );
playsoundatposition("powerup_grabbed", self.origin);
self stoploopsound();
self delete();
self notify ("powerup_grabbed");
}
}
wait 0.1;
}
}
powerup_grab()
{
self endon ("powerup_timedout");
self endon ("powerup_grabbed");
while (isdefined(self))
{
players = get_players();
for (i = 0; i < players.size; i++)
{
if (distance (players[i].origin, self.origin) < 64)
{
playfx (level._effect["powerup_grabbed"], self.origin);
playfx (level._effect["powerup_grabbed_wave"], self.origin);
if( IsDefined( level.zombie_powerup_grab_func ) )
{
level thread [[level.zombie_powerup_grab_func]]();
}
else
{
switch (self.powerup_name)
{
case "nuke":
level thread nuke_powerup( self );
//chrisp - adding powerup VO sounds
players[i] thread powerup_vo("nuke");
zombies = getaiarray("axis");
players[i].zombie_nuked = get_array_of_closest( self.origin, zombies );
players[i] notify("nuke_triggered");
break;
case "full_ammo":
level thread full_ammo_powerup( self );
players[i] thread powerup_vo("full_ammo");
break;
case "double_points":
level thread double_points_powerup( self );
players[i] thread powerup_vo("double_points");
break;
case "insta_kill":
level thread insta_kill_powerup( self );
players[i] thread powerup_vo("insta_kill");
break;
case "carpenter":
level thread start_carpenter( self.origin );
players[i] thread powerup_vo("carpenter");
break;
case "CUSTOM PERK NAME":
// FUNCTION METHOD
players[i] thread powerup_vo("full_ammo");
break;
default:
println ("Unrecognized poweup.");
break;
}
}
wait( 0.1 );
playsoundatposition("powerup_grabbed", self.origin);
self stoploopsound();
self delete();
self notify ("powerup_grabbed");
}
}
wait 0.1;
}
}
Nice you stole someone his powerup (Atleast credit the guy you stole it from) but I will help with the sound:In the method you see this:
- Tutorial adding sounds: https://youtu.be/wVmWFarXQpk
- I guess at the beginning you add this?: add_zombie_powerup( "CUSTOM PERK NAME", "MODEL", "TEXT");
- Then you need to find this: powerup_grab()
change it to this: Code SnippetPlaintextpowerup_grab()
{
self endon ("powerup_timedout");
self endon ("powerup_grabbed");
while (isdefined(self))
{
players = get_players();
for (i = 0; i < players.size; i++)
{
if (distance (players[i].origin, self.origin) < 64)
{
playfx (level._effect["powerup_grabbed"], self.origin);
playfx (level._effect["powerup_grabbed_wave"], self.origin);
if( IsDefined( level.zombie_powerup_grab_func ) )
{
level thread [[level.zombie_powerup_grab_func]]();
}
else
{
switch (self.powerup_name)
{
case "nuke":
level thread nuke_powerup( self );
//chrisp - adding powerup VO sounds
players[i] thread powerup_vo("nuke");
zombies = getaiarray("axis");
players[i].zombie_nuked = get_array_of_closest( self.origin, zombies );
players[i] notify("nuke_triggered");
break;
case "full_ammo":
level thread full_ammo_powerup( self );
players[i] thread powerup_vo("full_ammo");
break;
case "double_points":
level thread double_points_powerup( self );
players[i] thread powerup_vo("double_points");
break;
case "insta_kill":
level thread insta_kill_powerup( self );
players[i] thread powerup_vo("insta_kill");
break;
case "carpenter":
level thread start_carpenter( self.origin );
players[i] thread powerup_vo("carpenter");
break;
default:
println ("Unrecognized poweup.");
break;
}
}
wait( 0.1 );
playsoundatposition("powerup_grabbed", self.origin);
self stoploopsound();
self delete();
self notify ("powerup_grabbed");
}
}
wait 0.1;
}
}And you are done. Code SnippetPlaintextpowerup_grab()
{
self endon ("powerup_timedout");
self endon ("powerup_grabbed");
while (isdefined(self))
{
players = get_players();
for (i = 0; i < players.size; i++)
{
if (distance (players[i].origin, self.origin) < 64)
{
playfx (level._effect["powerup_grabbed"], self.origin);
playfx (level._effect["powerup_grabbed_wave"], self.origin);
if( IsDefined( level.zombie_powerup_grab_func ) )
{
level thread [[level.zombie_powerup_grab_func]]();
}
else
{
switch (self.powerup_name)
{
case "nuke":
level thread nuke_powerup( self );
//chrisp - adding powerup VO sounds
players[i] thread powerup_vo("nuke");
zombies = getaiarray("axis");
players[i].zombie_nuked = get_array_of_closest( self.origin, zombies );
players[i] notify("nuke_triggered");
break;
case "full_ammo":
level thread full_ammo_powerup( self );
players[i] thread powerup_vo("full_ammo");
break;
case "double_points":
level thread double_points_powerup( self );
players[i] thread powerup_vo("double_points");
break;
case "insta_kill":
level thread insta_kill_powerup( self );
players[i] thread powerup_vo("insta_kill");
break;
case "carpenter":
level thread start_carpenter( self.origin );
players[i] thread powerup_vo("carpenter");
break;
case "CUSTOM PERK NAME":
// FUNCTION METHOD
players[i] thread powerup_vo("full_ammo");
break;
default:
println ("Unrecognized poweup.");
break;
}
}
wait( 0.1 );
playsoundatposition("powerup_grabbed", self.origin);
self stoploopsound();
self delete();
self notify ("powerup_grabbed");
}
}
wait 0.1;
}
}