blueboy / portal

This portal repo is for development purposes only
http://github.com/blueboy/portal
GNU General Public License v2.0
27 stars 24 forks source link

Skill learn ... again! #4

Closed Gitch closed 12 years ago

Gitch commented 12 years ago

Note this may not be a 'skill learn' issue, but ...

This is the first time I've notcied this... of course this is the first time I've had a paladin as a bot also..

paladin bot trained his first few spells, but now won't train any more.

He has his starting spells... When I try to 'skill learn' on any paladin trainer I get the following response: I can train the following spells blah blah such and such money left...

but no spell list.

I logged him in just to check and he could train the spells...

I've not noticed this with any other character, is it something on my end or...

Hes a blood elf paladin and hes level 10 now.

blueboy commented 12 years ago

Hmm,

I think this is going to be another real puzzle. I've just skilled a level 42 paladin (human) up from scratch, inorder to get 'Cleanse' to test out the dispel patch. I will try with a blood elf paladin, I have in the pasts seen issues that effect one race and not others.

One issue I know with 'skill' when displaying many available spells/abilities is the string buffer overload that looks very ugly on the client. Obviously this isn't a major issue if you are skilling a bot up normally, but is still an issue.

Gitch commented 12 years ago

before you spend alot of time trying to trace it, let me test some things and get back to you since I'm already at the low levels with a bot to do it with. It doesn't seem to be a buffer overload, but I'll make sure. It took me a while before I noticed he hadn't trained his skills when I told him to, ( hes level 10 now). I'll test a few more things.

Gitch commented 12 years ago

this is the string buffer overload I assume. Too many links to display, and so it displays none at all. I ran into this with some work I was doing on the 'sell list' issue. I'll look into it when I get the chance.

Gitch commented 12 years ago

I know 'how' to fix it, just need the time to do it.

kennumen commented 12 years ago

If anyone was wondering - still an issue. 2 BElf Pallies level 6->8 and no available spells to learn.

blueboy commented 12 years ago

I'll look into this. I'm currently leveling up a human party, that includes a paladin. I haven't seen a problem learning new spells. It maybe something peculiar to blood elves.

blueboy commented 12 years ago

O.K. I created a party of blood elves, including two pallies. I decided to compare the playerbot code with UDB & YTDB (quite different beasts). I did note that the UDB project has not updated the database since February (11928). This required 26 updates to bring it up-to-date. The YTDB has been updated more recently (11992), early this month. UDB appears to be more reactive than YTDB, certainly in the trial areas (many creatures are hostile without being provoked - nice feature). The spawning times for gameobjects was also much shorter.

I started with UDB and notice all the things reported. Erratic movement, unlooted corpses & paladins unable to learn spells after level 6. I did test the loot fix out and it did seem to work. The only problem with removing the loot distance check is that the bots will now try to loot a corpse miles away. The teleport distance will prevent them from reaching the target corpse, but they will try again and again. Maybe we could increase m_confCollectDistanceMax from say 50 to 100.

With UDB at level 8 no spells were visible to the bots at the trainer. I logged in as the player paladin and confirmed that the spells were available. I then switched to the YTDB and this is what I got

The spells I can learn and their cost: [Hammer of Justice] 94c [Parry] 94c [Purify] 94c 1g 19s 39c left

I decides also to test out free skill learning. I reduced the paladin's money to 1s 21c and did

skill learn I need 1s61c more to learn all the spells. (audible announcement "that the bot hasn't enough money"). I then tried to learn all.

skill learn [Hammer of Juctice][Parry][Purify] I have learned the following spells: [Hammer of Justice] 94c Total of 1 spell learnt, 94c spent.

This does seem to confirm that the issues are with the database and not with the playerbot code.

kennumen commented 12 years ago
  1. Epic test report. My hat off to you, sir.
  2. Same conclusion as 5 months ago. Could've sworn you'd fixed it back then though. Odd.

3a: "With UDB at level 8 no spells were visible to the bots at the trainer. I logged in as the player paladin and confirmed that the spells were available." 3b: "This does seem to confirm that the issues are with the database and not with the playerbot code."

  1. The fact that the spells were available upon manual login confirms the issue is in fact with the playerbot code.

PS: The last UDB release is indeed for MaNGOS 11928 but was released March 18th: http://udb.no-ip.org/index.php/topic,12947.0.html

But yes, aside from the other differences (and adding in quite a bit of over-simplification) you could say the update strategies compare to playerbot as UDB being more like master/origin (beta) and ytDB being closer to new-ai (alpha). At least that's my meager understanding of the situation.

blueboy commented 12 years ago

O.K

Trainer spells are now visible regardless of the database being used. I have tested the fix with UDB & YTDB and it appears to work fine. Please confirm and I consider this issue closed.

I have pushed the fix to the (portal) master & new-ai branches

kennumen commented 12 years ago

confirm fixed.