Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 12-09-2011, 12:20 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default Requesting packet collects.

I am looking for any packet collects from previous supported clients (so that opcodes have mostly been figured out). Preferably if you have a merc or browsed merc data, etc. I've been working out some live opcodes by comparing to SoD and determining the contents, but more collects would be even more helpful. If you have one or more that I could use, please send me a PM.

I have figured out how to request and send mercs available for hire, but sorting out all of the other stuff among all of the unknown opcodes is a pain.

Thanks.
Reply With Quote
  #2  
Old 12-09-2011, 01:35 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

I don't know if this is any use to you, or if you have already progressed beyond where I got to when messing around with Mercenaries:

http://www.rama.demon.co.uk/Merc.patch

With that patch, using Underfoot, if you spawn a Merc Liason (e.g. #spawn a 1 1 1 1 0 71) and right-click him, it will send a hard-coded response to populate the Merc Merchant window with some Dark Elf Merc data.

If you select one and click 'Hire', it sends another hardcoded response which brings up the 'Manage Mercenary' window with the timer starting to tick down from 15:00.

Some of the OpCodes in there I just made up names for (e.g. OP_MercenaryAssign, OP_MercenaryTimer) as I wasn't 100% sure what they were for.

Anyway, that's as far as I got before I lost interest. I am pretty sure that the OP_MercenaryDataResponse packet is slightly different for SoD, as I originally worked on this using SoD and am sure I had to add a few extra fields when I converted it to work with Underfoot (I think the UF packet struct for that OpCode is identical to Live, at least it was a few months ago).
Reply With Quote
  #3  
Old 12-09-2011, 03:10 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

I'll take a look at that. It should help. I've identified pretty much all the packets used for timer, setting stance, suspending, etc. I use SoD on my private server, so I would need to figure those out. I'll look at what you have and see where that gets me.

One issue I've run into is different sized structures for merc responses based on merc proficiency . I haven't found a similar example where a structure contains a different number of data fields, not just different size based on text included. Can you think of any? For example, melee journeyman mercs include 2 more int32s, while journeymen casters have 4 more int32s. I also dont have any data on any mercs above journeyman tier 1.
Reply With Quote
  #4  
Old 12-09-2011, 03:41 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

Re: different size structures, maybe the stance data ?

If you look in my hardcoded packets, most of them just have two stances (passive or balanced), while Tier 1 Damage Caster has 4 (passive, balanced, Burn and Burn AE). There is a count field that specifies how many stances follow.
Reply With Quote
  #5  
Old 12-09-2011, 04:21 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

That makes sense and helps a lot. I think I was just confused with the unknown after the count and before the actual stances. This should actually be a little easier that I was thinking. Your code is helping a lot. I've not done any work with opcodes and encoding packets so this will help me all around.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

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


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3