PDA

View Full Version : Trying to figure out this offset thing



SeqTester
07-05-2007, 04:33 PM
Trying to figure out this offset thing, I found one but the rest I am kinda stumped on.

ZoneAddr=0x918894

I found this using the debug mode of the MySEQ Server.

will update you to the right map, but thats all it does. :(

brianp
07-05-2007, 07:24 PM
With all the things they broke/ruined in this patch, i'm not really keen on playing EQ atm anyway. I was in plane of fear when all my "necessary" input stopped working. I could still mouseover buttons and they would light up, and could press alt and have spell names appear, etc, but couldnt move, cast spells, or anything else. Even the X in the corner wouldnt close the game and i had to use task manager. YAY SOE!

SeqTester
07-05-2007, 07:32 PM
also /friends is broke, some AA Hotkeys broke, and a few other things also.

I am sure there will be another patch tomarrow. I also gave up on playing tonight. I was still messing with the offsets hoping I could figure something out for next patch.
Ended up wasting time but learned something so who cares.

65536
07-05-2007, 07:46 PM
The reason why you are having a hard time finding the offsets is because the structures changed. Here are a few I found. This should allow you to have base functionality until next patch. I have never worked with EQ memory structures before, so I am not sure how other things such as class and heading are stored.

[Memory Offsets]
SpawnHeaderAddr=0x8fa668
CharInfo=0x8fa668
TargetAddr=0x75431c
ZoneAddr=0x918894

[SpawnInfo Offsets]
NameOffset=0xA4
LastnameOffset=0x38
XOffset=0x64
YOffset=0x68
ZOffset=0x6c
PrevOffset=0x8
NextOffset=0x4
LevelOffset=0x1f8

Hidron
07-05-2007, 07:50 PM
The AA hotkey issue was addressed in the patch message. Since they were aware of the hotkey issue, I doubt they will do anything from their side to fix them.


You will still have all of the AAs you had previously, but their names and ranks may have changed and you may need to recreate hotkeys for some of the abilities in order to ensure you are using the highest rank's effect.I did notice that any triggered AA's that had multiple tiers combined in the new AA window broke the hotkey. If you can remember which hotkeys were which, you can recreate them. For instance, on my wizard, the hotkeys for the Xuzl AA pet and familiars were broken, but the manaburn hotkeys were not (and were still all listed separately).

SeqTester
07-05-2007, 09:20 PM
I know there where a few people with issues and hotkeys even after the claimed they recreated. It was nto me so I can not say for sure.

Thanks for that input, got me a little farther.
"ItemsAddr=0x8fa638" got color back on map.
FYI: this was my only change, the rest are from 65536's post, just wanted it all in one place in case someone else picks up from here.

How are you getting your offsets?

[File Info]
PatchDate=07/05/2007

[Memory Offsets]
SpawnHeaderAddr=0x8fa668
CharInfo=0x8fa668
TargetAddr=0x75431c
ZoneAddr=0x918894
ItemsAddr=0x8fa638

[SpawnInfo Offsets]
NameOffset=0xA4
LastnameOffset=0x38
XOffset=0x64
YOffset=0x68
ZOffset=0x6c
LevelOffset=0x1f8

65536
07-05-2007, 09:36 PM
I found out how some of the other members of the spawn structure are stored. I have them all except for the TypeOffset. I am not sure if TypeOffset corresponds to the BodyTypes.txt or the SpawnTypes.txt file. Too lazy to check the source code lol. Here is the current list. If I get time later I will work on the GroundItem Offsets. In response to SeqTester am using WinHex and Cheat Engine to search the memory structures.

[File Info]
PatchDate=07/05/2007

[Memory Offsets]
SpawnHeaderAddr=0x8fa668
CharInfo=0x8fa668
TargetAddr=0x75431c
ZoneAddr=0x918894
ItemsAddr=0x8fa638

[SpawnInfo Offsets]
NameOffset=0xA4
LastnameOffset=0x38
XOffset=0x64
YOffset=0x68
ZOffset=0x6c
SpeedOffset=0x7c
HeadingOffset=0x80
PrevOffset=0x8
NextOffset=0x4
LevelOffset=0x1f8
HideOffset=0x1e0
ClassOffset=0xe38
SpawnIDOffset=0x0
RaceOffset=0xe34

SeqTester
07-05-2007, 09:43 PM
Cool thanks, I was about to post some of the ones I figured by hand, but you already got them. I saw some where going up by 28 and some down by 4 so I played with that to get some.

I will look into that software I think I have one of them already.

65536
07-06-2007, 01:31 AM
I got anoyed by all the NPCs having squares around them like they are players so I looked at the source code to identify what was meant exactly by type and found the final member of the spawn structure. Most current offsets:

[File Info]
PatchDate=07/05/2007

[Memory Offsets]
SpawnHeaderAddr=0x8fa668
CharInfo=0x8fa668
TargetAddr=0x75431c
ZoneAddr=0x918894
ItemsAddr=0x8e7638

[SpawnInfo Offsets]
NameOffset=0xA4
LastnameOffset=0x38
XOffset=0x64
YOffset=0x68
ZOffset=0x6c
SpeedOffset=0x7c
HeadingOffset=0x80
PrevOffset=0x8
NextOffset=0x4
TypeOffset=0x334
LevelOffset=0x1f8
HideOffset=0x1e0
ClassOffset=0xe38
SpawnIDOffset=0x0
RaceOffset=0xe34

gawker
07-06-2007, 09:28 AM
65536 -

ItemsAddr=0x8fa638

Thanks for the work guys.

Oggre
07-06-2007, 02:53 PM
There is a small differences between the official posted offsets by Seaxouri and those posted by 65536 at 1:31 AM today. They are the spawn IDOffset and the TypeOffset. When I use the ones on the other thread it works, but all mobs are green and all have yellow rings around them. When I change the TypeOffset to 65536's value of 0x334 then the program works as before. Please post if this is the same for you all.

Thanks again to all of those who worked to get these today.

O

SeqTester
07-06-2007, 05:21 PM
There is a small differences between the official posted offsets by Seaxouri and those posted by 65536 at 1:31 AM today. They are the spawn IDOffset and the TypeOffset. When I use the ones on the other thread it works, but all mobs are green and all have yellow rings around them. When I change the TypeOffset to 65536's value of 0x334 then the program works as before. Please post if this is the same for you all.

Thanks again to all of those who worked to get these today.

O
TypeOffset=0x334
same thing for me.

There is still one other difference between what I have in mine and the normal post, trying to figure that out for sure next.


Here is what I am using, seems to work for me. I have not played with IDOffset yet being this works for me right now and I have other things to do. Just wanted to add what I am using now.

[Memory Offsets]
SpawnHeaderAddr=0x8fa668
CharInfo=0x8fa668
TargetAddr=0x75431c
ZoneAddr=0x918894
ItemsAddr=0x8e7638

[SpawnInfo Offsets]
NameOffset=0xA4
LastnameOffset=0x38
XOffset=0x64
YOffset=0x68
ZOffset=0x6c
SpeedOffset=0x7c
HeadingOffset=0x80
PrevOffset=0x8
NextOffset=0x4
TypeOffset=0x334
LevelOffset=0x1f8
HideOffset=0x1e0
ClassOffset=0xe38
SpawnIDOffset=0x4
RaceOffset=0xe34

[GroundItem Offsets]
PrevOffset=0x00
NextOffset=0x04
IdOffset=0x08
DropIdOffset=0x0c
XOffset=0x34
YOffset=0x30
ZOffset=0x2c
NameOffset=0x38

65536
07-06-2007, 09:12 PM
This was my first time looking at EQ's memory structures and I have little experience with MySeq, so I had to guess as to many of the meanings of the offsets and how they are represented. Does the Spawn ID have some sort of meaning in EQ or is it just for MySeq? I assumed that it has some meaning in EQ. There is a value at the very beginning of the spawn structure before the next and previous pointers. This is the most logical place to put a unique identifier, and from what I have seen no two spawns share the same value. It seems kind of odd to use the next pointer as a unique identifier unless the value only has meaning in MySeq.

Seaxouri
07-07-2007, 02:20 AM
The spawnID is very important in only one aspect, that it be unique from all other spawnIDs. There used to be a real spawnID, but I lost that a long time ago. Then I decided, since the spawns are all kept in a doubly linked list anyhow, that the next (or prev) would all be unique naturally, so I used that as the spawnID and its been working fine for over 2 years now. Also, when structures change, I don't ever have to bother with re-finding that secondary offset, since the next pointer works fine.

If you think you have rediscovered the true spawnID at offset 0, great. If it is really valid, then you will see a 'good' list (press F8) in the listview. If the offset is invalid, you will see a truncated list where one row seems to be updating constantly... maybe several hundred times per second... with different information each time.

The type offset may be wrong, I'll check it. It was not in the 11:36 post, so I used my old value. I'll update the sticky with the 0x334 value.

Update: 0x334 is correct for TypeOffset. 0x140 is wrong, it was making every spawn an NPC. Also, the spawnIDOffset setting is ignored in the INI file (I forgot I did that, oops). I always use the actual pointer to the structure as a spawnID (so I don't get the dreaded 0 spawnID like I would using next or prev).

benjimouse
07-07-2007, 10:30 AM
I'm not positive that 0x334 is correct either, since corpses aren't showing up as corpses (at least not for me).

Mucking around a bit leads me to think that 0x125 may be the correct TypeOffset, but I'm new at this, so I could be wrong.

Oggre
07-07-2007, 11:22 AM
The corpses are an issue for me too, although I haven't looked since using the updated value of 334. When using the old value I had mobs on the spawn list but none shown on the map; the corpses were listed as level appropriate con color mobs and I can't say how they appeared on the map.

I can deal with the corpse issue though, until next patch or until someone digs around a bit and finds a better value. With the most updated published offset values though the program works, and I'm thankful for that.

O

Seaxouri
07-07-2007, 06:24 PM
From what I can see so far, it looks like when something dies, the Type remains the same, but the class and race change to LDoN Object/Chest.

Before there were 3 main types, NPC, Player or Corpse. Now it appears there only might be two types, and corpse determination is different.

If that is true, a fix would require a client change.

benjimouse
07-07-2007, 08:51 PM
Well, for what it's worth, I've been playing all day with the TypeOffset = 0x125, and everything seems to be behaving normally - PC's show up as PC's, NPCs show up as NPCs, and corpses show up as corpses (PC and NPC). I haven't noticed anything else out of the ordinary.

This included testing in the GL, plus XP in several zones. But nothing 'special' like MMs or LDONs.

Just posting my experiences. YMMV

bushdaka
07-09-2007, 02:17 PM
0x125 seems to be working for me too.

65536
07-09-2007, 09:20 PM
Found the offset for Spawn ID. Changed the server to use the offset and it seems to work fine. Submited a patch so next build everyone else should be able to use it.

[File Info]
PatchDate=07/05/2007

[Memory Offsets]
SpawnHeaderAddr=0x8fa668
CharInfo=0x8fa668
TargetAddr=0x75431c
ZoneAddr=0x918894
ItemsAddr=0x8fa638

[SpawnInfo Offsets]
NameOffset=0xA4
LastnameOffset=0x38
XOffset=0x64
YOffset=0x68
ZOffset=0x6c
SpeedOffset=0x7c
HeadingOffset=0x80
PrevOffset=0x8
NextOffset=0x4
TypeOffset=0x125
LevelOffset=0x1f8
HideOffset=0x1e0
ClassOffset=0xe38
SpawnIDOffset=0x148
RaceOffset=0xe34

[GroundItem Offsets]
PrevOffset=0x00
NextOffset=0x04
IdOffset=0x08
DropIdOffset=0x0c
XOffset=0x34
YOffset=0x30
ZOffset=0x2c
NameOffset=0x38

Seaxouri
07-10-2007, 08:11 AM
Where did you submit your patch. I don't see it.

Also, does this buy us anything? The downside is that we need to locate another secondary offset when they change. I am wondering what the upside is.

purple
07-10-2007, 08:46 AM
If you run mq2 or something else that knows about spawn ids, it's nice to have a common identifier. But I can't imagine it being that important.

65536
07-10-2007, 10:34 AM
Where did you submit your patch. I don't see it.

Also, does this buy us anything? The downside is that we need to locate another secondary offset when they change. I am wondering what the upside is.
Patch is at http://sourceforge.net/tracker/index.php?func=detail&aid=1750919&group_id=10131&atid=310131. Spawn ID allows you to order mobs by their spawn order. Which is the same order they are in the track list. Its nice when you are farming something and don't want to setup alerts for half the mobs in the zone. When the mobs you are killing respawn they will be on the top of the list.

Seaxouri
07-11-2007, 08:33 AM
Probably what I will do is if the offset is set to 0, I will use it like it is today. Otherwise I will use the given offset to locate the spawnID.

When you do patches, can you use the -w option? I realize the EOL chars are a constant battle, and while I prefer Unix EOL myself, the damn IDE keeps changing it back to DOS EOL, even though I tell it to use Unix EOL (it was free, what do you want?).
In any case, it makes it near impossible to see what was changed without the -w option, so please use that if you don't want to 'convert' to the current EOL setting.

Thanks.

PS: As for sorting by spawn time, I would imagine you could accomplish the same thing today by clicking on the 'Spawn Time' column, although I have not tested it.

kunark
07-12-2007, 08:06 PM
PS: As for sorting by spawn time, I would imagine you could accomplish the same thing today by clicking on the 'Spawn Time' column, although I have not tested it.
yes you can sort it that way, I use that when I camp the dang flying wanna be never spawning horse in SK.