PDA

View Full Version : Idea using Timers and Signals


Malignus Wingnut
09-25-2004, 06:13 PM
Was wondering if this would work, dont want to waste my time doing it if it wont.

Three quest scripts, one for a main boss mob, one for the untargetable version of the main boss, one a smaller mob.

Main Boss Script has a timer that loops around every 1 second. Each time the timer loops, it quest::signal the smaller mob script.


Smaller mob script when signaled checks if the x, y, and z coords of the mob are greater than or equal to a value, if true, it quest::signal both the Boss mob script AND the untargetable mob script.

Main boss script when signaled will despawn the main boss, and respawn with an untargetable version of itself.

Untargetable boss mob script when spawned will start two timers. One that will loop every 1 second, that will signal the Smaller Mob script, and one that will loop say every...60 seconds.

Since the untargetable mob script is now spawned, IF it is signaled by the smaller mob script, it will despawn itself and then respawn the exact same untargetable mob, resetting the 60second timer.

If the 60 second timer finishes without being reset, the untargetable mob will despawn, and spawn the original targetable boss mob.


In case I lost you anywhere in there here's a basic overview. NOT full quest scripts, just ideas.

MAIN BOSS MOB


sub EVENT_SPAWN
{
quest::settimer(1,1);
}

sub EVENT_TIMER
{
quest::signal(SmallerMob);
}

sub EVENT_SIGNAL
{
quest::stoptimer(1);
quest::spawn(UntargetableMob,0,0,$x,$y,$z);
quest::depop();
}


SMALLER MOB



sub EVENT_SIGNAL
{
if($x >= 50 && y <= 50 && z == 100)
{
quest::signal(BossMob);
}

}




UNTARGETABLE MOB



sub EVENT_SPAWN
{
quest::settimer(1,1);
quest::settimer(2,60);
}


sub EVENT_TIMER
{
quest::signal(SmallerMob);
}

{
quest::stoptimer(1);
quest::stoptimer(2);
quest::spawn(BossMob,0,0,$x,$y,$z);
quest::depop();
}

sub EVENT_SIGNAL
{
quest::stoptimer(1);
quest::stoptimer(2);
quest::spawn(UntargetableMob,0,0,$x,$y,$z);
}




I just thought this up tonight, dunno if it will work. Plz post feedback.

smogo
09-25-2004, 10:27 PM
Hmm, not sure what this is meant to do :/
Could you explain more ?

Malignus Wingnut
09-26-2004, 02:04 AM
Ok basically imagine an event. There is one large boss mob that spawns, and then waves of smaller mobs spawn and being walking towards the main boss's room. If any of the smaller mobs make it into the main boss's room, the main boss becomes untargetable. The untargetable boss is then on a timer, the waves of smaller mobs still keep coming during this stage when the boss is untargetable. If you can keep the smaller mobs out of the main boss's room for long enough (when the timer runs out) He becomes targetable again.

This is similar to how the Manaetic Behemoth event works in PoI, however in EQ Live the boss poofs if any spiders make it to his room and the encounter is failed. I dont want to exactly copy EQ Live so i decided to just make him untargetable if a mob reaches his room.

Cisyouc
09-26-2004, 04:53 AM
This can already be done with targlobal, timers and simple if statements =)