@Override public boolean onDialogEvent(QuestEnv env) { QuestState qs = env.getPlayer().getQuestStateList().getQuestState(questId); if (qs == null || qs.getStatus() == QuestStatus.NONE) { if (env.getTargetId() == 203621) { switch (env.getDialog()) { case QUEST_SELECT: return sendQuestDialog(env, 1011); case ASK_QUEST_ACCEPT: return sendQuestDialog(env, 4); case QUEST_ACCEPT_1: return sendQuestDialog(env, 1003); case QUEST_REFUSE_1: return sendQuestDialog(env, 1004); case SETPRO1: if (QuestService.startQuest(env)) { QuestService.questTimerStart(env, 1800); return true; } else return false; } } } if (qs == null) return false; int var = qs.getQuestVarById(0); if (qs.getStatus() == QuestStatus.START) { if (env.getTargetId() == 203621) { switch (env.getDialog()) { case QUEST_SELECT: if (var == 0) return sendQuestDialog(env, 2375); case CHECK_USER_HAS_QUEST_ITEM: if (var == 0) { if (QuestService.collectItemCheck(env, true)) { qs.setStatus(QuestStatus.REWARD); updateQuestStatus(env); QuestService.questTimerEnd(env); return sendQuestDialog(env, 5); } else return sendQuestDialog(env, 2716); } } } } return sendQuestRewardDialog(env, 203621, 0); }
@Override public boolean onDialogEvent(QuestEnv env) { final Player player = env.getPlayer(); int targetId = 0; if (env.getVisibleObject() instanceof Npc) targetId = ((Npc) env.getVisibleObject()).getNpcId(); final QuestState qs = player.getQuestStateList().getQuestState(questId); DialogAction dialog = env.getDialog(); if (qs == null || qs.getStatus() == QuestStatus.NONE) { if (targetId == 204801) { if (dialog == DialogAction.QUEST_SELECT) return sendQuestDialog(env, 4762); else if (dialog == DialogAction.QUEST_ACCEPT_1) { if (!giveQuestItem(env, 182204425, 1)) return true; return sendQuestStartDialog(env); } else return sendQuestStartDialog(env); } } else if (qs.getStatus() == QuestStatus.START) { int var = qs.getQuestVarById(0); if (targetId == 204801) { switch (dialog) { case QUEST_SELECT: if (var == 1) { qs.setStatus(QuestStatus.REWARD); updateQuestStatus(env); return sendQuestDialog(env, 1352); } case SELECT_QUEST_REWARD: { QuestService.questTimerEnd(env); return sendQuestDialog(env, 5); } } } } else if (qs.getStatus() == QuestStatus.REWARD) { if (targetId == 204801) { return sendQuestEndDialog(env); } } return false; }