05.11.2023, 19:01
|
#1
|
Пользователь
Регистрация: 05.11.2023
Возраст: 38
Сообщений: 1
Отблагодарили 0 раз(а)
Рейтинг мнений:
|
Проблема с квестами "Письма Кекропуса"
Всем привет. Обнаружил ошибку в скриптах по квестам "Письма Кекропуса" в сборке Grand Crusade от L2J Mobius.
Каждый квест имеет 2 состояния:
1 - когда нужно достичь минимального уровня;
2 - когда персонаж получает свиток телепорта к финальному НПС и должен получить у него награду.
Из-за того, что в файле LetterQuest.java есть такой участок кода:
if ((qs != null) && qs.isCond(1))
{
qs.setCond(2, true);
}
квест получает статус 2 сразу же после получения статуса 1. Из-за этого сбивается последовательность диалога с первым НПЦ, не отрабатывает красная ветка, а сразу идем в синюю (на примере квеста № 10397):
if (qs.isStarted())
{
if (qs.isCond(1) && (npc.getId() == MOUEN))
{
htmltext = "30196-01.html";
}
else if (qs.isCond(2))
{
htmltext = npc.getId() == MOUEN ? "30196-04.html" : "33845-01.html";
}
}
Проблема лечится путем удаления проблемного участка из файла LetterQuest.java, однако остается вторая проблема: после получения свитка телепорта к финальному НПС, не обновляется текущий прогресс квеста и персонажу не ставится задача - поговорить с финальным НПС. Персонаж по-прежнему видит на экране активную задачу - разговор с первым НПС.
Кто знает, как вылечить вторую проблему? Буду благодарен за рецепт.
|
|
|