EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Validity of Quest Objects (https://www.eqemulator.org/forums/showthread.php?t=27809)

Dibalamin 04-03-2009 08:40 AM

Validity of Quest Objects
 
How many of these quest objects are still valid?

http://www.eqemulator.net/wiki/wikka...a=QuestObjects

I've tried a few in $mob & they don't work.

Is there an updated complete list that someone might share?

realityincarnate 04-03-2009 01:13 PM

To the best of my knowledge, they all still work, plus some more that aren't listed there. What have you tried?

I know it isn't as convenient as an up-to-date, alphabetized list, but if you look at the source code you can find all these functions in perl_mob.cpp. The same is true for the other quest objects... look in perl_"whatever".cpp

Dibalamin 04-03-2009 04:17 PM

I don't have c++, I'm not a server dev, I just code quests =o. I'll see if I can get this ripped though! Thanks!

trevius 04-03-2009 04:29 PM

Sometimes you have to play with them a bit to get them working. Most of the ones in $mob actually need to be used as $npc or $client, and don't work as $mob. Sometimes, you also have to do a CastTo to get them working. Just takes alot of playing with them sometimes to get them figured out.

Dibalamin 04-03-2009 04:40 PM

I'll give you a shiny nickel to explain the CastTo stuff, I see it all over and still have no real idea what it does....

realityincarnate 04-03-2009 10:36 PM

I'd forgotten that the $mob stuff doesn't work in quite as straightforward a fashion as the others. Almost nothing that I've seen actually works with the $mob variable, but those functions will work if you call them from $npc or $client, depending on who you want them performed on (or by). You can think of the $mob functions as a subset of the $client and $npc... I'm sure there are exceptions, but all of the functions I played with can be called from either (but don't work if you actually use $mob).

The CastTo... functions are used to change an object from one type to another. So if you want to use a function from the mob list on the client, you could use "$client->CastToMob()->" or "$npc->CastToMob()->" to call whatever $mob function you want. I've never actually had to use the CastTo functions in quest writing, but then I haven't really pushed the limits of the system, either.

Dibalamin 04-03-2009 11:46 PM

Thanks Reality, that helps a ton actually....

GetHateTop is on the $mob list, I'm trying to have one mob get the hate top of the list of another mob & cast a spell on it but not aggro...before I drive myself any crazier...is this even possible? I've been on this for a while now and can't get it rolling.

I see similar things in the linking of mobs in TOV (Like Eashen)....and I think I found the code in Sentry Rotiart, but I am not sure how to modify it to cast a spell instead of attacking:

Code:

   
    my $attack = $entity_list->GetMobID(mobid);
    my $traitorattack = $attack->CastToNPC();
    $traitorattack->AddToHateList($client, 1);

$traitorattack->CastSpell(spellid, $client);
in this case, doesn't work..

Code:

my $attack=$entity_list->GetHateTop();
my $traitorattack=$attack->CastToNPC();
$tratorattack->CastSpell(spellid,$client);

I'm grasping at straws here, I'm missing some small piece of how all this fits together.

realityincarnate 04-04-2009 12:22 PM

The main problem with your version of the quest is that GetHateTop() isn't a member of the entity list. If you call $npc->GetHateTop(), you'll get a result, which I believe is mob type. You should then be able to either call functions from that or cast it to whatever you need.

You also have a typo in the last line ("trator" instead of "traitor").

Dibalamin 04-04-2009 10:21 PM

Ok, so CastToNPC() is the variable passer that I've been looking for? I may joygasm if that is the case

my $attack=$npc->GetHateTop();
my $traitorattack=$attack->CastToNPC();
$traitorattack->CastSpell(spellid,$client);


All times are GMT -4. The time now is 02:01 PM.

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