• SiteAnalyzer, технический и SEO-анализ сайтов

Квест 14024

Вы бы писали какая сборка какая версия игры ибо квесты переделывались.
 
/*
* This file is part of Encom. **ENCOM FUCK OTHER SVN**
*
* Encom is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Encom 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 Lesser Public License for more details.
*
* You should have received a copy of the GNU Lesser Public License
* along with Encom. If not, see <http://www.gnu.org/licenses/>.
*/
package quest.mission;

import com.aionemu.gameserver.model.*;
import com.aionemu.gameserver.model.gameobjects.player.Player;
import com.aionemu.gameserver.questEngine.*;
import com.aionemu.gameserver.questEngine.handlers.*;
import com.aionemu.gameserver.questEngine.model.*;
import com.aionemu.gameserver.services.teleport.*;

/****/
/** Author Rinzler (Encom)
/****/

public class _14024A_Kralling_Suspicion extends QuestHandler
{
private final static int questId = 14024;
private final static int[] npc_ids = {203904, 204045, 204004, 204020};

public _14024A_Kralling_Suspicion() {
super(questId);
}

@Override
public void register() {
for (int npc_id: npc_ids) {
qe.registerQuestNpc(npc_id).addOnTalkEvent(questId);
}
qe.registerOnLevelUp(questId);
qe.registerOnEnterZoneMissionEnd(questId);
}

@Override
public boolean onZoneMissionEndEvent(QuestEnv env) {
return defaultOnZoneMissionEndEvent(env);
}

@Override
public boolean onLvlUpEvent(QuestEnv env) {
return defaultOnLvlUpEvent(env, 14023, true);
}

@Override
public boolean onDialogEvent(QuestEnv env) {
final Player player = env.getPlayer();
final QuestState qs = player.getQuestStateList().getQuestState(questId);
int targetId = env.getTargetId();
int var = qs.getQuestVarById(0);
if (qs == null) {
return false;
} if (qs.getStatus() == QuestStatus.START) {
if (targetId == 203904) {
switch (env.getDialog()) {
case START_DIALOG: {
if (var == 0) {
return sendQuestDialog(env, 1011);
}
} case SELECT_ACTION_1012: {
if (var == 0) {
return sendQuestDialog(env, 1012);
}
} case STEP_TO_1: {
if (var == 0) {
changeQuestStep(env, 0, 1, false);
return closeDialogWindow(env);
}
}
}
} if (targetId == 204045) {
switch (env.getDialog()) {
case START_DIALOG: {
if (var == 1) {
return sendQuestDialog(env, 1352);
}
} case SELECT_ACTION_1353: {
if (var == 1) {
return sendQuestDialog(env, 1353);
}
} case STEP_TO_2: {
if (var == 1) {
changeQuestStep(env, 1, 2, false);
return closeDialogWindow(env);
}
}
}
} if (targetId == 204004) {
switch (env.getDialog()) {
case START_DIALOG: {
if (var == 2) {
return sendQuestDialog(env, 2034);
}
} case STEP_TO_4: {
changeQuestStep(env, 3, 3, true);
TeleportService2.teleportTo(player, 210020000, 1605.3418f, 1528.9393f, 318.0651f, (byte) 117, TeleportAnimation.BEAM_ANIMATION);
return closeDialogWindow(env);
} case CHECK_COLLECTED_ITEMS: {
return checkQuestItems(env, 2, 3, false, 2120, 2035);
} case FINISH_DIALOG: {
if (var == 3) {
defaultCloseDialog(env, 3, 3);
} else if (var == 2) {
defaultCloseDialog(env, 2, 2);
}
}
}
}
} else if (qs.getStatus() == QuestStatus.REWARD) {
if (targetId == 204020) {
if (env.getDialog() == QuestDialog.START_DIALOG) {
return sendQuestDialog(env, 2375);
}
return sendQuestEndDialog(env);
}
}
return false;
 
Как-то все странно! Квест можно уже сдать, но после того как я насильно взяла следующий квест командой админа, по сл квесту меня тоже к этому же НПС оправляет! В чем может быть проблема?
 
сначала проверьте этот квест в quest_data.xml все ли там с ним нормально в плане нпс.
потом проверьте, нет каких нибудь строчек связанных со сдачей его в quest_script_data (там файлы по локациям) может энкомы намутили со сдачей этого квеста. По идее упоминания об этом квесте должны быть в комментариях в файле.

Если же все в порядке, возьмите любую сборку, где работает этот квест (советую взять 4.7 или 4.9) и скопируйте содержимое java файла в ваш, только не забудьте сравнить в начале import`ы, чтобы у вас там все не багнулось. Была проблема в сборке 5.4 у меня, там квест в альтграде нпс не принимал, точнее на нпс вообще нажать нельзя было, оказалось что дело было в скрипте квеста, он у геров был полный шлак)
 
Татьяна, движок сборки сложный(не для новичка), некоторые диалоги поменялись с версий 4+ , некоторые вызовы диалогов у "автора" имеют другие названия(отличающиеся от тех что были в AL Ger AC)
Возьмите что нибудь попроще (для игры с друзьями :rolleyes:).
Решить ваши проблемы можно. Но особо не интересно чинить вашим "друзьям" сборку из паблика за спасибку.
Если уж сильно хочется именно этой сборкой заниматься, запаситесь терпением и воспользуйтесь советом nokiafan1111
Если же все в порядке, возьмите любую сборку, где работает этот квест (советую взять 4.7 или 4.9) и скопируйте содержимое java файла в ваш, только не забудьте сравнить в начале import`ы, чтобы у вас там все не багнулось. Была проблема в сборке 5.4 у меня, там квест в альтграде нпс не принимал, точнее на нпс вообще нажать нельзя было, оказалось что дело было в скрипте квеста, он у геров был полный шлак)
И самое главное, начинайте прокачивать скил сравнения ;)
А так, всегда пожалуйста в лс с конкретными заданиями(если ваши "друзья" готовы их про спонсировать:)).


 
Народ япона мама взяли сборку со старыми миссиями там пля миссии изменились изменились нпсы вам клиент выдаёт что надо к этому неписю а в скрипте указан старый непись который уже не используетсяв квесте
возьмите более новую сборку или более старую или воспользуйтесь советами ребят.
 
Вот вчём разница посмотри


package quest.eltnen;

import com.gameserver.model.DialogAction;
import com.gameserver.model.TeleportAnimation;
import com.gameserver.model.gameobjects.player.Player;
import com.gameserver.questEngine.handlers.QuestHandler;
import com.gameserver.questEngine.model.QuestEnv;
import com.gameserver.questEngine.model.QuestState;
import com.gameserver.questEngine.model.QuestStatus;
import com.gameserver.services.QuestService;
import com.gameserver.services.teleport.TeleportService2;

public class _14024AKrallingSuspicion extends QuestHandler {

private final static int questId = 14024;
private final static int[] npc_ids = {203904, 204045, 204004, 204020};

public _14024AKrallingSuspicion() {
super(questId);
}

@Override
public void register() {
qe.registerOnEnterZoneMissionEnd(questId);
qe.registerOnLevelUp(questId);
for (int npc_id : npc_ids) {
qe.registerQuestNpc(npc_id).addOnTalkEvent(questId);
}
}

@Override
public boolean onZoneMissionEndEvent(QuestEnv env) {
return defaultOnZoneMissionEndEvent(env);
}

@Override
public boolean onLvlUpEvent(QuestEnv env) {
return defaultOnLvlUpEvent(env, 14020, true);
}

@Override
public boolean onDialogEvent(QuestEnv env) {
final Player player = env.getPlayer();
final QuestState qs = player.getQuestStateList().getQuestState(questId);
DialogAction dialog = env.getDialog();
if (qs == null) {
return false;
}
int targetId = env.getTargetId();
if (qs.getStatus() == QuestStatus.START) {
int var = qs.getQuestVarById(0);
switch (targetId) {
case 203904:
switch (dialog) {
case QUEST_SELECT:
if (var == 0) {
return sendQuestDialog(env, 1011);
}
case SETPRO1:
if (var == 0) {
return defaultCloseDialog(env, 0, 1);
}
return false;
default:
break;
}
break;
case 204045:
switch (dialog) {
case QUEST_SELECT:
if (var == 1) {
return sendQuestDialog(env, 1352);
}
case SETPRO2:
if (var == 1) {
return defaultCloseDialog(env, 1, 2);
}
return false;
default:
break;
}
break;
case 204004:
switch (dialog) {
case QUEST_SELECT:
if (var == 2) {
return sendQuestDialog(env, 2034);
}
case CHECK_USER_HAS_QUEST_ITEM:
if (var == 2) {
if (QuestService.collectItemCheck(env, true)) {
changeQuestStep(env, 2, 3, false);
return sendQuestDialog(env, 2120);
} else {
return sendQuestDialog(env, 2035);
}
}
case SETPRO4:
TeleportService2.teleportTo(player, 210020000, 1610f, 1528f, 318f, (byte) 2, TeleportAnimation.BEAM_ANIMATION);
changeQuestStep(env, 3, 3, true);
return true;
case FINISH_DIALOG: {
return closeDialogWindow(env);
}
default:
break;

}
break;
default:
break;
}
} else if (qs.getStatus() == QuestStatus.REWARD) {
if (targetId == 204020) {
if (dialog == DialogAction.USE_OBJECT) {
return sendQuestDialog(env, 2375);
}
return sendQuestEndDialog(env);
}
}
return false;
}
}
 
Вот в одной тут выложенной сборке взял попробуйте только вам придётся по ходу диалоги переделывать у вас сборка китайца 5.6 сюдя по квесту
 

Вложения

Проблема решилась после того как я сделала начальные квесты фоете, и по очереди сдались все остальные квесты! Бред какой то!
как раз не бред , очень частая ошибка у квестовиков , когда в разных квестах идет обращение к одному и тому же неписю , а в скипте квеста не прописаны условия что квест взят и тд , вот такая байда случается)
 
вообще в вашем квесте не верно построен данный диалог
} case STEP_TO_4: {
changeQuestStep(env, 3, 3, true);
TeleportService2.teleportTo(player, 210020000, 1605.3418f, 1528.9393f, 318.0651f, (byte) 117, TeleportAnimation.BEAM_ANIMATION);
return closeDialogWindow(env);
} case CHECK_COLLECTED_ITEMS: {
return checkQuestItems(env, 2, 3, false, 2120, 2035);
} case FINISH_DIALOG: {
if (var == 3) {
defaultCloseDialog(env, 3, 3);
} else if (var == 2) {
defaultCloseDialog(env, 2, 2);
}
 
Народ япона мама взяли сборку со старыми миссиями там пля миссии изменились изменились нпсы вам клиент выдаёт что надо к этому неписю а в скрипте указан старый непись который уже не используетсяв квесте
возьмите более новую сборку или более старую или воспользуйтесь советами ребят.
хоть бы запятые поставил... читать невозможно.
 
Дак что пани Татьяна свои проблемы решила ?
P.S. полячка)??
 
Назад
Сверху