Java mod help
Posted: Wed Jun 16, 2021 3:22 pm
Hello!
I want to build a new shop system to the game, based on the medal event.
Im encountering a problem one particular piece of the code. If its not linking the html-s to the shop it get to the loaded state. I will mark red, that is causing the problem for me, when i put it in the code.
Versions
Server version = 6445
DP version = 9641
package events.OrenShopLvl;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.event.LongTimeEvent;
import com.l2jserver.gameserver.model.quest.QuestState;
public class OrenShopLvl extends LongTimeEvent
{
private final static int NPC1 = 30163;
private final static int NPC2 = 30164;
private final static int NPC3 = 30165;
private final static int NPC4 = 30166;
private final static int NPC5 = 30178;
private final static int NPC6 = 30179;
private final static int NPC7 = 30180;
private final static int NPC8 = 30181;
//Adatok behivasa
public OrenShopLvl(String name, String descr)
{
super(name, descr);
addStartNpc(NPC1);
addTalkId(NPC1);
addFirstTalkId(NPC1);
addStartNpc(NPC2);
addTalkId(NPC2);
addFirstTalkId(NPC2);
addStartNpc(NPC3);
addTalkId(NPC3);
addFirstTalkId(NPC3);
addStartNpc(NPC4);
addTalkId(NPC4);
addFirstTalkId(NPC4);
addStartNpc(NPC5);
addTalkId(NPC5);
addFirstTalkId(NPC5);
addStartNpc(NPC6);
addTalkId(NPC6);
addFirstTalkId(NPC6);
addStartNpc(NPC7);
addTalkId(NPC7);
addFirstTalkId(NPC7);
addStartNpc(NPC8);
addTalkId(NPC8);
addFirstTalkId(NPC8);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
String htmltext = event;
int level = checkLevel(st.QuestState);
{
htmltext = String.valueOf(npc.getNpcId()) + "-lvl-" + String.valueOf(level) + ".htm";
}
This is an alternates i tried.
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
int level = checkLevel(player);
{
htmltext = String.valueOf(npc.getId()) + "-lvl-" + String.valueOf(level) + ".htm";
}
return htmltext;
}
@Override //NPC Player string Shop
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
if (player.getQuestState(getName()) == null)
{
newQuestState(player);
}
return npc.getNpcId() + ".htm";
}
public int checkLevel(QuestState st)
{
int _lev = 0;
if (st.hasQuestItems(24011))
{
_lev = 4;
}
else if (st.hasQuestItems(24010))
{
_lev = 3;
}
else if (st.hasQuestItems(24009))
{
_lev = 2;
}
else if (st.hasQuestItems(24008))
{
_lev = 1;
}
return _lev;
}
public static void main(String[] args)
{
new OrenShopLvl(OrenShopLvl.class.getSimpleName(), "events");
}
}
Thanks fowardly.
I want to build a new shop system to the game, based on the medal event.
Im encountering a problem one particular piece of the code. If its not linking the html-s to the shop it get to the loaded state. I will mark red, that is causing the problem for me, when i put it in the code.
Versions
Server version = 6445
DP version = 9641
package events.OrenShopLvl;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.event.LongTimeEvent;
import com.l2jserver.gameserver.model.quest.QuestState;
public class OrenShopLvl extends LongTimeEvent
{
private final static int NPC1 = 30163;
private final static int NPC2 = 30164;
private final static int NPC3 = 30165;
private final static int NPC4 = 30166;
private final static int NPC5 = 30178;
private final static int NPC6 = 30179;
private final static int NPC7 = 30180;
private final static int NPC8 = 30181;
//Adatok behivasa
public OrenShopLvl(String name, String descr)
{
super(name, descr);
addStartNpc(NPC1);
addTalkId(NPC1);
addFirstTalkId(NPC1);
addStartNpc(NPC2);
addTalkId(NPC2);
addFirstTalkId(NPC2);
addStartNpc(NPC3);
addTalkId(NPC3);
addFirstTalkId(NPC3);
addStartNpc(NPC4);
addTalkId(NPC4);
addFirstTalkId(NPC4);
addStartNpc(NPC5);
addTalkId(NPC5);
addFirstTalkId(NPC5);
addStartNpc(NPC6);
addTalkId(NPC6);
addFirstTalkId(NPC6);
addStartNpc(NPC7);
addTalkId(NPC7);
addFirstTalkId(NPC7);
addStartNpc(NPC8);
addTalkId(NPC8);
addFirstTalkId(NPC8);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
String htmltext = event;
int level = checkLevel(st.QuestState);
{
htmltext = String.valueOf(npc.getNpcId()) + "-lvl-" + String.valueOf(level) + ".htm";
}
This is an alternates i tried.
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
int level = checkLevel(player);
{
htmltext = String.valueOf(npc.getId()) + "-lvl-" + String.valueOf(level) + ".htm";
}
return htmltext;
}
@Override //NPC Player string Shop
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
if (player.getQuestState(getName()) == null)
{
newQuestState(player);
}
return npc.getNpcId() + ".htm";
}
public int checkLevel(QuestState st)
{
int _lev = 0;
if (st.hasQuestItems(24011))
{
_lev = 4;
}
else if (st.hasQuestItems(24010))
{
_lev = 3;
}
else if (st.hasQuestItems(24009))
{
_lev = 2;
}
else if (st.hasQuestItems(24008))
{
_lev = 1;
}
return _lev;
}
public static void main(String[] args)
{
new OrenShopLvl(OrenShopLvl.class.getSimpleName(), "events");
}
}
Thanks fowardly.