PDA

View Full Version : Changed structs on test...



Zoolander
06-07-2003, 10:19 PM
Here's the current charInfoStruct and spellBuff struct from test. I tested it with many different classes, spellbooks, stats, skills, etc. and everything seemed right. The inventory doesn't seem to be part of it anymore. It's sent in a different packet after this one.

I had to hack my code a bit to not use the fields I couldn't find like GuildID and aaXP, but everything else works.

struct spellBuff
{
/*0000*/ int8_t unknown0000; //
/*0001*/ int8_t level; // Level of person who casted buff
/*0002*/ int8_t unknown0002[2]; //
/*0004*/ int32_t spell; // Spell
/*0008*/ int32_t duration; // Duration in ticks
/*0012*/ int32_t unknown0012; //
/*0016*/ };

struct charProfileStruct
{
/*0000*/ uint8_t opCode; // 0x6b
/*0001*/ uint8_t version; // 0x00
/*0002*/ uint8_t unknown0002[4]; //
/*0006*/ char name[64]; // Name of player sizes not right
/*0070*/ char lastName[32]; // Last name of player sizes not right
/*0102*/ uint32_t gender; // Player Gender - 0 Male, 1 Female
/*0106*/ uint32_t race; // Player race
/*0110*/ uint32_t class_; // Player class
/*0114*/ uint32_t unknown0114; //
/*0118*/ uint32_t level; // Level of player (might be one byte)
/*0122*/ uint8_t unknown0122[20]; //
/*0142*/ uint32_t deity; // deity
/*0146*/ uint8_t unknown0146[512]; //
/*0658*/ uint32_t exp; // Current Experience
/*0662*/ uint32_t points; // Unspent Practice points
/*0666*/ uint32_t MANA; // MANA
/*0670*/ uint32_t curHp; // current hp
/*0674*/ uint32_t unknown0674; // 0x05
/*0678*/ uint32_t STR; // Strength
/*0682*/ uint32_t STA; // Stamina
/*0686*/ uint32_t CHA; // Charisma
/*0690*/ uint32_t DEX; // Dexterity
/*0694*/ uint32_t INT; // Intelligence
/*0698*/ uint32_t AGI; // Agility
/*0702*/ uint32_t WIS; // Wisdom
/*0706*/ uint8_t unknown0706[48]; //
/*0754*/ uint8_t languages[28]; // List of languages (MAX_KNOWN_LANGS)
/*0782*/ uint8_t unknown0782[4]; // All 0x00
/*0786*/ int32_t sSpellBook[400]; // List of the Spells in spellbook
/*2386*/ uint8_t unknown2386[448]; // all 0xff after last spell
/*2834*/ int32_t sMemSpells[8]; // List of spells memorized
/*2866*/ uint8_t unknown2866[56]; //
/*2922*/ uint32_t platinum; // Platinum Pieces on player
/*2926*/ uint32_t gold; // Gold Pieces on player
/*2930*/ uint32_t silver; // Silver Pieces on player
/*2934*/ uint32_t copper; // Copper Pieces on player
/*2938*/ uint32_t platinumBank; // Platinum Pieces in Bank
/*2942*/ uint32_t goldBank; // Gold Pieces in Bank
/*2946*/ uint32_t silverBank; // Silver Pieces in Bank
/*2950*/ uint32_t copperBank; // Copper Pieces in Bank
/*2954*/ uint8_t unknown2954[16]; // Unknown - all zero
/*2970*/ uint32_t skills[74]; // List of skills (MAX_KNOWN_SKILLS)
/*2974*/ uint8_t unknown2974[704]; //
/*3678*/ uint32_t zoneId; // see zones.h
/*3682*/ spellBuff buffs[15]; // Buffs currently on the player
/*3922*/ uint8_t unknown3922[4]; // Always - 0xaa 0x4a 0x45 0x00
/*3926*/ };

Amadeus
06-08-2003, 02:26 AM
For those interested in such things, I will also offer up for viewing my work looking at memory structs currently on test server (as compared to what we already have).

http://macroquest.sourceforge.net/phpBB2/viewtopic.php?t=2425

user387
06-08-2003, 02:48 AM
memory structs and packet structs are still different, so the memory structs are not much use for seq.

Jel321
06-10-2003, 11:44 AM
The above struct seemed to work pretty good on Test for a couple days. Characters that crashed instantly on zone were able to work ok. Still seg'd, but it was infrequently.

They must have changed something again last night because SEQ seg's immediately again on zoning.

Im not expecting a fix, this is just for informational purposes only :)

Amadeus
06-10-2003, 09:56 PM
memory structs and packet structs are still different, so the memory structs are not much use for seq.


lol ...I can't imagine that you wouldn't think I knew this :) That's why I simply posted it as a FYI and linked it. Although the structs are almost always different....many times if something is added to one, it's added to the other in a different location.