- Хроники
- Chaotic Throne: High Five
- Исходники
- Присутствуют
- Сборка
- L2J Mobius
Посмотрите видео ниже, чтобы узнать, как установить наш сайт в виде веб-приложения на главном экране.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Да у меня и без этого добавляялся же квест.По мобиусу нашел такое:
*** Скрытый текст не может быть процитирован. ***
Основное это QuestMasterHandler.javaДа у меня и без этого добавляялся же квест.
Это все для GOD и выше я думаю.
В ХФ клиенте нет QuestMarkConditionData.
Без QuestMasterHandler.java не было бы иОсновное это QuestMasterHandler.java
Хмм, название квеста должно брать с клиента.
Проверяю. Спасибо снова.Хмм, название квеста должно брать с клиента.
Помню на фениксе так было, у мобиуса как то странно.
Попробуйте скопировать в клиенте questname строчку с названием квеста который показывало у этого нпц и дать номер предпоследний в датнике 57999 например.
Возможно проблема в том что номер слишком большой в клиенте или совпадает с одним номером из квестов.
Нашел в мобиусе еще:
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
550601 a,Road to the Orbis Temple\0
550602 a,Road to the Orbis Temple (In Progress)\0
550603 a,Road to the Orbis Temple (Done)\0
550701 a,Search For The Evil King\0
550702 a,Search For The Evil King (In Progress)\0
How quest 1506like this example for quest 1506
related to these numbers?550601 a,Road to the Orbis Temple\0 550602 a,Road to the Orbis Temple (In Progress)\0 550603 a,Road to the Orbis Temple (Done)\0
1050601 u,Малое Вечное Зелье Жизненной Силы\0
1050602 u,Малое Вечное Зелье Жизненной Силы (в процессе)\0
1050603 u,Малое Вечное Зелье Жизненной Силы (завершено)\0
1050701 u,Малое Вечное Зелье Ментальной Силы\0
1050702 u,Малое Вечное Зелье Ментальной Силы (в процессе)\0
1050703 u,Малое Вечное Зелье Ментальной Силы (завершено)\0
for (Quest quest : questList)
{
final QuestState qs = player.getQuestState(quest.getScriptName());
if ((qs == null) || qs.isCreated() || (qs.isCompleted() && qs.isNowAvailable()))
{
final String startConditionHtml = quest.getStartConditionHtml(player, npc);
if (((startConditionHtml != null) && startConditionHtml.isEmpty()) || !startingQuests.contains(quest))
{
continue;
}
else if (startingQuests.contains(quest) && quest.canStartQuest(player))
{
startCount++;
startQuest = quest.getName();
sbCanStart.append("<font color=\"bbaa88\">");
sbCanStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
String localisation = quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>";
if (Config.MULTILANG_ENABLE)
{
final NpcStringId ns = NpcStringId.getNpcStringId(Integer.parseInt(quest.getNpcStringId() + "01"));
if (ns != null)
{
final NSLocalisation nsl = ns.getLocalisation(player.getLang());
if (nsl != null)
{
localisation = nsl.getLocalisation(Collections.emptyList());
}
}
}
sbCanStart.append(localisation);
sbCanStart.append("</button></font>");
}
else
{
sbCantStart.append("<font color=\"a62f31\">");
sbCantStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
String localisation = quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>";
if (Config.MULTILANG_ENABLE)
{
final NpcStringId ns = NpcStringId.getNpcStringId(Integer.parseInt(quest.getNpcStringId() + "01"));
if (ns != null)
{
final NSLocalisation nsl = ns.getLocalisation(player.getLang());
if (nsl != null)
{
localisation = nsl.getLocalisation(Collections.emptyList());
}
}
}
sbCantStart.append(localisation);
sbCantStart.append("</button></font>");
}
}
else if (Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
{
continue;
}
else if (qs.isStarted())
{
startCount++;
startQuest = quest.getName();
sbStarted.append("<font color=\"ffdd66\">");
sbStarted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
String localisation = quest.isCustomQuest() ? quest.getPath() + " (In Progress)" : "<fstring>" + quest.getNpcStringId() + "02</fstring>";
if (Config.MULTILANG_ENABLE)
{
final NpcStringId ns = NpcStringId.getNpcStringId(Integer.parseInt(quest.getNpcStringId() + "02"));
if (ns != null)
{
final NSLocalisation nsl = ns.getLocalisation(player.getLang());
if (nsl != null)
{
localisation = nsl.getLocalisation(Collections.emptyList());
}
}
}
sbStarted.append(localisation);
sbStarted.append("</button></font>");
}
else if (qs.isCompleted())
{
sbCompleted.append("<font color=\"787878\">");
sbCompleted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
String localisation = quest.isCustomQuest() ? quest.getPath() + " (Done) " : "<fstring>" + quest.getNpcStringId() + "03</fstring>";
if (Config.MULTILANG_ENABLE)
{
final NpcStringId ns = NpcStringId.getNpcStringId(Integer.parseInt(quest.getNpcStringId() + "03"));
if (ns != null)
{
final NSLocalisation nsl = ns.getLocalisation(player.getLang());
if (nsl != null)
{
localisation = nsl.getLocalisation(Collections.emptyList());
}
}
}
sbCompleted.append(localisation);
sbCompleted.append("</button></font>");
}
}
yes 5506 = 1506 and 01 started 02 In Progress 03 DoneHow quest 1506
related to these numbers?
Maybe 5506?
Код:1050601 u,Small Eternal Life Potion\0 1050602 u,Small Eternal Life Potion (in progress)\0 1050603 u, Lesser Eternal Life Potion (completed)\0 1050701 u,Small Eternal Mental Strength Potion\0 1050702 u,Small Eternal Mental Strength Potion (in progress)\0 1050703 u,Lesser Eternal Mental Strength Potion (completed)\0
550601 a,Road to the Orbis Temple\0
550602 a,Road to the Orbis Temple (In Progress)\0
550603 a,Road to the Orbis Temple (Done)\0
1050601 u,Малое Вечное Зелье Жизненной Силы\0
1050602 u,Малое Вечное Зелье Жизненной Силы (в процессе)\0
1050603 u,Малое Вечное Зелье Жизненной Силы (завершено)\0
1050701 u,Малое Вечное Зелье Ментальной Силы\0
1050702 u,Малое Вечное Зелье Ментальной Силы (в процессе)\0
1050703 u,Малое Вечное Зелье Ментальной Силы (завершено)\0
Попробуйте еще задать эти строки в NpcString на стороне сервера.Так это не правильно?
Код:1050601 u,Малое Вечное Зелье Жизненной Силы\0 1050602 u,Малое Вечное Зелье Жизненной Силы (в процессе)\0 1050603 u,Малое Вечное Зелье Жизненной Силы (завершено)\0 1050701 u,Малое Вечное Зелье Ментальной Силы\0 1050702 u,Малое Вечное Зелье Ментальной Силы (в процессе)\0 1050703 u,Малое Вечное Зелье Ментальной Силы (завершено)\0
Я совсем запутался.
/**
* @return the NpcStringId of the current quest, used in Quest link bypass
*/
public int getNpcStringId()
{
return _questNameNpcStringId != null ? _questNameNpcStringId.getId() / 100 : (_questId > 10000 ? _questId - 5000 : _questId);
}
Простите за тупоголовость, но куда добавить?Попробуйте еще задать эти строки в NpcString на стороне сервера.
[КОД=java] /**
* @return NpcStringId текущего квеста, используемый в обходе ссылок на квесты
*/
публичный int getNpcStringId()
{
вернуть _questNameNpcStringId != null ? _questNameNpcStringId.getId() / 100 : (_questId > 10000 ? _questId - 5000 : _questId);
}[/КОД]
Вручную добавить в ядроПростите за тупоголовость, но куда добавить?
org/l2jmobius/gameserver/network/NpcStringId.java
@ClientString(id = 901900175, message = "Ugh... I think this is it for me...")
public static NpcStringId UGH_I_THINK_THIS_IS_IT_FOR_ME;
@ClientString(id = 901900176, message = "Valakas forcefully recalls the summoner or the summoned pet.")
public static NpcStringId VALAKAS_FORCEFULLY_RECALLS_THE_SUMMONER_OR_THE_SUMMONED_PET;
@ClientString(id = 901900177, message = "Plague, new nightmare (Lv. 80-85) ")
public static NpcStringId PLAGUE_NEW_NIGHTMARE_LV_80_85;
Ид квеста то какой у тебя?
Q10506_GetAHPPotion
Q10507_GetAMPPotion
1050701 u,Малое Вечное Зелье Ментальной Силы\0
1050702 u,Малое Вечное Зелье Ментальной Силы (в процессе)\0
1050703 u,Малое Вечное Зелье Ментальной Силы (завершено)\0