EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   SoF Development Tracking (https://www.eqemulator.org/forums/showthread.php?t=27429)

KLS 07-11-2009 08:09 PM

It's more of a work around for the disconnects, I'm not entirely sure what causes them yet; I suspect it's somewhere in the dying code that destroys the client a certain amount of time after death. Cause I know with #optesting the appropriate packets that you can be dead and just sit there forever and ever and ever without the client disconnecting you =o

KLS 07-11-2009 08:29 PM

Okay I'm looking into it right now on the dead disconnection thing:

When a client dies they call Client::Death() which sets
dead = true
and dead_timer is set to go off in 5000MS

From there in the main process there's entity_list.MobProcess() which runs Process() on every mob in the entity_list and if it returns false it will drop the client or depop the npc it's processing.

and... in client::process we have
Code:

if(dead && dead_timer.Check()) {
                        database.MoveCharacterToZone(GetName(),database.GetZoneName(m_pp.binds[0].zoneId));
                        m_pp.zone_id = m_pp.binds[0].zoneId;
                        m_pp.zoneInstance = 0;
                        m_pp.x = m_pp.binds[0].x;
                        m_pp.y = m_pp.binds[0].y;
                        m_pp.z = m_pp.binds[0].z;
                        Save();
                       
                        Group *mygroup = GetGroup();
                        if (mygroup)        // && zone.GetZoneID() != m_pp.binds[0].zoneId
                        {
                                entity_list.MessageGroup(this,true,15,"%s died.", GetName());
                                mygroup->MemberZoned(this);
                        }
                        Raid *myraid = entity_list.GetRaidByClient(this);
                        if (myraid)
                        {
                                myraid->MemberZoned(this);
                        }
                        return(false);
                }

So 5 seconds after dying the client's process returns false and they are dropped even if they haven't zoned. To facilitate this we would need to alter the logic to only drop and move the client to the zone if they had a return to bind flag set, 6.2/titanium would set it automatically and would zone normally and SoF would set it when you clicked return to bind or whatever, and then could also have the code for instantly returning to the body after being revived.

KLS 07-11-2009 08:34 PM

oh and also
Quote:

That is really interesting that we get a monster ability window that already has abilities in it without even having to send tables to do it like AAs and such. I assume it works more like skills, where we don't really need to send anything for them to be listed, the client just knows them and it is a static list.
It's actually an empty window but it says monster abilities and has the load and save buttons on it. I suspect the requestpacket recieves a reply to fill it up.

KLS 07-12-2009 02:40 PM

I turned off the disconnection stuff but still cannot get the client to zone to itself. It will often just cause the corpse you make to warp to it's bind point instead(and your UI still does not respond), the respawn window does the same thing as that packet. I assume there's more packets that need to be sent to do it right or something.

Derision 07-12-2009 03:06 PM

I had a play around with this a few weeks ago. IIRC, the closest I got was to use the same 'hack' as the EvacToSafeCoords and use OP_RquestClientZoneChange if the player was using SoF and died in the same zone they where bound in. The problem I had was that once the player respawned after zoning, the camera angle was from up above, looking down on them, just like it was when they died.

I don't appear to have saved a diff of the changes I made.

Savnok 07-30-2009 04:21 AM

J&R Music World has copies (new) of SoF for $10.92 shipped. That is the best I could find currently and even beating the Ebay.
J&R is a fine fine company and you will get yor DVD. They have been around forver.
No I do not work for them ..life becoming a 24/7 Geico commercal for you? LOL, I know.

$10.92 shipped new DVD SoF copies. I am hearing this DVD is becomming extinct soon. Ouch

provocating 07-30-2009 08:40 AM

When I bought mine from NewEgg for $5 shipped, I almost ordered 3 or 4.

Rogean 08-05-2009 03:01 PM

Just deleted a message, keep in mind:

Quote:

Warez Is NOT Allowed
-This includes the transfer of any copyrighted material, including EQ Files and backpatches. Requesting files, even in a PM, will result in a ban.

Greyhelm 08-05-2009 03:04 PM

It was me. My apologies. Guess I should read the rules. Thanks.

thepoetwarrior 08-08-2009 09:35 AM

I got my copy on ebay brand new sealed for $5

Derision 01-24-2010 04:17 PM

Quote:

Medium Priority Work:
1. Stamina/Endurance - Stamina/Endurance does not regenerate properly and seems to drop when you zone. I believe this is because Live now sends endurance update packets and SoF probably does as well, but Titanium does not.
Is this still an issue ? If so, what exactly is the issue ?

I took a quick look yesterday and a warrior with the SoF client seemed to be regnerating endurance (the number the client showed didn't exactly match #showstats, but it didn't seem far out), and I didn't see endurance drop on zoning.

trevius 01-24-2010 09:59 PM

Yeah, it seems to have been corrected at some point and I don't know exactly when. It could have been fixing the consume packets or something else. I do think that SoF probably wants to get endurance update packets just like the health and mana updates, but it seems to be working ok without them as far as I can tell. If we see any more issues with it, we can always try adding an endurance update packet and see if that helps.

I finally messed with the encode/decode of the inspect packet for SoF again last night and got it working fine for SoF clients to inspect Titanium clients. I think I figured out why neither client can inspect SoF clients. I think they must have changed how it works since Titanium and now instead of the OP_InspectRequest going all the way from the inspector to the inspectee, I think it now just goes to the server and the server replies with the info instead of the inspectee replying. So packet handling would need to be able to build the reply packet if the inspectee is an SoF client.

ptarp 02-24-2010 11:52 AM

Quote:

Originally Posted by trevius (Post 164143)
2. Auras - The logs show Auras being used seem to work the same as normal buffs.

Just wanted to mention that on live auras actually create a spawn that is persistent for about 6 hours, and all but the shaman's (its stationary) stays with the caster even after zoning. If the aura spawn is up, the buff icon goes to the "Auras" window of the caster along with an "effect" buff that goes to the song window on beneficial auras. Most of them have an area affect that will affect all group members or mobs within 50 to 60 paces, and they get the "effect" song in thier window as well.
Wizard and shaman auras are mainly detrimental (I think), and affect mobs within the radius while mage aura adds a buff to their own pet only, and those don't create an effect buff in the window. Chanter, cleric, and melee auras are positive for the group that range from XP bonus (chanter learner's aura), and AC, or regen.
There's a little more to it, but they definately don't work the same as normal buffs.

trevius 02-24-2010 10:02 PM

Thanks for the info. I had never used them myself. The only aura thing I have played with on Live was some freebie veteran reward I had on my character. Clicking it showed an effect around my character, but the buff itself showed up in the normal buff window. I just assumed that was the same thing as the new aura system, but I guess it isn't.

I updated the original post in this thread with a small note about what you mentioned. I also updated and moved the Azone2 and Max Level issues into the recently resolved section, as Derision and KLS (and I think Secrets) have fixed them.

mixxit 04-19-2010 09:11 AM

*ignore this - i had some sort of file in use issue with azone2*


All times are GMT -4. The time now is 04:07 PM.

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