Bard Bot Bug
Bard bots only play one song now. Niv's Harmonic.
Tested with GM account and player account. This changed after last update. Created new bots and used ones I already had. Also used different race/combos. They do the same spell in combat and out of combat. |
I haven't changed anything with that since it was working...
But, I will take a look as soon as I can :) |
What level is your test?
|
I only tested with level 70.
|
I tested last night at level 70 with my main (monk) and a bard bot.
All songs were correctly cast depending on out-of-combat/pre-combat/in-combat mode. You were having issues with the server boot-up process before, right? (circular updating) I can post a few queries for you to test with to make sure your bard songs are the correct ones. |
OK thanks! Yes, I had circular updating. That's gone now though.
|
Bear with me...
This is where we assign the npc_spell_id: https://github.com/EQEmu/Server/blob...e/bot.cpp#L487 And running.. Code:
SELECT `name` FROM `npc_spells` WHERE `id` = '3008'; Conversely, running.. Code:
SELECT `id` FROM `npc_spells` WHERE `name` = 'Bard Bot'; Checking the saved bot entries.. Code:
SELECT `spells_id` FROM `bot_data` WHERE `spells_id` < '3001' OR `spells_id` > '3016'; Finally, check the spell entries tables with.. Code:
SELECT `npc_spells_id` FROM `bot_spells_entries` WHERE `npc_spells_id` < '3001' OR `npc_spells_id` > '3016'; Code:
SELECT `npc_spells_id` FROM `bot_spells_entries` WHERE `npc_spells_id` = '3008'; If these queries don't produce the expected results, don't delete anything and we'll go from there. |
MariaDB [peq]> SELECT `name` FROM `npc_spells` WHERE `id` = '3008';
+----------+ | name | +----------+ | Bard Bot | +----------+ 1 row in set (0.00 sec) MariaDB [peq]> SELECT `id` FROM `npc_spells` WHERE `name` = 'Bard Bot'; +------+ | id | +------+ | 3008 | +------+ 1 row in set (0.00 sec) MariaDB [peq]> SELECT `spells_id` FROM `bot_data` WHERE `spells_id` < '3001' OR `spells_id` > '3016'; Empty set (0.00 sec) MariaDB [peq]> SELECT `npc_spells_id` FROM `bot_spells_entries` WHERE `npc_spells_id` < '3001' OR `npc_spells_id` > '3016'; Empty set (0.00 sec) MariaDB [peq]> SELECT `npc_spells_id` FROM `bot_spells_entries` WHERE `npc_spells_id` = '3008'; +---------------+ | npc_spells_id | +---------------+ | 3008 | | 3008 | <...> | 3008 | | 3008 | +---------------+ 2508 rows in set (0.00 sec) MariaDB [peq]> |
That last query was a mistake on my part..really should have been:
Code:
SELECT * FROM `bot_spells_entries` WHERE `npc_spells_id` = '3008'; Since you have 2508 entries, rather than the 132 I expected, I think we can start there. Taking 2508 and dividing by 132 - which gives 19 - I'd say that you have at least an 18-fold duplication problem. Try running this and see what you get: Code:
SELECT COUNT(*) FROM `bot_spells_entries`; In that case you just have an over-applied bard bot spells update. If you have more, then the other spells may be (somehow) over-updated as well. Let me know and we can go from there. |
Here are the new results...
Current database: peq +----------+ | COUNT(*) | +----------+ | 3723 | +----------+ 1 row in set (0.01 sec) MariaDB [peq]> |
Ok, gimme a few minutes here and I'll export my entries for that table so you can just re-insert them without any complicated update process..
|
Try this:
Code:
DELETE FROM `bot_spells_entries` WHERE `npc_spells_id` = '3008'; |
OK ran the commands. Thanks for helping with this! :)
Code:
MariaDB [peq]> DELETE FROM `bot_spells_entries` WHERE `npc_spells_id` = '3008'; |
Let me know if that solves the problem.
If not, we can dig some more. |
Tested with a newly created Bard and it's still just doing the same spell. :(
|
All times are GMT -4. The time now is 02:35 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.