Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
есть определенная структура HTML кусков в "QUEST_Qxxxxxx.html", где xxxxxx - номер квеста.в квесте типа "Сходить поболтать"
<HtmlPage name="select1">
<HtmlPage name="select_none" accept="true">
/**
* This file is part of Aion-Lightning <aion-lightning.org>.
*
* Aion-Lightning is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Aion-Lightning is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License
* along with Aion-Lightning.
* If not, see <http://www.gnu.org/licenses/>.
*/
package quest.raksang_ruins;
import com.aionemu.gameserver.model.gameobjects.player.Player;
import com.aionemu.gameserver.questEngine.handlers.QuestHandler;
import com.aionemu.gameserver.model.DialogAction;
import com.aionemu.gameserver.questEngine.model.QuestEnv;
import com.aionemu.gameserver.questEngine.model.QuestState;
import com.aionemu.gameserver.questEngine.model.QuestStatus;
import com.aionemu.gameserver.utils.PacketSendUtility;
/**
* @author pandim
*/
public class _18737RumoursAboutTheBeritraArmy extends QuestHandler {
public static final int questId = 18737;
public _18737RumoursAboutTheBeritraArmy() {
super(questId);
}
@Override
public void register() {
qe.registerQuestNpc(804707).addOnQuestStart(questId);
qe.registerQuestNpc(804707).addOnTalkEvent(questId);
qe.registerQuestNpc(206378).addOnTalkEvent(questId);
qe.registerQuestNpc(206379).addOnTalkEvent(questId);
qe.registerQuestNpc(206380).addOnTalkEvent(questId);
}
@Override
public boolean onDialogEvent(QuestEnv env) {
Player player = env.getPlayer();
QuestState qs = player.getQuestStateList().getQuestState(questId);
DialogAction dialog = env.getDialog();
int targetId = env.getTargetId();
if (qs == null || qs.getStatus() == QuestStatus.NONE) {
if (targetId == 804707) {
if (dialog == DialogAction.QUEST_SELECT) {
return sendQuestDialog(env, 4762);
} else {
return sendQuestStartDialog(env);
}
}
} else if (qs.getStatus() == QuestStatus.START) {
if (targetId == 206378 || targetId == 206379 || targetId == 206380) {
if (dialog == DialogAction.QUEST_SELECT) {
return sendQuestDialog(env, 10002);
} else if (dialog == DialogAction.SELECT_QUEST_REWARD) {
qs.setStatus(QuestStatus.REWARD);
return sendQuestDialog(env, 5);
}
return false;
}
} else if (qs.getStatus() == QuestStatus.REWARD) {
if (targetId == 206378 || targetId == 206379 || targetId == 206380) {
return sendQuestEndDialog(env);
}
}
return false;
}
}
<!-- REPORTING QUESTS -->
<!--<report_to id="18737" start_npc_ids="804707" end_npc_ids="804716"/>-->

вот я и жду, чтоб кто-нибудь ткнул носом, сам не смогпоправить в quest_script_data и quest_data
хоть и написал и работает, но есть ощущение, что коряво написал (особенно с sendQuestEndDialog())!принимаю критику!![]()
<report_to_many id="18737" start_npc_ids="804707" start_dialog_id="4762" end_npc_ids="206378 206379 206380" end_dialog_id="5">
<npc_infos npc_id="206378" var="0" quest_dialog="10002" close_dialog="1009"/>
<npc_infos npc_id="206379" var="0" quest_dialog="10002" close_dialog="1009"/>
<npc_infos npc_id="206380" var="0" quest_dialog="10002" close_dialog="1009"/>
</report_to_many>
<report_to_many id="28737" start_npc_ids="804732" start_dialog_id="4762" end_npc_ids="206395 206396 206397" end_dialog_id="5">
<npc_infos npc_id="206395" var="0" quest_dialog="10002" close_dialog="1009"/>
<npc_infos npc_id="206396" var="0" quest_dialog="10002" close_dialog="1009"/>
<npc_infos npc_id="206397" var="0" quest_dialog="10002" close_dialog="1009"/>
</report_to_many>
@Override
public void onInstanceCreate(WorldMapInstance instance) {
doors = instance.getDoors();
stageNum = Rnd.get(1, 3);
super.onInstanceCreate(instance);
spawnRings();
}
@Override
public void onEnterInstance(Player player) {
// Elyos Npc's
// 206378 lvl1
// 206379 lvl2
// 206380 lvl3
// Asmo Npc's
// 206395 lvl1
// 206396 lvl2
// 206397 lvl3
switch (player.getRace()){
case ASMODIANS:
switch (stageNum){
case 1:
spawn(206395, 818.103f, 931.0215f, 1207.4312f, (byte) 13);
break;
case 2:
spawn(206396, 818.103f, 931.0215f, 1207.4312f, (byte) 13);
break;
case 3:
spawn(206397, 818.103f, 931.0215f, 1207.4312f, (byte) 13);
break;
}
break;
case ELYOS:
switch (stageNum){
case 1:
spawn(206378, 818.103f, 931.0215f, 1207.4312f, (byte) 13);
break;
case 2:
spawn(206379, 818.103f, 931.0215f, 1207.4312f, (byte) 13);
break;
case 3:
spawn(206380, 818.103f, 931.0215f, 1207.4312f, (byte) 13);
break;
}
break;
default:
break;
}
}
Не квеста, а инста - пардонПри генерации квеста есть случайно выбираемые три фазы:
А как сделано? Вроде телепорт делается на конкретное место?1 стоит и рандомно портует в 3 разных места)
Ну показал бы чтоль! Провел мастер-класс!аи делаешь для непися , с рандомными точками телепорта
