Azerothcore-wotlk: [Quest] Jack Likes His Drink

Created on 19 May 2019  路  8Comments  路  Source: azerothcore/azerothcore-wotlk

While doing quest, NPC takes money for it, but never provider furter service to complete quest.
6 players confirmed it on server so far.

.quest add 11466
.tele HowlingFjord

Commit: Up to date.

DB Help wanted Needs Developer Quest

All 8 comments

I have been able to reproduce this. I can take this one unless someone else is already on it.

This was an interesting one, because it's raising questions about the integrity of the database. Olga's character_template entry gossip menu was correct, but the smart_scripts table had a different menu id, and that mismatch was causing the sequence to stop abruptly.

Jack had the wrong menu id in the character_template and the smart_scripts table, causing weirdness like this...

jacks_crazy

So that's all been fixed up, but I wonder why they were wrong, and how many others might be mismatched as well.

Here's the fix...

USE `acore_world`;

-- Olga's gossip menu needs to be corrected in smart_scripts to register user selection

UPDATE `smart_scripts` SET `event_param1` = 9014 WHERE `entryorguid` = 24639 AND `source_type` = 0 AND `id` = 0;

-- Jack had the wrong gossip_menu_id in his creature_template entry

UPDATE `creature_template` SET `gossip_menu_id` = 9013 WHERE `entry` = 24788;

-- Jack needs the corresponding correction to smart_scripts so the debt item can be placed in character's inventory

UPDATE `smart_scripts` SET `event_param1` = 9013 WHERE `entryorguid` = 24788 AND `source_type` = 0 AND `id` = 3;

This was an interesting one, because it's raising questions about the integrity of the database. Olga's character_template entry gossip menu was correct, but the smart_scripts table had a different menu id, and that mismatch was causing the sequence to stop abruptly.

Jack had the wrong menu id in the character_template _and_ the smart_scripts table, causing weirdness like this...

jacks_crazy

So that's all been fixed up, but I wonder _why_ they were wrong, and how many others might be mismatched as well.

Here's the fix...

USE `acore_world`;

-- Olga's gossip menu needs to be corrected in smart_scripts to register user selection

UPDATE `smart_scripts` SET `event_param1` = 9014 WHERE `entryorguid` = 24639 AND `source_type` = 0 AND `id` = 0;

-- Jack had the wrong gossip_menu_id in his creature_template entry

UPDATE `creature_template` SET `gossip_menu_id` = 9013 WHERE `entry` = 24788;

-- Jack needs the corresponding correction to smart_scripts so the debt item can be placed in character's inventory

UPDATE `smart_scripts` SET `event_param1` = 9013 WHERE `entryorguid` = 24788 AND `source_type` = 0 AND `id` = 3;

I don't think so that is correct fix. It should look like this :

First
second
third
fourth
five
six
seven
eight

My apologies, I was just showing what it looked like with the wrong menu ids. I have fixed that and it does indeed look like your images now. I was able to get his debt and turn in the quest successfully.

My apologies, I was just showing what it looked like with the wrong menu ids. I have fixed that and it does indeed look like your images now. I was able to get his debt and turn in the quest successfully.

Np, it's okay. You can watch the old video here :
https://www.youtube.com/watch?v=fk6gbalyNr4

Hey, by the way, I notice that when you create PRs for your SQL changes, you're putting them in a pending directory with what looks like a timestamp, for example...

data/sql/updates/pending_db_world/rev_1558616423152525700.sql

Is that how I should make database fixes available? Where is the number string coming from?

Thanks.

Hey, by the way, I notice that when you create PRs for your SQL changes, you're putting them in a pending directory with what looks like a timestamp, for example...

data/sql/updates/pending_db_world/rev_1558616423152525700.sql

Is that how I should make database fixes available? Where is the number string coming from?

Thanks.

Yes, in your fork (AC folder) \data\sql\updates you have these (image below):

Screenshot_1
If you want for example to post fix which belong to world db, you will open pending_db_world folder, and inside you have shell script called create_sql -> When you run it, it will generate the .sql file for example rev_1558616423152525700.sql --> Open it, end place there your fix, push -> Done :D
P.S. Always leave first row how it's generated, don't delete it. :
INSERT INTO version_db_world (sql_rev) VALUES ('1558616423152525700');

Giving you here a little example from your fix posted:

INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1558616423152525700');

-- Olga's gossip menu needs to be corrected in smart_scripts to register user selection
UPDATE `smart_scripts` SET `event_param1` = 9014 WHERE `entryorguid` = 24639 AND `source_type` = 0 AND `id` = 0;

-- Jack had the wrong gossip_menu_id in his creature_template entry
UPDATE `creature_template` SET `gossip_menu_id` = 9013 WHERE `entry` = 24788;

-- Jack needs the corresponding correction to smart_scripts so the debt item can be placed in character's inventory
UPDATE `smart_scripts` SET `event_param1` = 9013 WHERE `entryorguid` = 24788 AND `source_type` = 0 AND `id` = 3;

Got it. Thanks again!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Franklampardst picture Franklampardst  路  3Comments

fallen26 picture fallen26  路  3Comments

Wokwer picture Wokwer  路  4Comments

PolluxTroy0 picture PolluxTroy0  路  3Comments

wowissues picture wowissues  路  3Comments