23rd April Offsets

A forum for the general posts relating to MacroQuest. *DEPRECATED: This forum is no longer in public use, but remains here for your reading pleasure. Enjoy

Moderator: MacroQuest Developers

User avatar
ap50
a snow griffon
a snow griffon
Posts: 425
Joined: Sun Aug 18, 2002 2:29 pm

23rd April Offsets

Post by ap50 » Wed Apr 23, 2003 9:56 am

Usual caveat, untested so use at own risk...

Only thing I'm not too sure about is OLDATTACK=xx is this even used? As I can't find it in old .EXE so the offset is still as listed in old release.

Code: Select all

[MacroQuest]
MacroQuestVersion=AP50-20030322
ClientName=eqgame
ClientVersion=Wed Apr 23 03:08:xx 2003
ClientOverride=0
MacroQuestWinClassName=__MacroQuestTray
MacroQuestWinName=MacroQuest

[Function Locations]
WriteChatColor=004E207D
GetRaceByID=004D0A04
GetClassByID=004D7875
GetDeityByID=004D8D17
LeftClick=0
RightClick=0
ScreenItem=0045D8E1
ScreenSpawn=004EB946
NewUIINI=00447E4B
MaxMana=00465B15
Commands=004EAA8C
CmdCleanup=0
MemChecker=004FAA80
MemChecker2=004FE475
MemCheckAddr1=004FE475
MemCheckAddr2=004FE51B
MemChecker3=004FB8C5

[DirectInput8]
Main=0077944C
Keyboard=00778450
Mouse=00779454

[Memory Locations]
Zoning=007601E8
Zones=00760200
SpawnHeader=00760204
Items=00760208
Doors=00760220
SpawnFooter=0076022C
Char=00760240
CharInfo=00760248
Target=0076024C
Guilds=006F453C
Packs=0
*OldAttack=00756596
Mouse=00779458
Attack=007320F8
Spells=0076D9B0
CommandList=005ADE20
DoAbilityList=00736E18
DoAbilityAvailable=00732094
Group=006B0380
GroupCount=006B0238
HSliderItems=0
HSliderMoney=0
PackPanel1=0
PackPanel2=0
clsMain=0
clsItems=00760270
clsSpawns=007601F8
clsInvPanel=0
clsMerchantPanelStatus=0
clsMerchantItemBase=0
clsMerchantSelectedItem=0
clsMerchantSelectedSlotID=0
clsMainNewUI=00771F38
clsMainSpellRefresh=0
clsMainSpellMemId=0
clsMainSpellMemBar=0
clsMainSpellMemGem=0

EncryptPad=005C7D90
EncryptPad2=005C89E0
EncryptPad3=005C81B4
[color=yellow][size=92][b]Just because you're paranoid, it doesn't mean everyone isn't out to get you![/b][/size][/color]

Jaerin
Developer
Developer
Posts: 133
Joined: Mon Mar 10, 2003 7:37 pm
Contact:

Post by Jaerin » Wed Apr 23, 2003 4:08 pm

Actually there are a few errors in your.

Specifically the following:

GetRaceByID
GetClassByID
MemCheckAddr1
Keyboard
clsMainNewUI
EncryptPad2
EncryptPad3

Here is the double and triple checked list:

Code: Select all

[MacroQuest]
MacroQuestVersion=SRC-20030308
ClientName=eqgame
ClientVersion=Wed Apr 23 03:08:xx 2003
ClientOverride=0
MacroQuestWinClassName=__MacroQuestTray
MacroQuestWinName=MacroQuest

[Function Locations]
WriteChatColor=004E207D
GetRaceByID=004D7875
GetClassByID=004D7220
GetDeityByID=004D8D17
LeftClick=0
RightClick=0
ScreenItem=0045D8E1
ScreenSpawn=004EB946
NewUIINI=00447E4B
MaxMana=00465B15
Commands=004EAA8C
CmdCleanup=0
MemChecker=004FAA80
MemChecker2=004FE475
MemCheckAddr1=004FE4E3
MemCheckAddr2=004FE51B
MemChecker3=004FB8C5

[DirectInput8]
Main=0077944C
Keyboard=00779450
Mouse=00779454

[Memory Locations]
Zoning=007601E8
Zones=00760200
SpawnHeader=00760204
Items=00760208
Doors=00760220
SpawnFooter=0076022C
Char=00760240
CharInfo=00760248
Target=0076024C
Guilds=006F453C
Packs=0
OldAttack=0075DC62
Mouse=00779458
Attack=007320F8
Spells=0076D9B0
CommandList=005ADE20
DoAbilityList=00736E18
DoAbilityAvailable=00732094
Group=006B0380
GroupCount=006B0238
HSliderItems=0
HSliderMoney=0
PackPanel1=0
PackPanel2=0
clsMain=0
clsItems=00760270
clsSpawns=007601F8
clsInvPanel=0
clsMerchantPanelStatus=0
clsMerchantItemBase=0
clsMerchantSelectedItem=0
clsMerchantSelectedSlotID=0
clsMainNewUI=007795E8
clsMainSpellRefresh=0
clsMainSpellMemId=0
clsMainSpellMemBar=0
clsMainSpellMemGem=0

EncryptPad=005C7D90
EncryptPad2=005C81B4 
EncryptPad3=005C89E0

Droken
Contributing Member
Contributing Member
Posts: 17
Joined: Wed Jan 29, 2003 11:17 am

.

Post by Droken » Wed Apr 23, 2003 4:46 pm

Crashed when I tried anything.

eqjoe
a grimling bloodguard
a grimling bloodguard
Posts: 984
Joined: Sat Sep 28, 2002 12:26 pm

Post by eqjoe » Wed Apr 23, 2003 4:47 pm

/who crashes a burns.....

I will look at this when I get home and on a real system.

kaz
a ghoul
a ghoul
Posts: 103
Joined: Tue Jan 14, 2003 4:09 am

Post by kaz » Wed Apr 23, 2003 4:49 pm

offsets are fine but SPAWNINFO and CHARINFO have been scrambled again.

Cleric78
orc pawn
orc pawn
Posts: 17
Joined: Wed Sep 11, 2002 10:51 pm

Post by Cleric78 » Wed Apr 23, 2003 4:54 pm

I tried both sets of offsets and it crashes you when you /who
Cleric78

Amadeus
The Maestro
The Maestro
Posts: 2036
Joined: Sat Jun 29, 2002 3:51 pm

Post by Amadeus » Wed Apr 23, 2003 5:37 pm

I would advise waiting on a post from Dont_know_at_all

Jaerin
Developer
Developer
Posts: 133
Joined: Mon Mar 10, 2003 7:37 pm
Contact:

Post by Jaerin » Wed Apr 23, 2003 5:50 pm

Looks at his shiny new title...:)

<--------

Just to let you know it does not appear to be an additional memcheck. It appears to be changes to the spawninfo and charinfo structs again. Please be patient while the devs take a look. We will let you know as soon as we have it working.

Jaerin

Amadeus
The Maestro
The Maestro
Posts: 2036
Joined: Sat Jun 29, 2002 3:51 pm

Post by Amadeus » Wed Apr 23, 2003 6:18 pm

gratz :) ...the more the merrier!

lostinspace
decaying skeleton
decaying skeleton
Posts: 5
Joined: Wed Apr 09, 2003 7:42 am

Post by lostinspace » Wed Apr 23, 2003 7:10 pm

Yes, field offsets in SPAWN struct changed. Here are some that I use (decimal):

name= 1
pNext= 228
spawnID= 328
x= 80
y= 88
z= 92
level= 316
type= 308
class= 322
guild= 376
dir= 76
vistype= 352
targType=307
race= 336

eqjoe
a grimling bloodguard
a grimling bloodguard
Posts: 984
Joined: Sat Sep 28, 2002 12:26 pm

Post by eqjoe » Wed Apr 23, 2003 9:43 pm

Code: Select all

typedef struct _SPAWNINFO { 
/*000*/	BYTE	Unknown000;
/*001*/	CHAR	Name[64];
/*065*/ BYTE	Unknown064[11];
/*076*/ FLOAT	Heading;
/*080*/	FLOAT	X;
/*084*/	FLOAT	Unknown080;
/*088*/	FLOAT	Y;
/*092*/	FLOAT	Z;
/*096*/ BYTE	Unknown096[20];
/*116*/	FLOAT	CameraAngle;
/*120*/	BYTE	Unknown120[12];
/*132*/	LPVOID	pActorInfo;
/*136*/	BYTE	Unknown136[84];
/*220*/	DWORD	Zone;
/*224*/	DWORD	Unknown224;
/*228*/	DWORD	pNext;
/*232*/ LPVOID	pCharInfo;
/*236*/	BYTE	Unknown236[4];
/*240*/ DWORD	pPrev;
/*244*/ DWORD	Unknown244;
/*248*/	CHAR	Lastname[32];
/*280*/	BYTE	Unknown280[36];
/*316*/	BYTE	Level;
/*317*/	BYTE	Type;
/*318*/	BYTE	Gender;
/*319*/	BYTE	Unknown319[3];
/*322*/	BYTE	Class;
/*323*/	BYTE	Unknown323[5];
/*328*/	DWORD	SpawnID;
/*332*/	DWORD	MasterID;
/*336*/	DWORD	Race;
/*340*/	BYTE	Unknown340[16];
/*356*/ DWORD	HPCurrent;
/*360*/	BYTE	Unknown360[12];
/*372*/	DWORD	HPMax;
/*376*/	DWORD	GuildID;
} SPAWNINFO, *PSPAWNINFO; 

Code: Select all

typedef struct _CHARINFO {
	BYTE Unknown0000; 
	BYTE Unknown0001; 
	CHAR Name[64];
	CHAR Lastname[70];
	DWORD Unknown0136;
	DWORD Race;
	DWORD Class;
	DWORD Gender;
	DWORD Level;
	DWORD Exp;
	DWORD Face;
	DWORD Mana;
	DWORD BaseHP;
	DWORD Stunned;
	DWORD BaseSTR;
	DWORD BaseSTA;
	DWORD BaseCHA;
	DWORD BaseDEX;
	DWORD BaseINT;
	DWORD BaseAGI;
	DWORD BaseWIS;
	BYTE Unknown0142[172];
	BYTE Language[25];
	BYTE Unknown0273[503];
	SPELLBUFF Buff[21];
	BYTE Unknown0730[1704];
	DWORD SpellBook[256];
	BYTE Unknown2342[1024];
	DWORD MemorizedSpells[8];
	BYTE Unknown2882[56];
	DWORD Plat;
	DWORD Gold;
	DWORD Silver;
	DWORD Copper;
	DWORD BankPlat;
	DWORD BankGold;
	DWORD BankSilver;
	DWORD BankCopper;
	BYTE Unknown2952[32];
	DWORD Skill[120];
	BYTE Unknown3224[132];
	DWORD AutoSplit;
	BYTE Unknown3348[96];


	struct _SPAWNINFO *pSpawn;
	PITEMINFO Inventory[30];
	PITEMINFO Cursor;
	BYTE Unknown3568[420];
	DWORD ZoneBoundId;
	DWORD ZoneBirthId;
	DWORD ZoneOtherId[3];
	FLOAT ZoneBoundX;
	FLOAT ZoneBirthX;
	FLOAT ZoneOtherX[3];
	FLOAT ZoneBoundY;
	FLOAT ZoneBirthY;
	FLOAT ZoneOtherY[3];
	FLOAT ZoneBoundZ;
	FLOAT ZoneBirthZ;
	FLOAT ZoneOtherZ[3];
	BYTE Unknown3652[3548];
	DWORD GuildID;
	BYTE Unknown4736[17];
	WORD Anon;
	BYTE GuildStatus;
BYTE Unknown4756[452];
	DWORD AAExp;
	BYTE Unknown5208[428];
	DWORD AAPoints;	
	BYTE Unknown5689[2508];
	PITEMINFO   Bank[NUM_BANK_SLOTS];
} CHARINFO, *PCHARINFO;


Anyone updated MQ.h yet?
Last edited by eqjoe on Wed Apr 23, 2003 10:06 pm, edited 2 times in total.

User avatar
dont_know_at_all
Developer
Developer
Posts: 5450
Joined: Sun Dec 01, 2002 4:15 am
Location: Florida, USA
Contact:

Post by dont_know_at_all » Wed Apr 23, 2003 9:46 pm

eqjoe wrote:Anyone updated MQ.h yet?
Anyone test this yet?

There are 16 bank slots anyway.

eqjoe
a grimling bloodguard
a grimling bloodguard
Posts: 984
Joined: Sat Sep 28, 2002 12:26 pm

Post by eqjoe » Wed Apr 23, 2003 10:07 pm

dont_know_at_all wrote:
eqjoe wrote:Anyone updated MQ.h yet?
Anyone test this yet?

There are 16 bank slots anyway.
bah... fine :)

Code: Select all

PITEMINFO   Bank[NUM_BANK_SLOTS];
testing now....

User avatar
dont_know_at_all
Developer
Developer
Posts: 5450
Joined: Sun Dec 01, 2002 4:15 am
Location: Florida, USA
Contact:

Post by dont_know_at_all » Wed Apr 23, 2003 10:12 pm

Test the lag situation too, please.

Jaerin reported that it only happens around other PCs.

eqjoe
a grimling bloodguard
a grimling bloodguard
Posts: 984
Joined: Sat Sep 28, 2002 12:26 pm

Post by eqjoe » Wed Apr 23, 2003 10:54 pm

in _SPAWNINFO I still need to find:

Light
SpeedRun
Deity
SpeedHeading
LFG
Anon
GM
SpeedX
SpeedY

This is what I have so far:

Code: Select all


typedef struct _SPAWNINFO { 
/*000*/	BYTE	Unknown000;
/*001*/	CHAR	Name[64];
/*065*/ BYTE	Unknown064[11];
/*076*/ FLOAT	Heading;
/*080*/	FLOAT	X;
/*084*/	FLOAT	Unknown080;
/*088*/	FLOAT	Y;
/*092*/	FLOAT	Z;
/*096*/ BYTE	Unknown096[20];
/*116*/	FLOAT	CameraAngle;
/*120*/	BYTE	Unknown120[12];
/*132*/	PACTORINFO	pActorInfo;
/*136*/	BYTE	Unknown136[84];
/*220*/	DWORD	Zone;
/*224*/	DWORD	Unknown224;
/*228*/	struct _SPAWNINFO *pNext;
/*232*/ PCHARINFO	pCharInfo;
/*236*/	BYTE	Unknown236[4];
/*240*/ struct _SPAWNINFO *pPrev;
/*244*/ DWORD	Unknown244;
/*248*/	CHAR	Lastname[32];
/*280*/	BYTE	Unknown280[36];
/*316*/	BYTE	Level;
/*317*/	BYTE	Type;
/*318*/	BYTE	Gender;
/*319*/	BYTE	Unknown319[3];
/*322*/	BYTE	Class;
/*323*/	BYTE	Unknown323[5];
/*328*/	DWORD	SpawnID;
/*332*/	DWORD	MasterID;
/*336*/	DWORD	Race;
/*340*/	BYTE	Unknown340[16];
/*356*/ DWORD	HPCurrent;
/*360*/	BYTE	Unknown360[12];
/*372*/	DWORD	HPMax;
/*376*/	DWORD	GuildID;
} SPAWNINFO, *PSPAWNINFO;