Implementing: AA/Character Traits

EQ2Emulator Development forum.

Moderator: Team Members

Post Reply
User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Character Traits

Post by Zcoretri » Sat Jan 14, 2012 5:45 pm

John Adams wrote:I'm sad to report, I am having a devil of a time with Traits - not when the code is operating on it's own, but soon as I source in Zcoretri's data. The data itself looks okay, so I am assuming at this point that there is some bug in Traits that I am the only one who sees it :shock:

Jabantiz, you are using >all< the data provided by Zcoretri above? If so, I cannot understand why yours works, and mine completely crashes. I have too much going on today to give you details, so since you're busy too, give me a few days to settle down and give you a precise accounting of what the hell is going on.

The thing that sucks is, I cannot even debug it in World. If I could, I might be able to fix it myself.
I can take a look as well at this, since I provided the data and stuff.

When is it crashing John? Upon logging in? or when opening window?

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Character Traits

Post by John Adams » Sat Jan 14, 2012 5:55 pm

I haven't tried this in a couple of days, but pretty sure it's at login, or /zone which is also kinda like a login.

Without the data in the Spells* tables, I can login and zone fine. In fact, when the "tier" value in spell_traits = 0, I can login too. But when I set it to 1, I crash.

Reason I am setting it to 1 is because I cannot select a Trait otherwise - invalid spell ID or not Tier 1.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Character Traits

Post by Zcoretri » Sat Jan 14, 2012 6:06 pm

OK. That was probably an oversight on my part, did not realize all those were at 0 tier, that is also why you can't examine them probably, haha.

EDIT: I just set all tier data to 1 and can examine and select.
How should we proceed, fix my queries, or you want me to dump my spell data from my DB? Other?
char_traits1.png
You do not have the required permissions to view the files attached to this post.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Character Traits

Post by John Adams » Sat Jan 14, 2012 6:14 pm

I haven't committed this data to DB PatchServer yet because I could never test if Traits worked. So for now, your data is fine (I can do the update when I commit).

I'm guessing by this you are able to select a trait, and /zone or log out and log back in? Might need to restart World, too. I am not sure of everything I did. Also be sure your source code is current with SVN. Might be something else I committed that is causing my own errors :shock:

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Character Traits

Post by Zcoretri » Sat Jan 14, 2012 6:20 pm

Yes I updated from SVN this morning, so it should be current...had to add into login db 0.7.1-dev

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Character Traits

Post by John Adams » Sat Jan 14, 2012 6:39 pm

Regarding your screenshot... I did get mine to work too, once. After I came back later, it was crashville. And after you reminded me about Structs, I did make sure they were the latest. I think it's EQ2World that's crashing, not the client. Before, structs was causing the client to stop responding/crash.

I have some time right now. Let me re-set up and see if I can crash it again.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Character Traits

Post by John Adams » Sat Jan 14, 2012 6:53 pm

Okay, here's the setup.

Current SVN, with EQ2TC spell tables in place. World runs fine, I can login fine, /zone fine. 0 Traits loaded.

I empty Spells table and source in your SQL files for Traits. 0 Traits loaded, not sure why, but of course World and Logins all work fine.

I then put EQ2TC's spells back in place, source your Traits SQLs in, run the world and as soon as I attempt to log my character in, World crashes:

Code: Select all

 	ntdll.dll!774915ee() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!774915ee() 	
 	ntdll.dll!7748015e() 	
>	EQ2World__Debug.exe!std::_Tree<std::_Tmap_traits<unsigned int,Spell *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,Spell *> >,0> >::count(const unsigned int & _Keyval)  Line 1446 + 0xf bytes	C++
 	EQ2World__Debug.exe!MasterSpellList::GetSpell(unsigned int id, unsigned char tier)  Line 437 + 0x34 bytes	C++
and that's alL I get. Can't hardly debug that :(

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Character Traits

Post by Zcoretri » Sat Jan 14, 2012 7:07 pm

John Adams wrote:Okay, here's the setup.

Current SVN, with EQ2TC spell tables in place. World runs fine, I can login fine, /zone fine. 0 Traits loaded.

I empty Spells table and source in your SQL files for Traits. 0 Traits loaded, not sure why, but of course World and Logins all work fine.

I then put EQ2TC's spells back in place, source your Traits SQLs in, run the world and as soon as I attempt to log my character in, World crashes:

Code: Select all

 	ntdll.dll!774915ee() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!774915ee() 	
 	ntdll.dll!7748015e() 	
>	EQ2World__Debug.exe!std::_Tree<std::_Tmap_traits<unsigned int,Spell *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,Spell *> >,0> >::count(const unsigned int & _Keyval)  Line 1446 + 0xf bytes	C++
 	EQ2World__Debug.exe!MasterSpellList::GetSpell(unsigned int id, unsigned char tier)  Line 437 + 0x34 bytes	C++
and that's alL I get. Can't hardly debug that :(
I got a unhandled exception error in this function before I changed all my spell trait data for tiers to 1, at least thats what the stack trace took me to.

int16 Spell::GetSpellIcon(){
if (spell)
return spell->icon;
return 0;
}

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Character Traits

Post by John Adams » Sat Jan 14, 2012 8:21 pm

Okay, with Zcoretri and Jabantiz' help, and reminding me we have multiple tables with "tier" in them :shock: I now have Traits working! We've decided though to not release the data just yet, because Traits has a long way to go before it's ready for player testing. Great job Jabantiz for implementing such a complex feature as your first attempt. Can't wait to see what you come up with next ;)

Some notes for what's next on Traits:
  • We'll need to implement some sort of Passive Spell system, which uses character_spells data to modify player stats, but does not show it in the UI anywhere (maintained, effects, or knowledge book) -- see discussion here

    Clean up the mouse-over Examine code, make it function without having to right-click examine first.

    Traits names are RED, probably shouldn't be.

    Figure out how SOE handles a player getting multiple levels of Racial Traditions at once (ie., I was level 20, but never got offered my level 10, then 20, human trait). If I am level 11, it does show the option for my level 10 trait. But at 20, it seems to skip 10? *FIXED!*

    Add traits data to /reload spells command
That's all I could think of right now. If there are anymore issues you see with Traits, post them here and we'll get to them when finishing this system up.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Character Traits

Post by Zcoretri » Mon Feb 20, 2012 6:36 pm

I have added in Racial Traits and Traditions to the DB and doing some internal testing, but just thought I would post a screenie to whet the appetite :mrgreen:
char_racialtraits.png
You do not have the required permissions to view the files attached to this post.

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: Character Traits

Post by Scatman » Mon Feb 20, 2012 9:11 pm

Nice job guys. Looking good!

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

AA Development

Post by Jabantiz » Tue Apr 17, 2012 6:48 pm

This is not gonna be as easy as I originally thought mainly because I can not get anything to display. I am using the DoV client (1096) to test this and I originally put the packet I got from a 1096 log into the /test command but nothing happens, I figured maybe in this case order made a diffrence so I had this packet (hardcoded) sent just before the trait packet but I still can't get the AA lists to display. The packet I used was for a wizard and the char I tested on was a wizard, though with a hardcoded packet I don't think that matters.

Only thing I can assume is wether or not the AA list is displayed is controlled in some other packet but I have no idea where to start looking. I would appreciate any ideas on this. I'm using the log file DarklightWood_5_24_2011a.log from the 1096 folder.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: AA Development

Post by Zcoretri » Wed Apr 18, 2012 4:36 pm

I have messed with AA on and off the last several months, I could have sworn I got it to display one time, but for the life of me my recent attempts have failed to display anything as you can attest.

Side note, I have been fooling with traits, trainings etc. here recently, and I was getting zone exception errors. I have figured out the cause and have made some code changes that will hopefully alleviate the exceptions.

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: AA Development

Post by Jabantiz » Wed Apr 18, 2012 4:42 pm

I plan to mess around with the unknowns in the character sheet in a little bit, around the other aa related bytes to see if I can find something. If it is not in the character sheet then I have no clue where else to look.

As for the zone exceptions, I never got any but thanks for finding and fixing it, will look at the code to try and learn from my mistakes.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Character Traits

Post by Zcoretri » Wed Apr 18, 2012 4:49 pm

Added code to check for a null spell object when trying to get a spell from the master spell list. The zone server was throwing an exception when traits were being added and it could not find an associated spell in the spell_tier table. So instead of the zone throwing an exception and not allowing the character to login, it will LOGWRITE an error to console.

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests