EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Summoned Pets Turn to Ghosts (https://www.eqemulator.org/forums/showthread.php?t=23617)

Irreverent 09-11-2007 03:59 PM

No, had similar issues in Windows code.

Furrygamer 09-11-2007 04:22 PM

So what did you do to fix it? yes i know linux and window are different! might be able to translate it though. ^.^

Lalolyen 09-11-2007 04:56 PM

It looks like one actually made it so that pets are lost before they zone to fix their problem. Not sure about anyone else.

So this is not a platform problem?

KLS 09-12-2007 08:37 AM

Hm, was thinking perhaps the pet isn't being freed correctly by SetPet(0) for whatever reason;

Could try adding:

Code:

        Mob *mypet = GetPet();
        if(mypet)
                mypet->Depop();

directly above:

Code:

        //let the stream factory know were done with this stream
        eqs->Close();
        eqs->ReleaseFromUse();

in Client::~Client() ln241 in client.cpp and see if it has any impact on at least the pets no longer appearing in the zones as regular npcs.

Irreverent 09-13-2007 12:37 AM

I would say its not dependant of what type of system you're on. Its just a general code issue.

Lalolyen 09-13-2007 05:36 AM

Ok just recompiled and...

No joy...

Keep in mind with presistant zones turned off, there is not a problem (but spawns reset each time the zone idles/sleeps. However turning it back on to test this out, yeah pets still have shadows =(.

Lalolyen 09-13-2007 05:39 AM

KLS what file is it that controls the spawn conditions? I'm just wondering if we can have that code do a depop on any mob named "Sum*" and "Skel_Pet" etc upon a zone becomming active again.

KLS 09-13-2007 07:16 AM

Wouldn't happen to be using PersistentZoneState variable when this is happening would you?

Also if not, can you please tell me any variables you do have set or anything else you think I should know about how your server is setup.

Lalolyen 09-13-2007 09:20 AM

Oh yeah presist is on when this happens. Not enabling it will mess up spawns when a zone goes idle.

KLS 09-13-2007 09:35 AM

Ah yeah I've been told to steer clear of it in the past cause it does not work very well atm. I looked at it briefly and it doesn't differentiate between pc pets and reg npcs when it traverses the spawn list.

Lalolyen 09-13-2007 10:02 AM

Where is it storing the spawn list? Not in the sharemem is it?

If there is some temp file and I can get ahold of the source thats creating that code I'll get to work on to see what I can do to have it not stick any pets in it =).

Actually... What source file does the save?

KLS 09-13-2007 10:48 AM

ZoneDatabase:: DumpZoneState() in zone.cpp is what handles saving the zone state if you wanna take a look at it. Just looking at it I don't see a simple elegant solution. Might take some work.

Lalolyen 09-14-2007 01:10 AM

Now who said us devs are elegant? =P he he.

I've always heard something like, "If it doesn't crash, explode, whirl, or tick, do it again because you did something wrong" he he.

gernblan 09-14-2007 08:13 AM

This can be a tough one to solve I think, because of course sometimes pets can follow their owners from zone to zone.

I guess finding the way that they are somehow taking on more than one instance across zones and simply preventing more than one (similar to a spawnlimit of 1 I guess but global) would be the way out of this, because persistent pets would not be affected, but pets somehow turning into "ghost spawns" might be avoided.

I'm trying to brush up and catch up on my C++ after I finish absolutely mastering Perl (no small feat as anyone who codes in Perl knows... it's the easiest language to pick up and probably the most difficult language to master out there--a testament of it's power)... and wish I could help track down these bugs more.

I also need to continue studying the eqemu code and learning it in more detail--enough detail to know what's been done already and where everything is.

My participation on that front IS coming though. Once up to speed I'm not a bad programmer, it's just been awhile in terms of certain languages.

For now, I can only play cheerleader to those such as KLS and remind them how grateful I am that they are around.

jenco420 10-14-2007 08:02 AM

Has this been fixed yet, still a problem on my server =(


All times are GMT -4. The time now is 10:32 PM.

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