Page 1 of 2 12 LastLast
Results 1 to 15 of 17

Thread: 09/22/2015 LIVE Client Offsets

  1. #1
    Registered User
    Join Date
    Mar 2014
    Posts
    8

    09/22/2015 LIVE Client Offsets

    Well I don't have the SpawnInfo Offsets, but the following memory offsets look correct. (All tracking works, just no ground spawns save for the players corpse)

    Code:
    [File Info]
    PatchDate=9/22/2015
    
    [Port]
    port=5555
    
    [Memory Offsets]
    ZoneAddr=0x100641c
    SpawnHeaderAddr=0x108b9b0
    CharInfo=0xff8e48
    TargetAddr=0xff8e60
    ItemsAddr=0xff5590
    WorldAddr=0xff8e18
    Last edited by Android8675; 09-23-2015 at 11:11 AM. Reason: Corrected some spacing/formatting.

  2. #2
    Registered User
    Join Date
    Aug 2015
    Posts
    6

    Re: 09/22/2015 LIVE Client Offsets

    Quote Originally Posted by Android8675 View Post
    Well I don't have the SpawnInfo Offsets, but the following memory offsets look correct. (All tracking works, just no ground spawns save for the players corpse)
    Code:
    [File Info]PatchDate=9/22/2015   [Port] port=5555   [Memory Offsets] ZoneAddr=0x100641c SpawnHeaderAddr=0x108b9b0 CharInfo=0xff8e48 TargetAddr=0xff8e60 ItemsAddr=0xff5590 WorldAddr=0xff8e18
    This isn't working for me

  3. #3
    Registered User
    Join Date
    Mar 2014
    Posts
    8

    Re: 09/22/2015 LIVE Client Offsets

    Quote Originally Posted by zagerstyle View Post
    This isn't working for me
    So fix it? (or maybe be a little more descriptive on the problem.)

    Above settings combined with the old ServerInfo Offsets displays critters with unknowns for level/class/race, so the offsets are just off a bit. Trying to figure them out, but it's mostly working for me.

  4. #4
    Registered User
    Join Date
    Aug 2015
    Posts
    6

    Re: 09/22/2015 LIVE Client Offsets

    yeah sorry for short reply -- im trying to use the server debug to find the offsets, and they match mostly wha tyou have, my problem is doing wt it scans after the spawn listing and doesn't display anything

  5. #5
    MySEQ Developer
    Join Date
    Nov 2002
    Posts
    186

    Re: 09/22/2015 LIVE Client Offsets

    this is all u need to fix it:

    lets see who can figure it out. (teach a man to fish and all that)

    Code:
    //Actual Size: 0x1FEC Sep 22 2015 Live (see 5D239A) - eqmule
    typedef struct _SPAWNINFO {
    /*0x0000*/ void*        vtable;
    /*0x0004*/ struct _SPAWNINFO*   pPrev;
    /*0x0008*/ struct _SPAWNINFO*   pNext;
    /*0x000c*/ BYTE         Unknown0x000c[0xc];
    /*0x0018*/ FLOAT        SpeedMultiplier;
    /*0x001c*/ BYTE         Unknown0x001c[0xc];
    /*0x0028*/ FLOAT        Feet;//or floor or something, work in progress -eqmule 2015-07-20
    /*0x002c*/ BYTE         Unknown0x002c[0x4];
    /*0x0030*/ DWORD        PlayerTimeStamp;//doesnt update when on a Vehicle (mounts/boats etc)
    /*0x0034*/ BYTE         Unknown0x0034[0x4];
    /*0x0038*/ CHAR         Lastname[0x20];
    /*0x0058*/ BYTE         Unknown0x0058[0xc];
    /*0x0064*/ FLOAT        Y;
    /*0x0068*/ FLOAT        X;
    /*0x006c*/ FLOAT        Z;
    /*0x0070*/ FLOAT        SpeedY;
    /*0x0074*/ FLOAT        SpeedX;
    /*0x0078*/ FLOAT        SpeedZ;
    /*0x007c*/ FLOAT        SpeedRun;
    /*0x0080*/ FLOAT        Heading;
    /*0x0084*/ BYTE         Unknown0x0084[0x8];
    /*0x008c*/ FLOAT        SpeedHeading;
    /*0x0090*/ FLOAT        CameraAngle;
    /*0x0094*/ BYTE         UnderWater;
    /*0x0095*/ BYTE         Unknown0x0095[0xc];
    /*0x00a1*/ BYTE         FeetWet;
    /*0x00a2*/ BYTE         Unknown0x00a2[0x2];
    /*0x00a4*/ CHAR         Name[0x40];             // ie priest_of_discord00
    /*0x00e4*/ CHAR         DisplayedName[0x40];    // ie Priest of Discord
    /*0x0124*/ BYTE         PossiblyStuck;                  //never seen this be 1 so maybe it was used a a point but not now...
    /*0x0125*/ BYTE         Type;
    /*0x0126*/ BYTE         Unknown0x0126[0x2];
    /*0x0128*/ DWORD**      BodyType;
    /*0x012c*/ BYTE         Unknown0x012c[0xc];
    /*0x0138*/ FLOAT        AvatarHeight;           // height of avatar from groundwhen standing
    /*0x013c*/ FLOAT        UnknownHeight;
    /*0x0140*/ FLOAT        AvatarHeight2;          // height of avatar from groundwhen crouched/sitting
    /*0x0144*/ BYTE         Unknown0x0144[0x4];
    /*0x0148*/ DWORD        SpawnID;
    /*0x014c*/ DWORD        PlayerState;                    //0=Idle 1=Open 2=WeaponSheathed 4=Aggressive 8=ForcedAggressive 0x10=InstrumentEquipped 0x20=Stunned 0x40=PrimaryWeaponEquipped 0x80=SecondaryWeaponEquipped
    /*0x0150*/ DWORD        IsABoat;                // 1 = a type of boat
    /*0x0154*/ struct _SPAWNINFO*   Mount;      // NULL if no mount present
    /*0x0158*/ struct _SPAWNINFO*   Rider;      // _SPAWNINFO of mount's rider
    /*0x015c*/ BYTE         Unknown0x015c[0x4];
    /*0x0160*/ BYTE         Targetable;//1 if mob is targetable
    /*0x0161*/ BYTE         Unknown0x0161[0x43];
    /*0x01a4*/ FLOAT        RunSpeed;//0.70 on runspeed 5...
    /*0x01a8*/ BYTE         Unknown0x01a8[0x4];
    /*0x01ac*/ DWORD        SpellCooldownETA;
    /*0x01b0*/ DWORD        MasterID;
    /*0x01b4*/ BYTE         Unknown0x01b4[0x4];
    /*0x01b8*/ DWORD        FishingETA;
    /*0x01bc*/ BYTE         Unknown0x01bc[0x84];
    /*0x0240*/ WORD         Zone;
    /*0x0242*/ WORD         Instance;
    /*0x0244*/ DWORD        LastTick;
    /*0x0248*/ DWORD        GuildStatus;
    /*0x024c*/ BYTE         Linkdead;
    /*0x024d*/ BYTE         Light;
    /*0x024e*/ BYTE         Unknown0x024e[0x2];
    /*0x0250*/ DWORD        ManaMax;
    /*0x0254*/ BYTE         Unknown0x0254[0x8];
    /*0x025c*/ DWORD        ManaCurrent;
    /*0x0260*/ BYTE         Sneak;
    /*0x0261*/ BYTE         Unknown0x0261[0x3];
    /*0x0264*/ DWORD        RespawnTimer;           // TimeStamp of when RespawnWnd will close - 0 when you're alive
    /*0x0268*/ BYTE         Unknown0x0268[0x8];
    /*0x0270*/ DWORD        GuildID;
    /*0x0274*/ struct _LAUNCHSPELLDATA      CastingData; // size: 0x50
    /*0x02c4*/ BYTE         FishingEvent;
    /*0x02c5*/ BYTE         Unknown0x02c5[0x1f];
    /*0x02e4*/ BYTE         Mercenary;
    /*0x02e5*/ BYTE         Unknown0x02e5[0x2b];
    /*0x0310*/ DWORD        AARank;
    /*0x0314*/ BYTE         Unknown0x0314[0x8];
    /*0x031c*/ struct _EQC_INFO*    spawneqc_info;
    /*0x0320*/ BYTE         Unknown0x0320[0x28];
    /*0x0348*/ DWORD        EnduranceCurrent;
    /*0x034c*/ BYTE         Unknown0x034c[0x44];
    /*0x0390*/ FLOAT        GetMeleeRangeVar1;      // used by GetMeleeRange
    /*0x0394*/ BYTE         Unknown0x0394[0x4];
    /*0x0398*/ DWORD        Deity;
    /*0x039c*/ BYTE         Unknown0x039c[0x34];
    /*0x03d0*/ DWORD        InnateETA;              //Calculated TimeStamp when innate skill will be ready (LoH, HT, Bash)
    /*0x03d4*/ BYTE         Unknown0x03d4[0x14];
    /*0x03e8*/ DWORD        PetID;//the unknown above this is petwindow target related I think
    /*0x03ec*/ DWORD        AFK;
    /*0x03f0*/ BYTE         Unknown0x03f0[0x4];
    /*0x03f4*/ DWORD        EnduranceMax;
    /*0x03f8*/ CHAR         Title[0x80];
    /*0x0478*/ BYTE         LFG;
    /*0x0479*/ BYTE         Unknown0x0479[0x13];
    /*0x048c*/ DWORD        Anon;//found in EQPlayer__SetNameSpriteTint_x
    /*0x0490*/ BYTE         Unknown0x0490[0x8];
    /*0x0498*/ DWORD        Buyer;
    /*0x049c*/ BYTE         Unknown0x049c[0x4];
    /*0x04a0*/ BYTE         HideMode;
    /*0x04a1*/ BYTE         Unknown0x04a1[0x3a];
    /*0x04db*/ CHAR         Suffix[0x80];
    /*0x055b*/ BYTE         Unknown0x055b;
    /*0x055c*/ LONG         HPMax;
    /*0x0560*/ BYTE         Unknown0x0560[0x30];
    /*0x0590*/ BYTE         GM;
    /*0x0591*/ BYTE         Unknown0x0591[0x8];
    /*0x0599*/ BYTE         StandState;
    /*0x059a*/ BYTE         Unknown0x059a[0xa];
    /*0x05a4*/ DWORD        Trader;//found in CEverQuest__RightClickedOnPlayer_x
    /*0x05a8*/ BYTE         PvPFlag;
    /*0x05a9*/ BYTE         Unknown0x05a9[0x7];
    /*0x05b0*/ FLOAT        ViewHeight;
    /*0x05b4*/ BYTE         Unknown0x05b4[0x4];
    /*0x05b8*/ BYTE         HoldingType; // I dont know the types, i put a 2h in Primary and its a 4 , modrod there and its a 1, nothing its a 5 -eqmule
    /*0x05b9*/ BYTE         Unknown0x05b9[0x7];
    /*0x05c0*/ DWORD        TimeStamp;//updates all the time including when on a mount
    /*0x05c4*/ BYTE         Unknown0x05c4[0x4];
    /*0x05c8*/ LONG         HPCurrent;
    /*0x05cc*/ BYTE         Unknown0x05cc[0x10];
    /*0x05dc*/ BYTE         Level;
    /*0x05dd*/ BYTE         Unknown0x05dd[0x92b];
    /*0x0f08*/ struct _SPAWNINFO*   WhoFollowing; // NULL if autofollow off
    /*0x0f0c*/ DWORD        GroupAssistNPC[0x1];
    /*0x0f10*/ DWORD        RaidAssistNPC[0x3];
    /*0x0f1c*/ DWORD        GroupMarkNPC[0x3];
    /*0x0f28*/ DWORD        RaidMarkNPC[0x3];
    /*0x0f34*/ DWORD        TargetOfTarget;
    /*0x0f38*/ BYTE         Unknown0x0f38[0x30];
    /*0x0f68*/ void*        pActorClient;          // start of ActorClient struct
    /*0x0f6c*/ BYTE         InNonPCRaceIllusion;
    /*0x0f6d*/ BYTE         Unknown0x0f6d[0x3];
    /*0x0f70*/ BYTE         FaceStyle;
    /*0x0f71*/ BYTE         HairColor;
    /*0x0f72*/ BYTE         FacialHairColor;
    /*0x0f73*/ BYTE         EyeColor1;
    /*0x0f74*/ BYTE         EyeColor2;
    /*0x0f75*/ BYTE         HairStyle;
    /*0x0f76*/ BYTE         FacialHair;
    /*0x0f77*/ BYTE         Unknown0x0f77;
    /*0x0f78*/ DWORD        Race;
    /*0x0f7c*/ BYTE         Unknown0x0f7c[0x4];
    /*0x0f80*/ BYTE         Class;
    /*0x0f81*/ BYTE         Unknown0x0f81[0x3];
    /*0x0f84*/ BYTE         Gender;
    /*0x0f85*/ CHAR         ActorDef[0x40];
    /*0x0fc5*/ BYTE         Unknown0x0fc5[0x3];
    /*0x0fc8*/ ARGBCOLOR    ArmorColor[0x9];
    /*0x0fec*/ BYTE         Unknown0x0fec[0x4];
    /*0x0ff0*/ DWORD        Heritage;               //drakkin only face setting
    /*0x0ff4*/ DWORD        Tattoo;                 //drakkin only face setting
    /*0x0ff8*/ DWORD        Details;                //drakkin only face setting
    /*0x0ffc*/ struct _EQUIPMENT    Equipment;   // size 0xb4
    /*0x10b0*/ BYTE         Unknown0x10b0[0x38];
    /*0x10e8*/ VOID*        pcactorex;             // ActorInterface*
    /*0x10ec*/ BYTE         Unknown0x10ec[0x4];
    /*0x10f0*/ VOID*        FaceRelatedActorStruct;
    /*0x10f4*/ BYTE         Unknown0x10f4[0x34];
    /*0x1128*/ FLOAT        GetMeleeRangeVar2;      // used by GetMeleeRange
    /*0x112c*/ BYTE         Unknown0x112c[0x64];
    /*0x1190*/ DWORD        Animation;
    /*0x1194*/ BYTE         Unknown0x1194[0xdc];
    /*0x1270*/ DWORD        Holding; //1 holding 0 not holding
    /*0x1274*/ BYTE         Unknown0x1274[0x14];
    /*0x1288*/ DWORD        MercID;                         //if the spawn is player and has a merc up this is it's spawn ID -eqmule 16 jul 2014
    /*0x128c*/ DWORD        ContractorID;           //if the spawn is a merc this is its contractor's spawn ID -eqmule 16 jul 2014
    /*0x1290*/ BYTE         Unknown0x1290[0x14];
    /*0x12a4*/ FLOAT        WalkSpeed;
    /*0x12a8*/ BYTE         Unknown0x12a8;
    /*0x12a9*/ DWORD        HideCorpse;
    /*0x12ad*/ BYTE         Unknown0x12ad[0x3c];
    /*0x12e9*/ BYTE         InvitedToGroup;
    /*0x12ea*/ BYTE         Unknown0x12ea[0x2];
    /*0x12ec*/ DWORD        GroupMemberTargeted;    // 0xFFFFFFFF if no target, else 1 through 5
    /*0x12f0*/ BYTE         Unknown0x12f0[0x184];
    /*0x1474*/ struct _FELLOWSHIPINFO       Fellowship; // size 0x9e4
    /*0x1e58*/ FLOAT        CampfireY;
    /*0x1e5c*/ FLOAT        CampfireX;
    /*0x1e60*/ FLOAT        CampfireZ;
    /*0x1e64*/ WORD         CampfireZoneID;         // zone ID where campfire is
    /*0x1e66*/ WORD         InstanceID;
    /*0x1e68*/ DWORD        CampfireTimestamp;      // CampfireTimestamp-FastTime()=time left on campfire
    /*0x1e6c*/ BYTE         Unknown0x1e6c[0x8];
    /*0x1e74*/ DWORD        Campfire;               // do we have a campfire up?
    /*0x1e78*/ BYTE         Unknown0x1e78[0x11c];
    /*0x1f94*/ void*        vtable2;
    /*0x1f98*/ BYTE         Unknown0x1f98[0x4];
    /*0x1f9c*/ struct _SPAWNINFO*   pSpawn;
    /*0x1fa0*/ DWORD        Levitate;
    /*0x1fa4*/ BYTE         Unknown0x1fa4[0x48];
    /*0x1fec*/
    } SPAWNINFO, *PSPAWNINFO;
    Click Here To Download Latest MySEQ (with Level 105 support)
    @eqmule
    If you like MySEQ and would like to contribute, please do. My goal is 25 donations per month. There is no amount that's too small.
    So far I've received donations for this month's patches.
    Paypal:
    Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq

  6. #6
    Registered User
    Join Date
    Sep 2015
    Posts
    1

    Re: 09/22/2015 LIVE Client Offsets

    Cant seem to figure out primary / secondary tho but most seem working now


    [File Info]
    PatchDate=22-9-2015


    [Port]
    port=5555


    [Memory Offsets]
    # pinstLocalPlayer_x
    ZoneAddr=0x100641c
    # pinstSpawnManager_x
    SpawnHeaderAddr=0x108b9b0
    # pinstSpawnManager_x
    CharInfo=0xff8e48
    # pinstTarget_x
    TargetAddr=0xff8e60
    # pinstEQItemList_x
    ItemsAddr=0xff5590
    # pinstWorldData_x
    WorldAddr=0xff8e18


    [WorldInfo Offsets]
    WorldHourOffset=4
    WorldMinuteOffset=5
    WorldDayOffset=6
    WorldMonthOffset=7
    WorldYearOffset=8


    [SpawnInfo Offsets]
    NextOffset=0x4
    PrevOffset=0x8
    LastnameOffset=0x38
    XOffset=0x64
    YOffset=0x68
    ZOffset=0x6c
    SpeedOffset=0x7c
    HeadingOffset=0x80
    NameOffset=0xa4
    TypeOffset=0x125
    SpawnIDOffset=0x148
    # DWORD pets has this merc dont MasterID
    OwnerIDOffset=0x1b0
    # dword HideMode
    HideOffset=0x42c
    # BYTE Level
    LevelOffset=0x5dc
    # BYTE Class
    ClassOffset=0xF80
    # dword Race = Class-8
    RaceOffset=0xF78
    # Equipment + 8c
    PrimaryOffset=0x1078
    # Offhand Offset DWORD
    OffhandOffset=0x108c

  7. #7
    Registered User
    Join Date
    Jan 2006
    Posts
    357

    Re: 09/22/2015 LIVE Client Offsets

    Looks pretty good there, but I got

    HideOffset=0x4a0
    Also,

    # Equipment + 8c
    PrimaryOffset=0x1088
    # Offhand Offset DWORD
    OffhandOffset=0x109c

  8. #8
    Registered User
    Join Date
    Sep 2015
    Posts
    2

    Re: 09/22/2015 LIVE Client Offsets

    Any chance we could get the answer to the quiz? Happy to keep donating

  9. #9
    Registered User
    Join Date
    Sep 2015
    Posts
    3

    Re: 09/22/2015 LIVE Client Offsets

    Quote Originally Posted by Hidron View Post
    HideOffset=0x4a0
    I got the same as you did for HideOffset and primary. Did you find the offhand by offset into the equipment struct as well?

    This seems pretty straightforward when you have the C structure to go from. I suppose the real trick is being able to figure out what has changed there based on packet capture?

    Thanks for posting the updates. I'd be interested to learn more to help out.

  10. #10
    Registered User
    Join Date
    Sep 2015
    Posts
    3

    Re: 09/22/2015 LIVE Client Offsets

    This may not be perfect but is mostly working:

    Code:
    ##    Copyright (C) 2006 - 2013  All developers at http://sourceforge.net/projects/seq
    #
    #    This program is free software; you can redistribute it and/or
    #    modify it under the terms of the GNU General Public License
    #    as published by the Free Software Foundation; either version 2
    #    of the License, or (at your option) any later version.
    #
    #    This program is distributed in the hope that it will be useful,
    #    but WITHOUT ANY WARRANTY; without even the implied warranty of
    #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    #    GNU General Public License for more details.
    #
    #    You should have received a copy of the GNU General Public License
    #    along with this program; if not, write to the Free Software
    #    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
    #
    
    
    [File Info]
    PatchDate=9/22/2015
    
    
    [Port]
    port=5555
    
    
    [Memory Offsets]
    ZoneAddr=0x100641c
    SpawnHeaderAddr=0x108b9b0
    CharInfo=0xff8e48
    TargetAddr=0xff8e60
    ItemsAddr=0xff5590
    WorldAddr=0xff8e18
    
    
    [WorldInfo Offsets]
    WorldHourOffset=4
    WorldMinuteOffset=5
    WorldDayOffset=6
    WorldMonthOffset=7
    WorldYearOffset=8
    
    
    [SpawnInfo Offsets]
    NextOffset=0x4
    PrevOffset=0x8
    LastnameOffset=0x38
    XOffset=0x68
    YOffset=0x64
    ZOffset=0x6c
    SpeedOffset=0x7c
    HeadingOffset=0x80
    NameOffset=0xe4
    TypeOffset=0x125
    SpawnIDOffset=0x148
    # DWORD pets has this merc dont MasterID
    OwnerIDOffset=0x01b0
    # dword HideMode
    HideOffset=0x4a0
    # BYTE Level
    LevelOffset=0x5dc
    #BYTE Class
    ClassOffset=0xF80
    # dword Race = Class-8
    RaceOffset=0xF78
    # Equipment + 8c
    PrimaryOffset=0x1088
    # Offhand Offset DWORD
    OffhandOffset=0x109c
    
    
    [GroundItem Offsets]
    PrevOffset=0x00
    NextOffset=0x04
    IdOffset=0x08
    DropIdOffset=0x0c
    XOffset=0x70
    YOffset=0x74
    ZOffset=0x78
    NameOffset=0x1c
    
    
    # Using the new Debug CLI
    # =======================
    # To start the server in debug mode, run the server with the 'debug' argument:
    #
    #   myseqserver debug
    #
    # You will see the menu, which looks like this:
    #
    #        Debug Menu
    #  =======================
    #    d) display current offsets
    #    r) reload all offsets from INI file
    #  spo) set a primary offset   (index/name) (hex value)
    #  sso) set a secondary offset (index/name) (hex value)
    #   ez) examine raw data using pZone
    #   et) examine raw data using pTarget
    #   ew) examine raw data using pWorld
    #   fz) find zonename using pZone (zonename)
    #   ft) find spawnname using pTarget (spawnname)
    #   fs) find spawnname using pSelf (spawnname)
    #   ps) process a spawn entity using pSelf
    #   pt) process a spawn entity using pTarget
    #   sp) scan process names (process name)
    #  sft) scan for floating point using pTarget (X,Y,Z)
    #  sfa) scan for floating point using Address (X,Y,Z,Address)
    #  sfw) scan for world offsets using game date (mm/dd/yyyy)
    #   sg) scan for ground items
    #   ws) walk the spawnlist (reverse) using pSelf
    #   wt) walk the spawnlist (reverse) using pTarget
    #   vs) walk the spawnlist (forward) using pSelf
    #   vt) walk the spawnlist (forward) using pTarget
    #    x) exit
    #
    # >
    #
    #
    # To select a command, type it in and press Enter. Some commands require
    # arguments, which are indicated in parenthesis.
    #
    # If you are having troubling just accessing the EQ process, first try the 'scan process names' command:
    # > sp
    #
    # You can provide an optional process name to attempt to scan for and access, but if you do not provide
    # any arguments, then it will default to 'eqgame'. You will see a list of processes detected on your system
    # and if a match is found, it will try and access it, providing feedback on the results. Prior to server v1.19.1,
    # this was a case-sensitive match. For server v1.19.1 and higher, the check is case-insensitive. We had some
    # problems on a Win2K system regarding this.
    # 
    # When new offsets are needed, you can start the server in debug mode and it will use the
    # old offsets as starting points to locate the new offsets.
    #
    # The first thing is to locate the zonename. Just enter a zone that you know the name of, like the Bazaar,
    # and use the "fz" command along with the appropriate shortname for the zone:
    # > fz Bazaar
    #
    # You should see a list of matches. Anyone of them could potentially be a valid pZone value. Select one and
    # place it in the INI file above under ZoneAddr. Now press 'r' to reload the INI file into the debug server.
    # Press 'd' to verify your change was actually loaded.
    #
    # Next we want to locate the pTarget value, stored above as TargetAddr. Inside the game, select any target NPC
    # or PC other than yourself. It is best to select a uniquely named NPC, like "Boss Hogg". Do not select an NPC
    # with a re-used name, like "a rat". Now you need to determine the hidden name of that NPC. To do this, replace
    # any spaces in the name with underscores, and stick a 00 on the end. So "Boss Hogg" becomes "Boss_Hogg00".
    # Use this hidden name as the sole argument to the 'ft' command:
    # > ft Boss_Hogg00
    #
    # You should see a list of matches. Anyone of them could potentially be a valid pTarget. Select one and
    # place it in the INI file above under TargetAddr. Press 'r' to reload the INI file.
    #
    # 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. Select one and place it in the INI file above under SpawnHeaderAddr. Press 'r' to reload
    # the INI file.
    #
    # Next we want to locate the pSelf value, store above as CharInfo. Inside the game, select yourself as the
    # target (press F1) and use the 'ft' command along with your characters first name:
    # > ft Yourfirstname
    #
    # You should see a list of matches. Anyone of them could potentially be a valid pSelf. Select one and
    # place it in the INI file above under CharInfo. Press 'r' to reload the INI file.
    #
    # Last we want to locate the pGroundItems value, stored above as ItemsAddr. Just use the 'sg' command and
    # look for matched pointers that look like 'ITxxxxx_ACTORDEF', where xxxxx is any 3 or 5 digit number.
    # > sg
    # Scanning for 'IT' from 0x7d62c4 to 0x9d62c4
    # Pointer match found at 0x8d62c4. Full string is IT10805_ACTORDEF
    # Pointer match found at 0x9bc648. Full string is ITORTOKEN
    #
    # Of course the first one here looks good. Put it in the INI file above under ItemsAddr. Press 'r' to
    # reload the INI file.
    #
    # You can now exit the server (press 'x') and restart it in normal mode. Try attaching the client to it.
    # As long as none of the secondary offsets have changed, it should work. If it only works for a short time
    # and then stops working, repeat the above procedure, but this time make different selections in the match
    # lists.
    #
    # If the secondary offsets have changed, or the basic design of how they obtain spawn information, the server
    # may need to be updated. The other debug options can be used to aid in locating secondary offsets, but it
    # is so involved that it is probably best to use a full blown RAM editor. Please visit our forums to learn
    # how to help ( http://www.showeq.net/ and look for the MySEQ subforums).
    #
    # Notes:
    # - All string searches are case sensitive!
    # - As you get matches, write them all down! If a function works for a minute or so and then stops working, try the
    #   next match in the list.
    # - If you use the spo/sso functions, the changes are NOT made in the INI file. Once you exit, those changes are lost.
    # - Only reverse walks (wt/ws) will scan for entry point pointers. Forward walks will just show the spawns and return.

  11. #11
    Registered User
    Join Date
    Jan 2006
    Posts
    357

    Re: 09/22/2015 LIVE Client Offsets

    This may not be perfect but is mostly working:
    It appears you have XOffset & YOffset switched. NameOffset should be 0xa4

    Basically, seqpuzzler's post with the changes I made under it should be correct I believe. Don't be afraid to post about any issues though.

    I got the same as you did for HideOffset and primary. Did you find the offhand by offset into the equipment struct as well?
    Once I had the Primary, I just adjusted the Offhand by the same amount the same direction.
    Last edited by Hidron; 09-23-2015 at 06:53 PM.

  12. #12
    Registered User
    Join Date
    Sep 2009
    Posts
    53

    Re: 09/22/2015 LIVE Client Offsets

    It might not be important, but the PatchDate line should be
    PatchDate=9/22/2015

    which is US date format for September 22nd 2015

    (not PatchDate=22-9-2015 which is used in a posting above)

  13. #13
    Registered User
    Join Date
    Sep 2015
    Posts
    1

    Re: 09/22/2015 LIVE Client Offsets

    I got it to work with this but the targeting information is incorrect. For example, if I target a druid it will say Cleric. What could be wrong?

    Code:
    ##    Copyright (C) 2006 - 2013  All developers at http://sourceforge.net/projects/seq
    #
    #    This program is free software; you can redistribute it and/or
    #    modify it under the terms of the GNU General Public License
    #    as published by the Free Software Foundation; either version 2
    #    of the License, or (at your option) any later version.
    #
    #    This program is distributed in the hope that it will be useful,
    #    but WITHOUT ANY WARRANTY; without even the implied warranty of
    #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    #    GNU General Public License for more details.
    #
    #    You should have received a copy of the GNU General Public License
    #    along with this program; if not, write to the Free Software
    #    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
    #
    
    
    [File Info]
    PatchDate=8/15/2015
    
    
    [Port]
    port=5555
    
    
    [Memory Offsets]
    ZoneAddr=0x100641c
    # pinstSpawnManager_x
    SpawnHeaderAddr=0x108b9b0
    # pinstLocalPlayer_x
    CharInfo=0xff8e48
    # pinstTarget_x
    TargetAddr=0xff8e60
    # pinstEQItemList_x
    ItemsAddr=0xff5590
    # pinstWorldData_x
    WorldAddr=0xff8e18
    
    
    [WorldInfo Offsets]
    WorldHourOffset=0x004
    WorldMinuteOffset=0x005
    WorldDayOffset=0x006
    WorldMonthOffset=0x007
    WorldYearOffset=0x008
    
    
    [SpawnInfo Offsets]
    NextOffset=0x0004
    PrevOffset=0x0008
    LastnameOffset=0x0038
    XOffset=0x0064
    YOffset=0x0068
    ZOffset=0x006c
    SpeedOffset=0x007c
    HeadingOffset=0x0080
    NameOffset=0xa4
    TypeOffset=0x0125
    SpawnIDOffset=0x0148
    LevelOffset=0x0344
    OwnerIDOffset=0x0400
    HideOffset=0x042c
    RaceOffset=0x0f68
    ClassOffset=0x0f70
    # DWORD pets has this merc dont MasterID
    OwnerIDOffset=0x400
    # dword HideMode
    HideOffset=0x42c
    # BYTE Level
    LevelOffset=0x344
    #BYTE Class
    ClassOffset=0xF70
    # dword Race = Class-8
    RaceOffset=0xF68
    # Equipment + 8c
    PrimaryOffset=0x1078
    # Offhand Offset DWORD
    OffhandOffset=0x108c
    
    
    [GroundItem Offsets]
    PrevOffset=0x00
    NextOffset=0x04
    IdOffset=0x08
    DropIdOffset=0x0c
    XOffset=0x70
    YOffset=0x74
    ZOffset=0x78
    NameOffset=0x1c
    
    
    # Using the new Debug CLI
    # =======================
    # To start the server in debug mode, run the server with the 'debug' argument:
    #
    #   myseqserver debug
    #
    # You will see the menu, which looks like this:
    #
    #        Debug Menu
    #  =======================
    #    d) display current offsets
    #    r) reload all offsets from INI file
    #  spo) set a primary offset   (index/name) (hex value)
    #  sso) set a secondary offset (index/name) (hex value)
    #   ez) examine raw data using pZone
    #   et) examine raw data using pTarget
    #   ew) examine raw data using pWorld
    #   fz) find zonename using pZone (zonename)
    #   ft) find spawnname using pTarget (spawnname)
    #   fs) find spawnname using pSelf (spawnname)
    #   ps) process a spawn entity using pSelf
    #   pt) process a spawn entity using pTarget
    #   sp) scan process names (process name)
    #  sft) scan for floating point using pTarget (X,Y,Z)
    #  sfa) scan for floating point using Address (X,Y,Z,Address)
    #  sfw) scan for world offsets using game date (mm/dd/yyyy)
    #   sg) scan for ground items
    #   ws) walk the spawnlist (reverse) using pSelf
    #   wt) walk the spawnlist (reverse) using pTarget
    #   vs) walk the spawnlist (forward) using pSelf
    #   vt) walk the spawnlist (forward) using pTarget
    #    x) exit
    #
    # >
    #
    #
    # To select a command, type it in and press Enter. Some commands require
    # arguments, which are indicated in parenthesis.
    #
    # If you are having troubling just accessing the EQ process, first try the 'scan process names' command:
    # > sp
    #
    # You can provide an optional process name to attempt to scan for and access, but if you do not provide
    # any arguments, then it will default to 'eqgame'. You will see a list of processes detected on your system
    # and if a match is found, it will try and access it, providing feedback on the results. Prior to server v1.19.1,
    # this was a case-sensitive match. For server v1.19.1 and higher, the check is case-insensitive. We had some
    # problems on a Win2K system regarding this.
    # 
    # When new offsets are needed, you can start the server in debug mode and it will use the
    # old offsets as starting points to locate the new offsets.
    #
    # The first thing is to locate the zonename. Just enter a zone that you know the name of, like the Bazaar,
    # and use the "fz" command along with the appropriate shortname for the zone:
    # > fz Bazaar
    #
    # You should see a list of matches. Anyone of them could potentially be a valid pZone value. Select one and
    # place it in the INI file above under ZoneAddr. Now press 'r' to reload the INI file into the debug server.
    # Press 'd' to verify your change was actually loaded.
    #
    # Next we want to locate the pTarget value, stored above as TargetAddr. Inside the game, select any target NPC
    # or PC other than yourself. It is best to select a uniquely named NPC, like "Boss Hogg". Do not select an NPC
    # with a re-used name, like "a rat". Now you need to determine the hidden name of that NPC. To do this, replace
    # any spaces in the name with underscores, and stick a 00 on the end. So "Boss Hogg" becomes "Boss_Hogg00".
    # Use this hidden name as the sole argument to the 'ft' command:
    # > ft Boss_Hogg00
    #
    # You should see a list of matches. Anyone of them could potentially be a valid pTarget. Select one and
    # place it in the INI file above under TargetAddr. Press 'r' to reload the INI file.
    #
    # 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. Select one and place it in the INI file above under SpawnHeaderAddr. Press 'r' to reload
    # the INI file.
    #
    # Next we want to locate the pSelf value, store above as CharInfo. Inside the game, select yourself as the
    # target (press F1) and use the 'ft' command along with your characters first name:
    # > ft Yourfirstname
    #
    # You should see a list of matches. Anyone of them could potentially be a valid pSelf. Select one and
    # place it in the INI file above under CharInfo. Press 'r' to reload the INI file.
    #
    # Last we want to locate the pGroundItems value, stored above as ItemsAddr. Just use the 'sg' command and
    # look for matched pointers that look like 'ITxxxxx_ACTORDEF', where xxxxx is any 3 or 5 digit number.
    # > sg
    # Scanning for 'IT' from 0x7d62c4 to 0x9d62c4
    # Pointer match found at 0x8d62c4. Full string is IT10805_ACTORDEF
    # Pointer match found at 0x9bc648. Full string is ITORTOKEN
    #
    # Of course the first one here looks good. Put it in the INI file above under ItemsAddr. Press 'r' to
    # reload the INI file.
    #
    # You can now exit the server (press 'x') and restart it in normal mode. Try attaching the client to it.
    # As long as none of the secondary offsets have changed, it should work. If it only works for a short time
    # and then stops working, repeat the above procedure, but this time make different selections in the match
    # lists.
    #
    # If the secondary offsets have changed, or the basic design of how they obtain spawn information, the server
    # may need to be updated. The other debug options can be used to aid in locating secondary offsets, but it
    # is so involved that it is probably best to use a full blown RAM editor. Please visit our forums to learn
    # how to help ( http://www.showeq.net/ and look for the MySEQ subforums).
    #
    # Notes:
    # - All string searches are case sensitive!
    # - As you get matches, write them all down! If a function works for a minute or so and then stops working, try the
    #   next match in the list.
    # - If you use the spo/sso functions, the changes are NOT made in the INI file. Once you exit, those changes are lost.
    # - Only reverse walks (wt/ws) will scan for entry point pointers. Forward walks will just show the spawns and return.
    Last edited by Hampster; 09-24-2015 at 11:28 AM.

  14. #14
    Registered User
    Join Date
    Sep 2015
    Posts
    1

    Re: 09/22/2015 LIVE Client Offsets

    None of these work for me. On one I see no spawns and the other map is wonky. Pretty please, with sugar on top, post a working offset

  15. #15
    Registered User
    Join Date
    Jan 2006
    Posts
    357

    Re: 09/22/2015 LIVE Client Offsets

    Quote Originally Posted by Hampster View Post
    I got it to work with this but the targeting information is incorrect. For example, if I target a druid it will say Cleric. What could be wrong?
    Your problem may be due to having multiple offsets listed twice, or that you did not update all the offsets (class is wrong).

    Try these and report any problems:

    Code:
    [File Info]
    PatchDate=9/22/2015
    
    [Port]
    port=5555
    
    [Memory Offsets]
    ZoneAddr=0x100641c
    # pinstSpawnManager_x
    SpawnHeaderAddr=0x108b9b0
    # pinstLocalPlayer_x
    CharInfo=0xff8e48
    # pinstTarget_x
    TargetAddr=0xff8e60
    # pinstEQItemList_x
    ItemsAddr=0xff5590
    # pinstWorldData_x
    WorldAddr=0xff8e18
    
    [WorldInfo Offsets]
    WorldHourOffset=4
    WorldMinuteOffset=5
    WorldDayOffset=6
    WorldMonthOffset=7
    WorldYearOffset=8
    
    [SpawnInfo Offsets]
    NextOffset=0x4
    PrevOffset=0x8
    LastnameOffset=0x38
    XOffset=0x64
    YOffset=0x68
    ZOffset=0x6c
    SpeedOffset=0x7c
    HeadingOffset=0x80
    NameOffset=0xa4
    TypeOffset=0x125
    SpawnIDOffset=0x148
    # DWORD pets has this merc dont MasterID
    OwnerIDOffset=0x1b0
    # dword HideMode
    HideOffset=0x4a0
    # BYTE Level
    LevelOffset=0x5dc
    #BYTE Class
    ClassOffset=0xF80
    # dword Race = Class-8
    RaceOffset=0xF78
    # Equipment + 8c
    PrimaryOffset=0x1088
    # Offhand Offset DWORD
    OffhandOffset=0x109c
    
    [GroundItem Offsets]
    PrevOffset=0x00
    NextOffset=0x04
    IdOffset=0x08
    DropIdOffset=0x0c
    XOffset=0x70
    YOffset=0x74
    ZOffset=0x78
    NameOffset=0x1c
    Last edited by Hidron; 09-24-2015 at 12:03 PM.

Thread Information

Users Browsing this Thread

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

Tags for this Thread

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