No, had similar issues in Windows code.
|
So what did you do to fix it? yes i know linux and window are different! might be able to translate it though. ^.^
|
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? |
Hm, was thinking perhaps the pet isn't being freed correctly by SetPet(0) for whatever reason;
Could try adding: Code:
Mob *mypet = GetPet(); Code:
//let the stream factory know were done with this stream |
I would say its not dependant of what type of system you're on. Its just a general code issue.
|
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 =(. |
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.
|
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. |
Oh yeah presist is on when this happens. Not enabling it will mess up spawns when a zone goes idle.
|
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.
|
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? |
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.
|
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. |
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. |
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.