Перейти к содержанию
Авторизация  
Piraelle

Ошибка скрипта

Рекомендуемые сообщения

Доброго дня! Такая беда , на базе 297 квеста сделал свой . квест берется , итемы с моба падают , но вот при сдаче квеста  итемы забирает а награду не дает :(
 пишет ошибка в st.giveItems(SHILIN, 10);   63 строка как я понимаю . Прошу помощи разобраться.
 
 

package quests._1101_Bonus;



import l2p.gameserver.model.quest.Quest;
import l2p.gameserver.model.quest.QuestState;
import l2p.gameserver.scripts.ScriptFile;
import l2p.gameserver.model.instances.L2NpcInstance;

public class _1101_Bonus
extends Quest
implements ScriptFile
{
int STARSTONE = 1573;
int SHILIN = 4057;

public void onLoad() {}

public void onReload() {}

public void onShutdown() {}

public _1101_Bonus()
{
super(false);
addStartNpc(30086);
addTalkId(new int[] { 30086 });
addKillId(new int[] { 20045 });
addQuestItem(new int[] { 1573 });
}

public String onEvent(String event, QuestState st, L2NpcInstance npc)
{
String htmltext = event;
if (event.equalsIgnoreCase("30540-03.htm"))
{
st.set("cond", "1");
st.playSound(SOUND_ACCEPT);
}
return htmltext;
}

public String onTalk(L2NpcInstance npc, QuestState st)
{
String htmltext = "noquest";
int npcId = npc.getNpcId();
int cond = st.getInt("cond");
if (npcId == 30086) {
if (cond == 0)
{
htmltext = "30540-02.htm";
}
else if ((cond == 1) && (st.getQuestItemsCount(1573) < 20L))
{
htmltext = "30540-04.htm";
}
else if ((cond == 2) && (st.getQuestItemsCount(1573) < 20L))
{
htmltext = "30540-04.htm";
}
else if ((cond == 2) && (st.getQuestItemsCount(1573) >= 20L))
{
htmltext = "30540-05.htm";
st.takeItems(STARSTONE, -1);
st.giveItems(SHILIN, 10);
st.exitCurrentQuest(true);
st.playSound(SOUND_FINISH);
}
}
return htmltext;
}

public String onKill(L2NpcInstance npc, QuestState st)
{
st.rollAndGive(1573, 1, 1, 20, 33.0D);
if (st.getQuestItemsCount(1573) >= 20L) {
st.set("cond", "2");
}
return null;
}
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго дня! Такая беда , на базе 297 квеста сделал свой . квест берется , итемы с моба падают , но вот при сдаче квеста  итемы забирает а награду не дает :(

 пишет ошибка в st.giveItems(SHILIN, 10);   63 строка как я понимаю . Прошу помощи разобраться.

 

 

package quests._1101_Bonus;

 

import l2p.gameserver.model.quest.Quest;

import l2p.gameserver.model.quest.QuestState;

import l2p.gameserver.scripts.ScriptFile;

import l2p.gameserver.model.instances.L2NpcInstance;

 

public class _1101_Bonus

extends Quest

implements ScriptFile

{

int STARSTONE = 1573;

int SHILIN = 4057;

 

public void onLoad() {}

 

public void onReload() {}

 

public void onShutdown() {}

 

public _1101_Bonus()

{

super(false);

addStartNpc(30086);

addTalkId(new int[] { 30086 });

addKillId(new int[] { 20045 });

addQuestItem(new int[] { 1573 });

}

 

public String onEvent(String event, QuestState st, L2NpcInstance npc)

{

String htmltext = event;

if (event.equalsIgnoreCase("30540-03.htm"))

{

st.set("cond", "1");

st.playSound(SOUND_ACCEPT);

}

return htmltext;

}

 

public String onTalk(L2NpcInstance npc, QuestState st)

{

String htmltext = "noquest";

int npcId = npc.getNpcId();

int cond = st.getInt("cond");

if (npcId == 30086) {

if (cond == 0)

{

htmltext = "30540-02.htm";

}

else if ((cond == 1) && (st.getQuestItemsCount(1573) < 20L))

{

htmltext = "30540-04.htm";

}

else if ((cond == 2) && (st.getQuestItemsCount(1573) < 20L))

{

htmltext = "30540-04.htm";

}

else if ((cond == 2) && (st.getQuestItemsCount(1573) >= 20L))

{

htmltext = "30540-05.htm";

st.takeItems(STARSTONE, -1);

st.giveItems(SHILIN, 10);

st.exitCurrentQuest(true);

st.playSound(SOUND_FINISH);

}

}

return htmltext;

}

 

public String onKill(L2NpcInstance npc, QuestState st)

{

st.rollAndGive(1573, 1, 1, 20, 33.0D);

if (st.getQuestItemsCount(1573) >= 20L) {

st.set("cond", "2");

}

return null;

}

}

 

 

У тебя есть такой класс "L2NpcInstance"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго дня! Такая беда , на базе 297 квеста сделал свой . квест берется , итемы с моба падают , но вот при сдаче квеста  итемы забирает а награду не дает :(

 пишет ошибка в st.giveItems(SHILIN, 10);   63 строка как я понимаю . Прошу помощи разобраться.

 

 

package quests._1101_Bonus;

 

import l2p.gameserver.model.quest.Quest;

import l2p.gameserver.model.quest.QuestState;

import l2p.gameserver.scripts.ScriptFile;

import l2p.gameserver.model.instances.L2NpcInstance;

 

public class _1101_Bonus

extends Quest

implements ScriptFile

{

int STARSTONE = 1573;

int SHILIN = 4057;

 

public void onLoad() {}

 

public void onReload() {}

 

public void onShutdown() {}

 

public _1101_Bonus()

{

super(false);

addStartNpc(30086);

addTalkId(new int[] { 30086 });

addKillId(new int[] { 20045 });

addQuestItem(new int[] { 1573 });

}

 

public String onEvent(String event, QuestState st, L2NpcInstance npc)

{

String htmltext = event;

if (event.equalsIgnoreCase("30540-03.htm"))

{

st.set("cond", "1");

st.playSound(SOUND_ACCEPT);

}

return htmltext;

}

 

public String onTalk(L2NpcInstance npc, QuestState st)

{

String htmltext = "noquest";

int npcId = npc.getNpcId();

int cond = st.getInt("cond");

if (npcId == 30086) {

if (cond == 0)

{

htmltext = "30540-02.htm";

}

else if ((cond == 1) && (st.getQuestItemsCount(1573) < 20L))

{

htmltext = "30540-04.htm";

}

else if ((cond == 2) && (st.getQuestItemsCount(1573) < 20L))

{

htmltext = "30540-04.htm";

}

else if ((cond == 2) && (st.getQuestItemsCount(1573) >= 20L))

{

htmltext = "30540-05.htm";

st.takeItems(STARSTONE, -1);

st.giveItems(SHILIN, 10);

st.exitCurrentQuest(true);

st.playSound(SOUND_FINISH);

}

}

return htmltext;

}

 

public String onKill(L2NpcInstance npc, QuestState st)

{

st.rollAndGive(1573, 1, 1, 20, 33.0D);

if (st.getQuestItemsCount(1573) >= 20L) {

st.set("cond", "2");

}

return null;

}

}

 

 

У вас SHILIN это своя валюта или что есть в сервере ? Попробуйте SILVER_SHILEN

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

поставь ADENA вместо шилен

или ITEM_ID_ADENA - так в оверах

Изменено пользователем Rollfer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...