
Posts
560
Respect
430Add +1
Forum Rank
Zombie Enslaver
Primary Group
Mapper
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 released one or more maps to the UGX-Mods community. |
#include common_scripts\utility;
#include maps\_zombiemode_utility;
#include maps\_utility;
effect_init()
{
//Original script by blackwe11
//Modified by npissoawsome
level waittill("start_rounds");
//EDIT THESE///////////////////////////////////////////////////////////
trig = getEnt("cell_trig", "targetname");
thread effect_think("zombie_effect_trigger", trig, undefined);
// thread effect_loader("targetname of trigger, you need to have this", "targetname of activating trigger, undefined if no trigger", "1 = needs power, undefined = doesn't need power");
/////////////////////////////////////////////////////////////////////////
}
//////////////////////////////////////////////////////
//DON'T EDIT ANYTHING BEYOND THIS POINT///
/////////////////////////////////////////////////////
effect_think(trigger_name, start_trigger_name, power)
{
if(isdefined(power))
{
if(power == 1)
{
flag_wait("electricity_on");
}
}
trigger = getent(trigger_name, "targetname");
if(isDefined(start_trigger_name))
{
start_trigger = getent(start_trigger_name, "targetname");
if(isDefined(start_trigger.script_noteworthy))
{
start_trigger setCursorHint(start_trigger.script_noteworthy);
}
if(isDefined(start_trigger.script_string))
{
start_trigger setHintString(start_trigger.script_string);
}
while(true)
{
start_trigger waittill("trigger", player);
if(isDefined(start_trigger.zombie_cost))
{
cost = start_trigger.zombie_cost;
if(player.score >= cost)
{
player playsound("cha_ching");
player maps\_zombiemode_score::minus_to_player_score(cost);
thread effect_loader(trigger);
break;
}else
{
player playsound("no_cha_ching");
}
}else
{
thread effect_loader(trigger);
break;
}
}
}else
{
thread effect_loader(trigger);
}
}
effect_loader(trigger)
{
iPrintLn("Flame On!!!");
while(true)
{
trigger waittill("trigger", player);
damage = (player.max_health / 4);
player dodamage(damage, player.origin);
if(isDefined(trigger.script_noteworthy))
{
switch(trigger.script_noteworthy)
{
case "fire":
if(isDefined(trigger.script_flag) && trigger.script_flag == "looping")
{
while(IsAlive(player))
{
playfxontag(level._effect["zombie_fire"] , player, "j_spine4");
playfxontag(level._effect["zombie_fire"] , player, "j_neck");
wait(5);
}
}else
{
playfxontag(level._effect["zombie_fire"] , player, "j_spine4");
playfxontag(level._effect["zombie_fire"] , player, "j_neck");
}
break;
case "electric":
if(isDefined(trigger.script_flag) && trigger.script_flag == "looping")
{
while(IsAlive(player))
{
playfxontag(level._effect["electricity"] , player, "j_spine4");
playfxontag(level._effect["electricity"] , player, "j_neck");
wait(5);
}
}else
{
playfxontag(level._effect["electricity"] , player, "j_spine4");
playfxontag(level._effect["electricity"] , player, "j_neck");
}
break;
case "random":
randomfx = randomint(2);
if(isDefined(trigger.script_flag) && trigger.script_flag == "looping")
{
while(IsAlive(player))
{
if(randomfx == 0)
{
playfxontag(level._effect["electricity"] , player, "j_spine4");
playfxontag(level._effect["electricity"] , player, "j_neck");
wait(3);
}else if(randomfx == 1)
{
playfxontag(level._effect["zombie_fire"] , player, "j_spine4");
playfxontag(level._effect["zombie_fire"] , player, "j_neck");
wait(5);
}
}
}else
{
if(randomfx == 0)
{
playfxontag(level._effect["electricity"] , player, "j_spine4");
playfxontag(level._effect["electricity"] , player, "j_neck");
}else if(randomfx == 1)
{
playfxontag(level._effect["zombie_fire"] , player, "j_spine4");
playfxontag(level._effect["zombie_fire"] , player, "j_neck");
}
}
break;
case "both":
if(isDefined(trigger.script_flag) && trigger.script_flag == "looping")
{
while(IsAlive(player))
{
playfxontag(level._effect["electricity"] , player, "j_spine4");
playfxontag(level._effect["zombie_fire"] , player, "j_neck");
wait(4);
}
}else
{
playfxontag(level._effect["electricity"] , player, "j_spine4");
playfxontag(level._effect["zombie_fire"] , player, "j_neck");
}
break;
default:
if(isDefined(trigger.script_flag) && trigger.script_flag == "looping")
{
while(IsAlive(player))
{
playfxontag(level.lelectric_fx, player, "j_spine4");
playfxontag(level.lelectric_fx, player, "j_neck");
wait(5);
}
}else
{
playfxontag(level._effect["electricity"] , player, "j_spine4");
playfxontag(level._effect["electricity"] , player, "j_neck");
}
break;
}
}else
{
iPrintLn("Trigger Undefined");
}
wait(0.5);
}
}
FX_trig()
{
players = get_players();
AI = getaispeciesarray("axis");
triggers = getEntarray("flame_triggers", "targetname");
while(1)
{
for( i = 0; i < triggers; i++ )
{
if(players istouching(triggers[i]) && AI istouching(triggers[i]) ) // make sure that both Players and AI are in the trigs before playing the FX
{
playfx("CHANGE_THIS", AI.origin);
}
}
}
}
@daedra descent
Your script won't even compile. Sorry.
-
![]() | Has released one or more maps to the UGX-Mods community. |
![]() | Has released one or more maps to the UGX-Mods community. |
trig = getEnt("cell_trig", "targetname");
thread effect_think("zombie_effect_trigger", trig, undefined);
// thread effect_loader("targetname of trigger, you need to have this", "targetname of activating trigger, undefined if no trigger", "1 = needs power, undefined = doesn't need power");![]() | Has released one or more maps to the UGX-Mods community. |
effect_init()
{
trig = getEnt("hazmat_trig", "targetname");
trig2 = getEnt("cell_trig", "targetname");
level.zombie_variant = 0;
trigger = getent("zombie_effect_trigger", "targetname");
if(isdefined(trig))
{
trig SetCursorHint("HINT_NOICON");
trig SetHintString("Press & Hold &&1 to Pickup Orb");
while(1)
{
trig waittill("trigger", user);
if( is_player_valid(user))
{
user playsound( "cha_ching" );
level.zombie_variant = 1;
level notify("start_rounds");
trig delete();
trig2 delete();
thread effect_loader(trigger);
}
}
}
if(isdefined(trig2))
{
trig2 SetCursorHint("HINT_NOICON");
trig2 SetHintString("Press & Hold &&1 to Read Book");
while(1)
{
trig2 waittill("trigger", user);
if( is_player_valid(user))
{
user playsound( "cha_ching" );
level.zombie_variant = 2;
level notify("start_rounds");
trig delete();
trig2 delete();
thread effect_loader(trigger);
}
}
}
}
effect_loader(trigger)
{
iPrintLn("Flame On!!!");
while(true)
{
trigger waittill("trigger", player);
damage = (player.max_health / 4);
player dodamage(damage, player.origin);
if(isDefined(trigger.script_noteworthy))
{
switch(trigger.script_noteworthy)
{
case "fire":
if(isDefined(trigger.script_flag) && trigger.script_flag == "looping")
{
while(IsAlive(player))
{
playfxontag(level._effect["zombie_fire"] , player, "j_spine4");
playfxontag(level._effect["zombie_fire"] , player, "j_neck");
wait(5);
}
}else
{
playfxontag(level._effect["zombie_fire"] , player, "j_spine4");
playfxontag(level._effect["zombie_fire"] , player, "j_neck");
}
break;
case "electric":
if(isDefined(trigger.script_flag) && trigger.script_flag == "looping")
{
while(IsAlive(player))
{
playfxontag(level._effect["electricity"] , player, "j_spine4");
playfxontag(level._effect["electricity"] , player, "j_neck");
wait(5);
}
}else
{
playfxontag(level._effect["electricity"] , player, "j_spine4");
playfxontag(level._effect["electricity"] , player, "j_neck");
}
break;
}
}else
{
iPrintLn("Trigger Undefined");
}
wait(0.5);
}
}


![]() | 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. |
![]() Oil Rig Beta Access |
effect_init()
{
trig = getEnt("hazmat_trig", "targetname");
trig2 = getEnt("cell_trig", "targetname");
trig thread hazmat_fx(); you "thread" it so this function keeps going while the new one runs, instead of waiting for it to finish
trig2 thread cell_fx();
level.zombie_variant = 0;
}
hazmat_fx()
{
your hazmat trigger here, deleting the other one
}
cell_fx()
{
your other trigger here deleting the hazmat one
}
![]() | Has released one or more maps to the UGX-Mods community. |
![]() | 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. |
![]() Oil Rig Beta Access |
, but if the triggers work it's fine i guess... For the threading part:effect_loader(trigger)
{
iPrintLn("Flame On!!!");
while(true)
{
trigger waittill("trigger", player);
damage = (player.max_health / 4);
player dodamage(damage, player.origin);
if(isDefined(trigger.script_noteworthy))
{
switch(trigger.script_noteworthy)
{
case "fire":
if(isDefined(trigger.script_flag) && trigger.script_flag == "looping")
{
while(IsAlive(player)) // Here it keep's looping on the first zombie, without the rest of the function running so it doesn't "look" for new zombs untill the first one is dead.. Thread the part that plays the fx so the other function can keep tracking the zombs..
{
playfxontag(level._effect["zombie_fire"] , player, "j_spine4");
playfxontag(level._effect["zombie_fire"] , player, "j_neck");
wait(5);
}
}else
{
playfxontag(level._effect["zombie_fire"] , player, "j_spine4");
playfxontag(level._effect["zombie_fire"] , player, "j_neck");
}
break;
![]() | Has released one or more maps to the UGX-Mods community. |
......
case "fire":
if(isDefined(trigger.script_flag) && trigger.script_flag == "looping")
{
while(IsAlive(player))
{
thread activate_fx();
wait(5);
}
}.......activate_fx()
{
if(level.zombie_variant == 1)
{
iPrintLn("Fire zombies activated"); // this plays over and over onscreen when zombies touch trig
playfxontag(level._effect["zombie_fire"] , self.player, "j_spine4");
playfxontag(level._effect["zombie_fire"] , self.player, "j_neck");
}
if(level.zombie_variant == 2)
{
iPrintLn("Electric zombies activated");
playfxontag(level._effect["electricity"] , self.player, "j_spine4");
playfxontag(level._effect["electricity"] , self.player, "j_neck");
}
}case "fire":
if(isDefined(trigger.script_flag) && trigger.script_flag == "looping")
{
player thread activate_fx();
}
activate_fx()
{
if(level.zombie_variant == 1)
{
iPrintLn("Fire zombies activated"); // this plays over and over onscreen when zombies touch trig
while(IsAlive(self))
{
playfxontag(level._effect["zombie_fire"] , self, "j_spine4");
playfxontag(level._effect["zombie_fire"] , self, "j_neck");
wait(5);
}
}
// same for the other variant(s)
}