Цитата:
Сообщение от iqman
Не понял проблему?
|
Окей.
Квест _10324_FindingMagisterGallint.
Он не берется на таути. Пишет что игрок не соответствует требованиям. При проверке квеста оказалось, что в нем отсутствует нормальная проверка на лв и завершение предыдущего квеста.
http://forum.l2-scripts.ru/showthread.php?t=1948 - > вот тут тоже писали про этот квест.
Решение - добавить проверку на условия
Код:
@Override
public boolean checkStartCondition(Player player)
{
QuestState qs = player.getQuestState(_10323_GoingIntoARealWar.class);
return player.getLevel() <= 20 && qs != null && qs.getState() == COMPLETED;
}
Квест _10325_SearchingForNewPower
При проверки в несколько игроков сервак работал нормально. Но! Когда пошел более массированный тест выяснилось, что представители камаэлей и светлых эльфов взять его не могут. После ребута он отвалился у орков и гномов, зато камаэли и эльфы начали его проходить. После следующего ребута он не работал только у темных эльфов.
Я грешил на вот эту херню
Код:
if(cond == 0 && !talkerAdded)
{
talkerAdded = true;
if(race == Race.DARKELF)
addTalkId(BLACK);
else if(race == Race.DWARF)
addTalkId(KINCAID);
else if(race == Race.ELF)
addTalkId(CINDET);
else if(race == Race.HUMAN)
addTalkId(TALBOT);
else if(race == Race.KAMAEL)
addTalkId(XONIA);
else if(race == Race.ORC)
addTalkId(HERZ);
addTalkId(GALLINT);
}
Вы добавляете квестового нпс динамически. Вместо этого я воткнул их в самое началоpublic
Код:
_10325_SearchingForNewPower()
{
super(false);
talkerAdded = false;
addStartNpc(GALLINT);
addTalkId(TALBOT);
addTalkId(CINDET);
addTalkId(BLACK);
addTalkId(HERZ);
addTalkId(KINCAID);
addTalkId(XONIA);
}
Ну и проверки, чтоб они ток со своей рассой говорили. Квест начал работать стабильно у всех.