Page 2 of 2 FirstFirst 12
Results 16 to 18 of 18

Thread: How to find offsets

  1. #16
    Registered User
    Join Date
    Dec 2017
    Posts
    10

    Re: How to find offsets

    Well, no luck from my end.

    I successfully installed EQ in a VM (virtual box), windows 7, 32 bit.
    Installed MySEQ and got stuck at the same point as before.

    when i type "wt" while targeting something, it never finds the spawn address.

    either way, I'm done figuring this out. If people don't want to give instructions on how THEY do it, then i'll just have to wait till they post the answers

    I have to say though, EQPlayer posted them like 2 minutes after server up this last time.... makes my quest to learn how to do it seem pointless. Until he quits playing EQ anyway...

    Unsure if the program works in a VM at this point. There is no way I'll be able to locate an actual single core PC to install EQ onto. If I do, i'll let you guys know what I find out and if I can successfully do it, i'll post detailed instructions on how I do it.

    Thanks.

  2. #17
    Registered User
    Join Date
    Aug 2017
    Posts
    6

    Re: How to find offsets

    I don't have any issues figuring out the primary offsets generally, but the secondary are harder... ive tried messing w/ Cheat Engine like one of the guides suggested but im not entirely sure what I am supposed to be doing with it

  3. #18
    Registered User
    Join Date
    Aug 2002
    Posts
    29

    Re: How to find offsets

    So, I'm using Windows 10 64-bit (not happy about it, but there we are), and I'm able to follow the directions in the comment block at the end of the .ini file to find most of the primary addresses (note: all commands below are enclosed in quotes, but obviously don't include the quotes when entering the commands yourself):

    In the guild lobby:
    1: Use the command "fz guildlobby". This step takes a long time, and usually returns a couple of different values, which I write down. Usually, one of them is closer to the previous correct value for ZoneAddr, so I pick that one, update the .ini file, and use the "r" command to reload the offsets. I also figure out the delta between each of the returned values and the old value for ZoneAddr by subtracting the new values from the previous correct one.

    2: Target Guardian Rooksis (the Erudite guard standing to the right of the archway you pass through to get to the PoK zoneline), and use the command "ft Guardian_Rooksis00". This one happens much more quickly than the fz command, and again, usually comes up with 3 or fewer hits (today, it's returning 2). I write them down, then pick the one that seems to be closest to the one that I picked from the fz command results, update the .ini file, and use the "r" command to reload. Usually, this result will have the same (or nearly the same) delta from the previous correct value for TargetAddr and the value from step one did from the previous correct value for ZoneAddr.

    3: Target myself and use the command "ft (my toon's first name here)". This one returns more hits than the one in step 2 here (today, it's returning 4), but we can ignore the ones that are the same as the ones in step 2. I then pick the one that has the same (or closest) delta from the previous correct value for CharInfo, update the .ini file, and use the "r" command to reload, but I write down all of the possibilities.

    4: In game, use the /ti command to get current game time. Note the IN-GAME date (e.g., May 25, 3174). Use the sfw command, including the in-game date (e.g., "sfw 05/25/3174") . For me, this generally only returns one result, which is the correct value for WorldAddr. Update the .ini file and use the "r" command to reload.

    5: This part is a bit tedious: With Guardian Rooksis targeted, use the command "es". This will produce 128 lines of output, each consisting of an address followed by 16 bytes of hex data, followed by the ASCII representation of the hex data. Scan through the output, looking for hex values that match your character level (ie., if you're level 85, look for the value 55). Write down the offsets associated with each match. Next, use the command "et". As before, you'll get 128 lines of output, but this time, the output is related to Guardian Rooksis. Since she's level 70, check all of the offsets you wrote down before for the hex value 46. If only one matches, then congratulations, you've found the correct value for LevelOffset in the [SpawnInfo Offsets] section. If more than one matches, then cross out all of the ones that don't, and save them for later.

    6: Here's where it gets dicey. I target Guardian Rooksis again and use the "wt" command. This takes awhile and generates a lot of output, most of which is superfluous, and the rest of which I don't understand how to use. In the end, though, it comes up with a list of pointer matches, but in my experience, none of them are the correct value for SpawnHeaderAddr, so I'm still working on figuring this one out. That said, we'll *maybe* get a good value for SpawnHeaderAddr later on, so don't despair.

    Now, zone to PoK:

    7: If you didn't get a single result for the possible value of LevelOffset in step 5, target Clayton Teek and use the command "et" again. Since he's level 100, check all of the addresses you didn't eliminate in step 5 for a value of 64. Hopefully, there will be only one, and it will be the correct value for LevelOffset.

    8: Use the command "sg". This will return a small number of results for pointers that may be pointing at ground spawns, one of which hopefully includes the text "_ACTORDEF". This should be the value for ItemsAddr. If you get more than one hit that includes "_ACTORDEF", try each one.

    At this point, we should have all of the primary addresses except for SpawnHeaderAddr. This one can sometimes be found by starting the non-debug version of the MySEQ server and clicking the "Offset Finder" button. You'll need to click on "Find EQgame.exe" and navigate to where your EQgame.exe file is, then click "Scan Primary". Update the .ini with the address that it comes up with, fire up the MySEQ client, and if all has gone well, you'll at least have skittles, ground spawns, and a spawn list, but some of the info (such as class, primary, secondary, and invis status) for the individual spawns may be incorrect.

    Unfortunately, that's as far as I can get, because I can't make the commands that scan for UINTs and floats work- they always return an error saying that the value I wanted to scan for seems to be invalid, and I don't know how to format the commands to make the debugger happy. If the commands WOULD work, though, the process that I'd expect to work for finding the primary and secondary offsets would be to target yourself. Then, at lucy.allakhazam.com, look up the weapon you're holding in your primary hand and click on "raw". Scroll down and look at the value of the "idfile" field- this should be in the format "ITnnnnn", where "nnnnn" is a 1 to 5 digit number, which I expect needs to be expressed in hex. Let's say for example that you're a druid and you have Nature Walkers Scimitar equipped...looking that up on Lucy, we see that the value for idfile is "IT150", so you'd want to search for a hex value of 96, and in theory, the command for that SHOULD be "sfu 96", but when I try that with myself or an NPC targeted, I always getting an error saying that 96 seems to be an invalid value, and if I try it with no target, I get no hits. If it were to return a good result, though, that would be the value for PrimaryOffset. You could repeat the process using the item that you have equipped in your secondary slot (or your range slot if that's what's currently visible), but in all cases going back to October 2012, the OffhandOffset has been equal to the Primary offset plus 14 hex.

    You could then search for your race and class by using the sfu command to look for the appropriate values for your race and class, and these can be determined by looking at the Classes.txt and Races.txt files in the cfg subdirectory of your MySEQ directory. The values to search for are the line number of the relevant file on which your race or class appears, minus one. So, if you were a halfling druid, you'd look for a value of 0b for race ("halfling" is on line 12, 12-1=11, 11 in hex is 0b), and a value of 06 for class ("druid" in on line 7, 7-1=6).

    I'm sure that a similar approach would work for HideOffset, but I don't know what the various values there mean.

    I have no idea how to determine what to search for to find SpawnIDOffset, OwnerIDOffset, and Type (unless Type corresponds to the values in the BodyTypes.txt file).

    Fortunately, the X, Y, Z, speed, and heading offsets haven't changed in a very long time, but for X, Y, and Z, I'd expect that in game, you'd do a /loc, then use the sfs command, keeping in mind that the values returned by /loc are Y,X,Z, but the command expects them in the order X,Y,Z.

    So, that's where I've gotten. It's far from perfect, and I'm not sure how to proceed from here, but there we are. Let's keep this going.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

You may post new threads
You may post replies
You may post attachments
You may edit your posts
HTML code is Off
vB code is On
Smilies are On
[IMG] code is On