Просмотр полной версии : [Quest 9663] The Kessel Run
Задание Путь Кессела (http://ru.wowhead.com/?quest=9663):
Не засчитывается киллкредит из-за того, что не появляется госсип меню...
Проверил таблицы conditions, gossip_scripts - везде всё правильно указано.
В чем же дело?
Mangos Rev. 12214
Scriptdev2 Rev. 2737
NeatElves
04.11.2012, 14:11
В обработке условий госсипов если их больше двух.) Возможно надо указывать, что условие если взят квест 9663 и выполнен 9544
Кстати, у НПС (http://www.wowhead.com/?npc=17116) засчитывается киллкредит, хотя и нету госсипа.
NeatElves
04.11.2012, 15:45
Как нет ??? О_О
А 7370 кому принадлежит ????
Я имею в виду, что при взятии и прохождении квеста госсип не появляется
NeatElves
04.11.2012, 16:08
Какой именно ?? У нпц стоит экстрафлаг 2048, что значит - нет срабатывания киллкредита при простом нажатии на этого нпц; есть госсип, есть госсип_скрипт(не опцион). При нажатии на нпц, судя по вашим словам, идет зачет, значит штатно отрабатывает госсип_скрипт 7370, что автоматом означает вывод текста 9040.
Не путайте госсип_меню и госсип_меню_опции.
Извините, не сразу заметил, какой текст там написан...
То есть Экзарх Менелаус работает правильно
NeatElves
04.11.2012, 16:24
Ну и ??
Проснитесь пожалуйста...
Все правильно, не надо ничего в меню нажимать, текст прочитайте просто.)))
Если нет квеста, текст такой:
Взгляни на Экзодар, $gюный:юная:r; |3-6($r). Трудно представить, что мы пережили такую катастрофу.$B$B*Менелаус вздыхает.*$B$BПророчество говорит нам, что именно здесь мы узнаем нашу судьбу. Многие годы мы пытались убежать от безумия Пылающего Легиона... и здесь мы наконец-то остановимся.$B$BХватит бегать… Я готов к смерти.
При взятом квесте текст со скрина и идет автоматический киллкредит, КАК И НА ОФФ СЕРВЕРЕ.
Фуф...=)
INSERT INTO `conditions` (`condition_entry`, `type`, `value1`) VALUES ('1797', '1', '31973');
INSERT INTO `conditions` (`condition_entry`, `type`, `value1`, `value2`) VALUES ('1798', '-1', '388','1797');
UPDATE `gossip_menu` SET `cond_2`='1', `cond_2_val_1`='31973', `condition_id`='1798' WHERE (`entry`='7399') AND (`text_id`='9038') AND (`script_id`='17');
UPDATE `gossip_menu` SET `cond_2`='1', `cond_2_val_1`='31973', `condition_id`='1798' WHERE (`entry`='7434') AND (`text_id`='9039') AND (`script_id`='7434');
Второе условие это аура маунта...
NeatElves
04.11.2012, 19:42
Чуть не то, квест можно и на грифоне сдать.))
Я имел ввиду, что если у нпц больше 2 госсипменю по текстам, а не по опциям:
Пример нпц Адмирал:
1 текст - всегда
2 текст - если выполнен квест 9544
3 текст - если взят квест 9663
вот тут то и затык в обработке, ядро видит, что игрок выполнил квест 9544 и подходит 2 текст, но нам нужен 3-й текст, а как ядру пояснить, что условия-то оба подходят, вот и надо скорее всего как-то это выделять, например:
1 текст - всегда
2 текст - если выполнен квест 9544
3 текст - если взят квест 9663 и игрок не выполнял или выполнял квест 9544(но тут по уровням видно, что игрок квест 9544 берет раньше)
Квест 9544 нельзя использовать - забронирован. В принципе и этот метод не хаковый и работает:
INSERT INTO `conditions` (`condition_entry`, `type`, `value1`) VALUES ('1797', '22', '9666');
INSERT INTO `conditions` (`condition_entry`, `type`, `value1`, `value2`) VALUES ('1798', '-1', '388','1797');
UPDATE `gossip_menu` SET `cond_2`='22', `cond_2_val_1`='9666', `condition_id`='1798' WHERE (`entry`='7399') AND (`text_id`='9038') AND (`script_id`='17');
UPDATE `gossip_menu` SET `cond_2`='22', `cond_2_val_1`='9666', `condition_id`='1798' WHERE (`entry`='7434') AND (`text_id`='9039') AND (`script_id`='7434');
Если игрок имеет в списке заданий 9663 и не проходил 9666...
NeatElves
04.11.2012, 20:18
В мангосе есть такое понятие кондиции, как -3 - не выполнено первое условие.)
А почему нельзя 9544 ??
Ну до цели можно дойти разными способами=)
А нельзя, потому что 1062 - Duplicate entry '8-9544-0' for key 'unique_conditions' (389 кондиция - совпадение по уник. ключам я так понял)
NeatElves
04.11.2012, 20:31
Так зачем 2-й раз заливать то, что есть в базе ??
Можно увидеть вашу наработку, так сказать в целом, всю, с ошибками ?
И да, поля cond_Х, cond_Х_val_Х больше не надо заполнять, они уже не используются вообще.)
Все, что делал, выложено...
P.S.: А я то думал, зачем дублировать одно и то же в conditions и gossip_menu =)
NeatElves
04.11.2012, 22:36
Будет время и сервер - проверю, идея понятна, лепить следующий в цепочке...
Взял спецом триал и качнул на оффе до 10 сейчас, вообще непонятно, квесты у адмирала и вождя не выполнял, так вот при выполнении Кессела, у этих нпц даже госсипов не видно, висит текст своего квеста для взятия и идет киллкредит по Кесселу, видимо перемудрили, потому что на клизме текст был(но там я их квесты ранее выполнил).))
NeatElves
06.11.2012, 18:50
Взял перса нового, качнул на квестах, стал проверять)
1. Не выполнял задания у нпц Одиссея, текст и кредит есть.
2. Выполнил задание 9506 у нпц Одиссея, текст и кредит есть.
3. Выполнил задание 9506 - 9537 у нпц Одиссея, текста и кредита нет.
Печальный итог, видимо в обработке ядра - если в списке кондиций есть 2 условия, то сортировка по последнему..))
REPLACE INTO `conditions` (`condition_entry`, `type`, `value1`, `value2`) VALUES
(1797, 22, 9666, 0),(1798, -1, 388, 1797);
UPDATE `gossip_menu` SET `condition_id`=1798 WHERE `entry`=7399 AND `text_id`=9038;
UPDATE `gossip_menu` SET `condition_id`=1798 WHERE `entry`=7434 AND `text_id`=9039;
vBulletin® v3.8.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot