Квест

citadel

Knight
Всем привет. Создал квест для камалоки, добавил файлы в папку quest,забилдил без ошибок,но нпц выдает что квеста нет
Подсобите, где ошибся

package quest;

import l2.gameserver.model.instances.NpcInstance;
import l2.gameserver.model.quest.Quest;
import l2.gameserver.model.quest.QuestState;

public class _10276_MutatedKaneusGludio extends Quest
{

// NPCs
private static final int Bathis = 40035;
private static final int Rohmer = 30344;

// MOBs
private static final int TomlanKamos = 40039;
private static final int OlAriosh = 40040;

// Items
private static final int Tissue1 = 10079;
private static final int Tissue2 = 10080;

public _10276_MutatedKaneusGludio()
{
super(PARTY_ONE);
addStartNpc(Bathis);
addTalkId(Rohmer);
addKillId(TomlanKamos, OlAriosh);
addQuestItem(Tissue1, Tissue2);
}

@Override
public String onEvent(String event, QuestState st, NpcInstance npc)
{
String htmltext = event;
if(event.equalsIgnoreCase("40035-03.htm"))
{
st.setCond(1);
}
else if(event.equalsIgnoreCase("30344-02.htm"))
{
st.giveItems(57, 8500);
}
return htmltext;
}

@Override
public String onTalk(NpcInstance npc, QuestState st)
{
String htmltext = NO_QUEST_DIALOG;
int npcId = npc.getNpcId();
int cond = st.getCond();
if(npcId == Bathis)
{
if(cond == 0)
{
if(st.getPlayer().getLevel() >= 18)
htmltext = "40035-01.htm";
else
htmltext = "40035-00.htm";
}
else if(cond == 1)
htmltext = "40035-04.htm";
else if(cond == 2)
htmltext = "40035-05.htm";
}
else if(npcId == Rohmer)
{
if(cond == 1)
htmltext = "30344-01a.htm";
else if(cond == 2)
htmltext = "30344-01.htm";
}
return htmltext;
}

@Override
public String onKill(NpcInstance npc, QuestState st)
{
if(st.getCond() == 1)
{
st.giveItems(Tissue1, 1);
st.giveItems(Tissue2, 1);
st.setCond(2);
}
return null;
}
}
 
он не рабочий. Нужно вот так
public class _10276_MutatedKaneusGludio extends Quest implements ScriptFile
и заоверврайтитиь onLoad onShutdown onReload
 
Диалоги пошли,но почему-то с 1 босса падают сразу все итемы, а должно по идее с каждого боса свой, и сдача квеста бесконечная,т.е. можно постоянно его сдавать и получать награду. Что-то я намутил)))))
У нас в сборке параметра st.finishQuest(); нет я так понимаю? когда его ставлю, при билде ругается IDEA:
Error:(43, 15) java: cannot find symbol
symbol: method finishQuest()
location: variable st of type l2.gameserver.model.quest.QuestState
Если для понимания, то я пытаюсь реализовать данный квест https://linedia.ru/wiki/Mutated_Kaneus_-_Gludio
Исходный файл был этот:
package quests;

import l2s.gameserver.model.instances.NpcInstance;
import l2s.gameserver.model.quest.QuestState;

public class _10276_MutatedKaneusGludio extends QuestScript
{

// NPCs
private static final int Bathis = 30332;
private static final int Rohmer = 30344;

// MOBs
private static final int TomlanKamos = 18554;
private static final int OlAriosh = 18555;

// Items
private static final int Tissue1 = 13830;
private static final int Tissue2 = 13831;

public _10276_MutatedKaneusGludio()
{
super(PARTY_ONE, ONETIME);
addStartNpc(Bathis);
addTalkId(Rohmer);
addKillId(TomlanKamos, OlAriosh);
addQuestItem(Tissue1, Tissue2);
}

@Override
public String onEvent(String event, QuestState st, NpcInstance npc)
{
String htmltext = event;
if(event.equalsIgnoreCase("30332-03.htm"))
{
st.setCond(1);
}
else if(event.equalsIgnoreCase("30344-02.htm"))
{
st.giveItems(57, 8500, true, true);
st.finishQuest();
}
return htmltext;
}

@Override
public String onTalk(NpcInstance npc, QuestState st)
{
String htmltext = NO_QUEST_DIALOG;
int npcId = npc.getNpcId();
int cond = st.getCond();
if(npcId == Bathis)
{
if(cond == 0)
{
if(st.getPlayer().getLevel() >= 18)
htmltext = "30332-01.htm";
else
htmltext = "30332-00.htm";
}
else if(cond == 1)
htmltext = "30332-04.htm";
else if(cond == 2)
htmltext = "30332-05.htm";
}
else if(npcId == Rohmer)
{
if(cond == 1)
htmltext = "30344-01a.htm";
else if(cond == 2)
htmltext = "30344-01.htm";
}
return htmltext;
}

@Override
public String onCompleted(NpcInstance npc, QuestState st)
{
String htmltext = COMPLETED_DIALOG;
int npcId = npc.getNpcId();
if(npcId == Bathis)
htmltext = "30332-0a.htm";
return htmltext;
}

@Override
public String onKill(NpcInstance npc, QuestState st)
{
if(st.getCond() == 1)
{
st.giveItems(Tissue1, 1, false, false);
st.giveItems(Tissue2, 1, false, false);
st.setCond(2);
}
return null;
}
}
 
Last edited:
Диалоги пошли,но почему-то с 1 босса падают сразу все итемы, а должно по идее с каждого боса свой, и сдача квеста бесконечная,т.е. можно постоянно его сдавать и получать награду. Что-то я намутил)))))
У нас в сборке параметра st.finishQuest(); нет я так понимаю? когда его ставлю, при билде ругается IDEA:

Если для понимания, то я пытаюсь реализовать данный квест https://linedia.ru/wiki/Mutated_Kaneus_-_Gludio
Исходный файл был этот:
st.exitCurrentQuest(true);
true - повторяемый, false одноразовый
 
Back
Top