Page 5 of 11
Re: Character Traits
Posted: Sat Jan 14, 2012 5:45 pm
by Zcoretri
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
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?
Re: Character Traits
Posted: Sat Jan 14, 2012 5:55 pm
by John Adams
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.
Re: Character Traits
Posted: Sat Jan 14, 2012 6:06 pm
by Zcoretri
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
Re: Character Traits
Posted: Sat Jan 14, 2012 6:14 pm
by John Adams
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

Re: Character Traits
Posted: Sat Jan 14, 2012 6:20 pm
by Zcoretri
Yes I updated from SVN this morning, so it should be current...had to add into login db 0.7.1-dev
Re: Character Traits
Posted: Sat Jan 14, 2012 6:39 pm
by John Adams
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.
Re: Character Traits
Posted: Sat Jan 14, 2012 6:53 pm
by John Adams
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

Re: Character Traits
Posted: Sat Jan 14, 2012 7:07 pm
by Zcoretri
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;
}
Re: Character Traits
Posted: Sat Jan 14, 2012 8:21 pm
by John Adams
Okay, with Zcoretri and Jabantiz' help, and reminding me we have multiple tables with "tier" in them

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.
Re: Character Traits
Posted: Mon Feb 20, 2012 6:36 pm
by Zcoretri
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
char_racialtraits.png
Re: Character Traits
Posted: Mon Feb 20, 2012 9:11 pm
by Scatman
Nice job guys. Looking good!
AA Development
Posted: Tue Apr 17, 2012 6:48 pm
by Jabantiz
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.
Re: AA Development
Posted: Wed Apr 18, 2012 4:36 pm
by Zcoretri
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.
Re: AA Development
Posted: Wed Apr 18, 2012 4:42 pm
by Jabantiz
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.
Re: Character Traits
Posted: Wed Apr 18, 2012 4:49 pm
by Zcoretri
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.