Aqui intento de alguna manera activar la quest
@Override
public String onEnterWorld(L2PcInstance player)
{
if (player.getInventory().getInventoryItemCount(ITEM_VIP, 0) != 0)
{
String firstlogin = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/html/vip/startVipRewards.htm");
player.sendPacket(new NpcHtmlMessage(1, firstlogin));
final QuestState qs = player.getQuestState("VipRewards");// quest creada 0
if (qs.getState() == State.CREATED)
{
qs.setState(State.STARTED);
}
else
{
qs.setState(State.CREATED);
qs.setState(State.STARTED);
}
player.sendMessage("Vip Systen Enabled!");
}
else
{
final QuestState qs = getQuestState(player, true);
if ((qs.getState() == 1) || (qs.getState() == 0))
{
qs.setState(State.COMPLETED);
qs.exitQuest(false);
}
}
return null;
}
Mmm.. veo que te has complicado un poco, te propongo lo siguiente:
En la misma clase que creaste para el bonus en el data, pon esto:
@Override
public String onEnterWorld(L2PcInstance player)
{
if (player.getInventory().getInventoryItemCount(ITEM_VIP, 0) != 0)
{
// Messages to login
player.sendMessage("Vip Systen Enabled!");
// Send HTML
String _vipHtm = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/html/vip.htm");
if (_vipHtm != null)
{
player.sendPacket(new NpcHtmlMessage(_vipHtm));
}
}
return null;
}
Así evitas tocar el core y cuantas menos cosas toquemos mejor.