[Quest] The Tome of Valor #18762

Closed
starrheld opened this Issue Jan 7, 2017 · 26 comments

Projects

None yet

6 participants

@starrheld

Description: Causes server to crash

Current behaviour: When you are on the quest The Tome of Valor with id (1651) in Westfall and you are on the 3rd "step" and Daphne is running back it causes the server to crash.

Expected behaviour: Not crash

Steps to reproduce the problem:

  1. Go to Westfall, get the quest The Tome of Valor - .quest add 1651
  2. Start the event
  3. Kill the 3 packs and wait for the server to crash

Branch(es): 3.3.5

TC rev. hash/commit: b1fa8ff

TDB version: 3.3.5.62

Operating system: Windows 7

@Rushor
Contributor
Rushor commented Jan 8, 2017

probably caused by #18401

@Staleness89

Confirmed crash. Tried testing this myself, Daphne seems to die pretty fast, amirite? Also, is the quest suppose to fail upon her death because it didn't for me.

@Aokromes
Member
Aokromes commented Jan 8, 2017

plz supply a crashlog, i am unable to crash it.

@Staleness89

tried to reproduce a couple times in debug mode, but now daphne freezes up in the middle of the event, essentially paused in the script, where she can no longer give or receive quests. happened to me after the first wave. here is a post on the Dalaran forums describing the same issue and a response from a GM.

http://www.dalaran-wow.com/forums/input-and-assistance/community-support/topic/7356/tome-of-valor-quest-is-bugged

As said in the GM post, it requires a server restart to fix.

@Staleness89

might require some DB changes? I tried it and she froze after her first text over on quest accept.

@Rushor
Contributor
Rushor commented Jan 11, 2017 edited

sure search for script_waypoint ids in the sql files there

@Staleness89

works beautifully now. i'll make the sql for the script_waypoint

@Staleness89
Staleness89 commented Jan 11, 2017 edited
UPDATE `creature_template` SET `ScriptName`='npc_daphne_stilwell', `AIName`='' WHERE `entry`=6182;

DELETE FROM `script_waypoint` WHERE `entry`=6182;
INSERT INTO `script_waypoint` (`entry`,`pointid`,`location_x`,`location_y`,`location_z`,`waittime`,`point_comment`) VALUES
(6182, 0, -11480.7, 1545.09, 49.8986, 0, ''),
(6182, 1, -11466.8, 1530.15, 50.2636, 0, ''),
(6182, 2, -11465.2, 1528.34, 50.9544, 0, 'entrance hut'),
(6182, 3, -11463, 1525.24, 50.9377, 0, ''),
(6182, 4, -11461, 1526.61, 50.9377, 5000, 'pick up rifle'),
(6182, 5, -11463, 1525.24, 50.9377, 0, ''),
(6182, 6, -11465.2, 1528.34, 50.9544, 0, ''),
(6182, 7, -11468.4, 1535.08, 50.4009, 15000, 'hold, prepare for wave1'),
(6182, 8, -11468.4, 1535.08, 50.4009, 15000, 'hold, prepare for wave2'),
(6182, 9, -11468.4, 1535.08, 50.4009, 10000, 'hold, prepare for wave3'),
(6182, 10, -11467.9, 1532.46, 50.3489, 0, 'we are done'),
(6182, 11, -11466.1, 1529.86, 50.2094, 0, ''),
(6182, 12, -11463, 1525.24, 50.9377, 0, ''),
(6182, 13, -11461, 1526.61, 50.9377, 5000, 'deliver rifle'),
(6182, 14, -11463, 1525.24, 50.9377, 0, ''),
(6182, 15, -11465.2, 1528.34, 50.9544, 0, ''),
(6182, 16, -11470.3, 1537.28, 50.3785, 0, ''),
(6182, 17, -11475.6, 1548.68, 50.1844, 0, 'complete quest'),
(6182, 18, -11482.3, 1557.41, 48.6245, 0, '');

edit: needs a DELETE FROM line to get rid of unused SAI, if anyone decided to push this, remember that part.

@Xiledria

confirmed
http://logon.deffender.eu/crash/view/4dd07f7c
http://logon.deffender.eu/crash/view/fba9feea
http://logon.deffender.eu/crash/view/e369327c

also C++ & SQL fix above also works for this issue - well, kind of, there is missing VALUES keyword and after INSERT statement and ScriptName update for creature_template.

@Rushor
Contributor
Rushor commented Jan 11, 2017

nevertheless the corescript is a hack.

@Staleness89

@Rushor does that mean it probably won't get pushed? I'm still learning, so I'm curious what makes the script hacky? What can be done to make it better?

@tkrokli
Member
tkrokli commented Jan 12, 2017

@Staleness89 : he did not mean your SQL , he was referring to the existing script in zone_westfall.cpp.

@Aokromes
Member

There is no zone_westfall.cpp on clean TC, it was converted to SAI.

@Staleness89
Staleness89 commented Jan 12, 2017 edited

@tkrokli yes I realize. I was wondering about the C++ script.
@Aokromes right, but the SAI causes server crashes and freezes up mid script occassionally and this fix works a lot better. Do you think I can open a PR to push it?

@tkrokli
Member
tkrokli commented Jan 12, 2017

Put fixes with SQL in issue comments. Pull Request is for C++ files & other non-SQL files.

@Aokromes
Member
Aokromes commented Jan 12, 2017 edited

if it's a hack it never will be accepted, fix the SAI.

@Staleness89

What makes the C++ script a hack though? Why can't it be fixed and pulled instead?

@tkrokli
Member
tkrokli commented Jan 12, 2017

Well, if someone writes a non-hacky script (I leave it to real coders to explain why the Sunwell script is hacky), it could be accepted in a PR. The main point being that a suggested script needs to be approved.

@Staleness89

Sorry, just trying to get a description of why the script is hacky, and what if anything can be done to fix it.

@Aokromes
Member

Also, we prefer SAI when it's possible.

@Staleness89

well I'll leave it alone then.. works pretty damn well though, especially compared to the current implementation

@Rushor
Contributor
Rushor commented Jan 12, 2017

we need a way to fix the events and actions in SAI that are the reason for this issue :)

@Rushor
Contributor
Rushor commented Jan 20, 2017

can be closed since #18888 was merged

@Aokromes
Member
@Aokromes Aokromes closed this Jan 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment