gaingreen
12-11-2013, 07:09 PM
Offset updater worked for the most part, but the level of the mobs is way off. Anyone know the offset to fix that?
Asbestos
12-11-2013, 08:13 PM
This is what I have been able to find. It seems to be working correctly, but would prefer someone with more experience at this stuff double check it.
[File Info]
PatchDate=12/11/2013
[Port]
port=5555
[Memory Offsets]
ZoneAddr=0xd8fc6c
SpawnHeaderAddr=0xd826d0
CharInfo=0xd826d0
TargetAddr=0xd826e8
ItemsAddr=0xd7f0d8
WorldAddr=0xd826a0
[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
#OwnerIDOffset DWORD pets has this merc dont
OwnerIDOffset=0x39c
#HideOffset is a dword
HideOffset=0x3a0
#LevelOffset is a dword
LevelOffset=0x39d
#RaceOffset dword
RaceOffset=0xe9c
#ClassOffset byte
ClassOffset=0xea0
#PrimaryOffset DWORD the id of the item
PrimaryOffset=0xfc8
#OffhandOffset DWORD
OffhandOffset=0xfdc
[GroundItem Offsets]
PrevOffset=0x00
NextOffset=0x04
IdOffset=0x08
DropIdOffset=0x0c
XOffset=0x70
YOffset=0x74
ZOffset=0x78
NameOffset=0x1c
Asbestos
Deadbox
12-11-2013, 08:41 PM
OwnerIDOffset=0x294
PrimaryOffset=0xfa4
OffhandOffset=0xfb8
Combined with Asbestos above would be all of them I think.
eqmule
12-11-2013, 10:17 PM
Deadbox is correct, posting my ini as well.
#
# 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=12/10/2013
[Port]
port=5555
[Memory Offsets]
ZoneAddr=0xd8fc6c
SpawnHeaderAddr=0xe14790
CharInfo=0xd826d0
TargetAddr=0xd826e8
ItemsAddr=0xd7f0d8
WorldAddr=0xd826a0
[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
#OwnerIDOffset DWORD pets has this merc dont
OwnerIDOffset=0x294
#HideOffset is a dword
HideOffset=0x3a0
#LevelOffset is a dword
LevelOffset=0x39d
#RaceOffset dword
RaceOffset=0xe9c
#ClassOffset byte
ClassOffset=0xea0
#PrimaryOffset DWORD the id of the item
PrimaryOffset=0xfa4
#OffhandOffset DWORD
OffhandOffset=0xfb8
[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.
Powered by vBulletin® Version 4.1.11 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.