PDA

View Full Version : Properly finding new SpawnHeaderAddr offset



teamwhat
01-16-2015, 05:02 PM
Hi, I'm new to this whole thing but trying to learn to properly find new offsets just to learn. I'm poking around on the Test server now using the new offsets just posted to check my work. I had no trouble finding any of the other offsets, but I can't figure out how you're finding the SpawnHeaderAddr at all.

I've tried two methods I found in the Dev forum. The first

"Finding the SpawnHeaderAddr offset is very similar to finding the ZoneAddr. Type fs followed by your name. Make sure you capitalize the first letter. Ex: "fs Healzalot". Again, two results are okay."
successfully locates the CharInfo pointer address, but that is NOT the same as the Spawn Header, at least on Test.

So, I tried the other method posted

"Next we want to locate the pSpawnlist value, stored above as SpawnHeaderAddr. This is very easy once you have
# pTarget done above. Simply select any target in the game and use the 'wt' command:
# > wt
#
# You should see a long list of spawn information dump out. At the end, we do an automatic scan looking for
# where that entry point pointer lives. You should see a list of matches. Anyone of them could potentially be
# a valid pSpawnlist"

The 'wt" does successfully walk the spawn list until ending at my character, who does have a null pointer for Previous, so everything appears okay, but the scan that happens afterwards looking for that pointer never returns any matches at all. The SpawnAddr you posted IS correct, because the program functions correctly with it, I just can't figure out how you found it. Would love to know, thanks for all the awesome work done on this project!

eqmule
01-18-2015, 07:11 AM
Uhm you do know I'm the developer for MQ2 as well don't you? :)

When I update MQ2 that offset and all the other offsets is part of MQ2 so I uh, don't use the offset finder function to find offsets... Updating MySEQ is just a side effect of updating MQ2... I get my offsets from that source.

I know that technically doesn't answer your question of HOW I find it but eh it's kinda complicated I use a plugin in IDA and a program called patchday to find several hundred offsets at once...

teamwhat
01-19-2015, 10:22 AM
I did not know that! You do some pretty amazing work, sir. I played with MQ2 some too but was missing Test server offsets there as well and those seem to be locked behind subscription sites. I've used IDA before and found some info, so I'll play around with that next :) Thanks so much for the answer!

eqmule
01-19-2015, 11:14 AM
I included test server offsets last year for mq2 it's very simple to build for test server just change #define LIVE in mq2main.h to #define TEST
And it will build a mq2 for the test server.

teamwhat
01-19-2015, 02:09 PM
Hey neat! I'm poking around the code now and you guys have done a really pretty job. Looks a thousand times less hideous than my work codebase. Not sure what to start prodding yet, but thanks a ton for all the help :) Haven't touched C++ since college and this is really cool to tinker with