Добрый день. Вообщем хочу добавить квест новый на основе старого квеста на соски 257.
Скопировал квест , переделал, скомпелил. Квест загружается все ок. Берется у НПС. Загорается иконка квеста. Но самого квеста не видно в разделе квестов. Так же бью мобов которых прописал. дропа нет. Но если шифтануть их, то показывает что они участвуют в этом квесте.
Что я не сделал?
Скопировал квест , переделал, скомпелил. Квест загружается все ок. Берется у НПС. Загорается иконка квеста. Но самого квеста не видно в разделе квестов. Так же бью мобов которых прописал. дропа нет. Но если шифтануть их, то показывает что они участвуют в этом квесте.
Что я не сделал?
JavaScript:
package quests;
import l2.gameserver.model.instances.NpcInstance;
import l2.gameserver.model.quest.Quest;
import l2.gameserver.model.quest.QuestState;
import l2.gameserver.network.l2.components.IStaticPacket;
import l2.gameserver.network.l2.s2c.ExShowScreenMessage;
import l2.gameserver.scripts.ScriptFile;
public class _888_wings extends Quest implements ScriptFile {
private static final int gilbert = 45050;
private static final int bei = 9513;
private static final int ORC_AMULET = 9512;
private static final int ORC_NECKLACE = 9514;
private static final int bej = 9515;
public _888_wings() {
super(0);
addStartNpc(45050);
addKillId(new int[] { 40035, 40036, 40037, 40038, 40039, 40040, 40041, 40042, 40043 });
addQuestItem(new int[] { 9512, 9513, 9514, 9515 });
}
public void onLoad() {}
public void onReload() {}
public void onShutdown() {}
public String onEvent(String paramString, QuestState paramQuestState, NpcInstance paramNpcInstance) {
String str = paramString;
if (paramString.equalsIgnoreCase("gilbert_q0257_03.htm")) {
paramQuestState.setCond(1);
paramQuestState.setState(2);
paramQuestState.playSound("ItemSound.quest_accept");
paramQuestState.takeItems(9513, -1L);
paramQuestState.giveItems(9513, 1L);
} else if (paramString.equalsIgnoreCase("257_2")) {
str = "gilbert_q0257_05.htm";
paramQuestState.takeItems(9513, -1L);
paramQuestState.playSound("ItemSound.quest_finish");
paramQuestState.exitCurrentQuest(true);
} else if (paramString.equalsIgnoreCase("257_3")) {
str = "gilbert_q0257_06.htm";
}
return str;
}
public String onTalk(NpcInstance paramNpcInstance, QuestState paramQuestState) {
String str = "no-quest";
int i = paramQuestState.getState();
int j = paramNpcInstance.getNpcId();
switch (i) {
case 1:
if (j == 45050) {
if (paramQuestState.getPlayer().getLevel() >= 6) {
str = "gilbert_q0257_02.htm";
break;
}
str = "gilbert_q0257_01.htm";
paramQuestState.exitCurrentQuest(true);
}
break;
case 2:
if (j == 45050) {
if (paramQuestState.getQuestItemsCount(9512) < 1L && paramQuestState.getQuestItemsCount(9513) < 1L && paramQuestState.getQuestItemsCount(9514) < 1L) {
str = "gilbert_q0257_04.htm";
break;
}
if (paramQuestState.getQuestItemsCount(9512) > 0L || paramQuestState.getQuestItemsCount(9513) > 0L || paramQuestState.getQuestItemsCount(9514) > 0L) {
str = "gilbert_q0257_07.htm";
if (paramQuestState.getQuestItemsCount(9512) + paramQuestState.getQuestItemsCount(9513) + paramQuestState.getQuestItemsCount(9514) >= 10L) {
paramQuestState.giveItems(57, 10L * paramQuestState.getQuestItemsCount(9512) + 20L * paramQuestState.getQuestItemsCount(9514) + 20L * paramQuestState.getQuestItemsCount(9514) + 1000L);
} else {
paramQuestState.giveItems(57, 10L * paramQuestState.getQuestItemsCount(9512) + 20L * paramQuestState.getQuestItemsCount(9514) + 20L * paramQuestState.getQuestItemsCount(9514));
}
paramQuestState.takeAllItems(new int[] { 9512, 9513, 9514 });
giveExtraReward(paramQuestState.getPlayer());
if (paramQuestState.getPlayer().getLevel() < 25 && paramQuestState.getPlayer().getClassId().getLevel() == 1 && !paramQuestState.getPlayer().getVarB("p1q2")) {
paramQuestState.getPlayer().setVar("p1q2", "1", -1L);
paramQuestState.getPlayer().sendPacket((IStaticPacket)new ExShowScreenMessage("Acquisition of Soulshot for beginners complete.\n Go find the Newbie Guide.", 5000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER, true));
QuestState questState = paramQuestState.getPlayer().getQuestState(_255_Tutorial.class);
if (questState != null && questState.getInt("tutorial_quest_ex") != 10) {
paramQuestState.showQuestionMark(26);
questState.set("tutorial_quest_ex", "10");
if (paramQuestState.getPlayer().getClassId().isMage()) {
paramQuestState.playTutorialVoice("tutorial_voice_027");
paramQuestState.giveItems(5790, 3000L);
break;
}
paramQuestState.playTutorialVoice("tutorial_voice_026");
paramQuestState.giveItems(5789, 6000L);
}
}
}
}
break;
}
return str;
}
public String onKill(NpcInstance paramNpcInstance, QuestState paramQuestState) {
int i = paramNpcInstance.getNpcId();
if (paramQuestState.getQuestItemsCount(95) > 0L && paramQuestState.getCond() > 0)
if (i == 40035 || i == 40036 || i == 40037) {
paramQuestState.rollAndGive(9512, 1, 50.0D);
} else if (i == 40038 || i == 40039 || i == 40040) {
paramQuestState.rollAndGive(9513, 1, 50.0D);
} else if (i == 40041) {
paramQuestState.rollAndGive(9514, 1, 33.0D);
} else if (i == 40042) {
paramQuestState.rollAndGive(9514, 1, 50.0D);
} else if (i == 40043) {
paramQuestState.rollAndGive(9514, 1, 75.0D);
}
return null;
}
}