EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   max PC on hatelist? (https://www.eqemulator.org/forums/showthread.php?t=36654)

Maceblade 03-16-2013 04:05 PM

max PC on hatelist?
 
Im trying to make a mob that has a max of 6 people allowed on his hate list and anyone that tries to assist over that gets ported.

I guess i need the line check for the hate list part of it.

sorvani 03-16-2013 05:05 PM

look at using

sub EVENT_HATE_LIST

and

$npc->GetHateList()

Maceblade 03-16-2013 08:48 PM

Thanks, I got that part im just curious as to how you get it to remove PC 7+?

Zamthos 03-16-2013 08:52 PM

Maybe an if statement that checks if the hatelist is over six, and if it is, it randomly selects a player and ports it away?

sorvani 03-16-2013 08:54 PM

Walk the hate list and after you get to 6 add each new client to an array. When you are done walking the hate list, then walk you temp array and gmmove them all

Kayen 03-17-2013 02:31 AM

Code:

my $count = 0;
my @hatelist = $npc->GetHateList();
                       
foreach $ent (@hatelist)
{
        my $h_ent = $ent->GetEnt();
        $count++;
                                       
        if ($h_ent)
        {
                if ($count >= 7)
                {
                    $npc->GMMove(whatever)
                }
        }
               
}


sorvani 03-17-2013 03:58 PM

thinking about this some more, I would not just walk the hate list as pets will be there too.
walk the list each time the event hits. and check if it is a client. if so add it to a list of names in an array declared at spawn.

once that array is up to 6, if GetName or GetOwner is not one of the 6 names then port them.

depending on how you want to handle a fail, you can reset the 6 names to nothing when the mob leaves combat. or set a time to reset the names if you are going to give them a chance to regroup before anyone else can do anything.

if you have any kind of massive damage ability with a range greater than the aggro range, you may want to rethink a few other things as people could easily do something like a mana burn or crit big damage spell or something in a large 1 shot blast. it will still do the damage and then add the person to the hate list which would then port them. but the damage would already be done.


All times are GMT -4. The time now is 05:54 PM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.