EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=621)
-   -   Fiddling with AAs on EQEMu (https://www.eqemulator.org/forums/showthread.php?t=13567)

mikenune 05-03-2004 06:55 AM

Fiddling with AAs on EQEMu
 
I've been doing a little fiddling around with the 'alt_adv' column (a.k.a. AAs) and have a bit of information to post.

This is what I've been able to figure out about the 'alt_adv' column so far.
  • It is a field full of binary data. This means that you can't "read" the data normally using any sort of text editor (at least not properly). To view the data properly, you will have to use a Binary File/Hex Editor program (such as the aptly named - and FREE - HexEditor).
  • It can handle having extra data without crashing either World.exe OR the Everquest client. It appears to just chop off anything beyond the data that it uses. This means that, if you don't know how many hex bytes to put in the file, you can always add more (of course, this won't give you any additional AA Abilities ingame)!
  • Each hex byte directly corresponds to a single AA Ability. This means that, to edit an ability, you have only to open a hex editor, find the hex byte that corresponds to that ability, and change the value (for example, if I wanted to give myself all 10 points in the PoP AA Ability of Advanced Innate Strength, I just find that ability's hex byte and change it's value from "00" (which is hex for "0") to "0a" (which is hex for "10").
  • I have yet to fully determine the order that the AAs are stored in this field. However, if you want ALL your AA Abilities to be maxed out, just change all the values from "00" (0) to "ff" (255).
  • Even though you can set your number of AA Ability "trainings" higher than the limit, it will only recognize up through that limit (i.e.: putting 255 points into "Advanced Innate Strength," even though it will say it has 255 points trained, will only give you +20 STR points NOT +510 points).
More on this as I figure stuff out.

Jezebell 05-03-2004 07:24 AM

Cool Mike thanks, I will mess around with this tonight when I get home. How exactly are you opening that column in the hex editor, are you opening character_.myd?

mikenune 05-03-2004 08:04 AM

No, I'm pulling the contents of the column into a file (basically doing a "SELECT alt_adv FROM character_ WHERE id='1';" and then copying/pasting the output to a file), editing it using HexEditor, and then dumping it back into the database.

Of course, I'm doing all this through PHPMyAdmin (minus the hex editing part) so I don't know how hard it'll be to do using the MySQL commaind line.

I'm gonna go ahead and look into some MySQL commands to try and make it a little easier for those of you who don't have a Web Server on your EQEMu box though! :P

cofruben 05-03-2004 10:00 AM

tell me if you need me to packet collect anything,I have access to eqlive :)

mikenune 05-03-2004 11:30 AM

Really the only things that need packet collecting is gaining AA points and getting AA exp.

The rest looks like it already implemented. I have yet to really look through the different "active" abilities though so we might need packets from some of them being activated and running out.

kathgar 05-04-2004 01:12 AM

That field is a dump of PlayerAA_Struct. It's in eq_packet_structs.h. Two bytes unknown, then two bytes for each ability. They changed the struct on live and my attempts to correct it have so far been fruitless. What I need is:
1) Packetlog of someone buying an AA
2) What aa you bought, and at what level (e.g. I bought Innate Run Speed, level 3)
3) A list of all AAs and their level previous to buying that AA.


All times are GMT -4. The time now is 10:40 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.