Ir para conteúdo
  • Cadastre-se
  • 0

Erro adaptar raid info acis na frozen


JulinLucchini

Pergunta

Opa beleza, queria saber se alguém teve um erro parecido e conseguiu solução

ou ate mesmo se não teve esse erro mais sabe o que esta acontecendo e pode me ajudar..

já tentei de tudo e não consigo

segue print

 

 

AJXienr.jpg

 

 

eu adicionei os códigos fiz alterações, consegui copilar sem erros no console porem quando clico no botão do npc da esse erro

acredito que seja porque tem códigos na parte do 'L2RaidBossInfoInstance.java' que a frozen não reconhece, e queria que alguém que tem um pouco mais de conhecimento me ajudasse..

 

codigo acis ->

 

Index: java/net/sf/l2j/gameserver/model/actor/instance/L2RaidBossInfoInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2RaidBossInfoInstance.java (revision 0)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2RaidBossInfoInstance.java (working copy)
@@ -0,0 +1,263 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
+package net.sf.l2j.gameserver.model.actor.instance;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.concurrent.ConcurrentHashMap;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.commons.random.Rnd;
+import net.sf.l2j.gameserver.datatables.ItemTable;
+import net.sf.l2j.gameserver.datatables.NpcTable;
+import net.sf.l2j.gameserver.instancemanager.RaidBossInfoManager;
+import net.sf.l2j.gameserver.model.actor.template.NpcTemplate;
+import net.sf.l2j.gameserver.model.item.DropData;
+import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
+import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
+
+/**
+ * @author rapfersan92
+ */
+public class L2RaidBossInfoInstance extends L2NpcInstance
+{
+ private final Map _lastPage = new ConcurrentHashMap<>();
+
+ private final String[][] _messages =
+ {
+ {
+ "%player%, are you not afraid?",
+ "Be careful %player%!"
+ },
+ {
+ "Here is the drop list of %boss%!",
+ "Seems that %boss% has good drops."
+ },
+ };
+
+ public L2RaidBossInfoInstance(int objectId, NpcTemplate template)
+ {
+ super(objectId, template);
+ }
+
+ @Override
+ public void showChatWindow(L2PcInstance player, int val)
+ {
+ String name = "data/html/mods/raidbossinfo/" + getNpcId() + ".htm";
+ if (val != 0)
+ name = "data/html/mods/raidbossinfo/" + getNpcId() + "-" + val + ".htm";
+
+ NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+ html.setFile(name);
+ html.replace("%objectId%", getObjectId());
+ player.sendPacket(html);
+ player.sendPacket(ActionFailed.STATIC_PACKET);
+ }
+
+ @Override
+ public void onBypassFeedback(L2PcInstance player, String command)
+ {
+ StringTokenizer st = new StringTokenizer(command, " ");
+ String currentCommand = st.nextToken();
+
+ if (currentCommand.startsWith("RaidBossInfo"))
+ {
+ int pageId = Integer.parseInt(st.nextToken());
+ _lastPage.put(player.getObjectId(), pageId);
+ showRaidBossInfo(player, pageId);
+ }
+ else if (currentCommand.startsWith("RaidBossDrop"))
+ {
+ int bossId = Integer.parseInt(st.nextToken());
+ int pageId = st.hasMoreTokens() ? Integer.parseInt(st.nextToken()) : 1;
+ showRaidBossDrop(player, bossId, pageId);
+ }
+
+ super.onBypassFeedback(player, command);
+ }
+
+ private void showRaidBossInfo(L2PcInstance player, int pageId)
+ {
+ List infos = new ArrayList<>();
+ infos.addAll(Config.LIST_RAID_BOSS_IDS);
+
+ final int limit = Config.RAID_BOSS_INFO_PAGE_LIMIT;
+ final int max = infos.size() / limit + (infos.size() % limit == 0 ? 0 : 1);
+ infos = infos.subList((pageId - 1) * limit, Math.min(pageId * limit, infos.size()));
+
+ final StringBuilder sb = new StringBuilder();
+ sb.append("");
+ sb.append(",>

");
+ sb.append("

");
+ sb.append("");
+ sb.append("");
+ sb.append("

%name%

");
+ sb.append("
");
+ sb.append("");
+ sb.append("");
+ sb.append("

" + _messages[0][Rnd.get(_messages.length)].replace("%player%", player.getName()) + "

");
+ sb.append("
");
+ sb.append("");
+ sb.append("");
+ sb.append("

Raid Boss Infos

");
+ sb.append("
");
+ sb.append("");
+
+ for (int bossId : infos)
+ {
+ final NpcTemplate template = NpcTable.getInstance().getTemplate(bossId);
+ if (template == null)
+ continue;
+
+ String bossName = template.getName();
+ if (bossName.length() > 23)
+ bossName = bossName.substring(0, 23) + "...";
+
+ final long respawnTime = RaidBossInfoManager.getInstance().getRaidBossRespawnTime(bossId);
+ if (respawnTime <= System.currentTimeMillis())
+ {
+ sb.append("");
+ sb.append("");
+ sb.append("");
+ sb.append("");
+ }
+ else
+ {
+ sb.append("");
+ sb.append("");
+ sb.append("");
+ sb.append("");
+ }
+ }
+
+ sb.append("

" + bossName + " Dead " + new SimpleDateFormat(Config.RAID_BOSS_DATE_FORMAT).format(new Date(respawnTime)) + "

");
+ sb.append("
");
+ sb.append("");
+ sb.append("");
+
+ for (int x = 0; x < max; x++)
+ {
+ final int pageNr = x + 1;
+ if (pageId == pageNr)
+ sb.append("");
+ else
+ sb.append("");
+ }
+
+ sb.append("");
+ sb.append("

" + pageNr + " + sb.append("
");
+ sb.append("");
+ sb.append("");
+ sb.append("");
+ sb.append("");
+ sb.append("
+ sb.append("
");
+ sb.append("");
+ sb.append("");
+ sb.append("
L2jBrasil ");
+ sb.append("

");
+ sb.append("");
+ sb.append("");
+
+ final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+ html.setHtml(sb.toString());
+ html.replace("%name%", getName());
+ html.replace("%objectId%", getObjectId());
+ player.sendPacket(html);
+ }
+
+ private void showRaidBossDrop(L2PcInstance player, int bossId, int pageId)
+ {
+ final NpcTemplate template = NpcTable.getInstance().getTemplate(bossId);
+ if (template == null)
+ return;
+
+ List drops = new ArrayList<>();
+ for (DropData drop : template.getAllDropData())
+ drops.add(drop.getItemId());
+
+ final int limit = Config.RAID_BOSS_DROP_PAGE_LIMIT;
+ final int max = drops.size() / limit + (drops.size() % limit == 0 ? 0 : 1);
+ drops = drops.subList((pageId - 1) * limit, Math.min(pageId * limit, drops.size()));
+
+ final StringBuilder sb = new StringBuilder();
+ sb.append("");
+ sb.append("

");
+ sb.append("

");
+ sb.append("");
+ sb.append("");
+ sb.append("

%name%

");
+ sb.append("
");
+ sb.append("");
+ sb.append("");
+ sb.append("

" + _messages[1][Rnd.get(_messages.length)].replace("%boss%", template.getName()) + "

");
+ sb.append("
");
+ sb.append("");
+ sb.append("");
+ sb.append("

Raid Boss Drops

");
+ sb.append("
");
+ sb.append("");
+
+ for (int itemId : drops)
+ {
+ String itemName = ItemTable.getInstance().getTemplate(itemId).getName();
+ if (itemName.length() > 47)
+ itemName = itemName.substring(0, 47) + "...";
+
+ sb.append("");
+ }
+
+ sb.append("

" + itemName + "

");
+ sb.append("
");
+ sb.append("");
+ sb.append("");
+
+ for (int x = 0; x < max; x++)
+ {
+ final int pageNr = x + 1;
+ if (pageId == pageNr)
+ sb.append("");
+ else
+ sb.append("");
+ }
+
+ sb.append("");
+ sb.append("

" + pageNr + " + sb.append("
");
+ sb.append("");
+ sb.append("");
+ sb.append("");
+ sb.append("");
+ sb.append("
+ sb.append("
");
+ sb.append("");
+ sb.append("");
+ sb.append("
L2jBrasil ");
+ sb.append("

");
+ sb.append("");
+ sb.append("");
+
+ final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+ html.setHtml(sb.toString());
+ html.replace("%name%", getName());
+ html.replace("%objectId%", getObjectId());
+ player.sendPacket(html);
+ }
+}

 

Codigo que modifiquei ->

 

/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see .
*/
package net.l2jpx.gameserver.model.actor.instance;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.concurrent.ConcurrentHashMap;

import net.l2jpx.Config;
import net.l2jpx.util.random.Rnd;
import net.l2jpx.gameserver.datatables.sql.ItemTable;
import net.l2jpx.gameserver.datatables.sql.NpcTable;
import net.l2jpx.gameserver.managers.RaidBossInfoManager;
import net.l2jpx.gameserver.templates.L2NpcTemplate;
import net.l2jpx.gameserver.model.L2DropData;
import net.l2jpx.gameserver.network.serverpackets.ActionFailed;
import net.l2jpx.gameserver.network.serverpackets.NpcHtmlMessage;

/**
* @author rapfersan92
*/
public class L2RaidBossInfoInstance extends L2NpcInstance
{
private final Map _lastPage = new ConcurrentHashMap<>();

private final String[][] _messages =
{
{
"%player%, are you not afraid?",
"Be careful %player%!"
},
{
"Here is the drop list of %boss%!",
"Seems that %boss% has good drops."
},
};

public L2RaidBossInfoInstance(int objectId, L2NpcInstance template)
{
super(objectId, Template);
}

@Override
public void showChatWindow(L2PcInstance player, int val)
{
String name = "data/html/mods/raidbossinfo/" + getNpcId() + ".htm";
if (val != 0)
name = "data/html/mods/raidbossinfo/" + getNpcId() + "-" + val + ".htm";

NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
html.setFile(name);
html.replace("%objectId%", getObjectId());
player.sendPacket(html);
player.sendPacket(ActionFailed.STATIC_PACKET);
}

@Override
public void onBypassFeedback(L2PcInstance player, String command)
{
StringTokenizer st = new StringTokenizer(command, " ");
String currentCommand = st.nextToken();

if (currentCommand.startsWith("RaidBossInfo"))
{
int pageId = Integer.parseInt(st.nextToken());
_lastPage.put(player.getObjectId(), pageId);
showRaidBossInfo(player, pageId);
}
else if (currentCommand.startsWith("RaidBossDrop"))
{
int bossId = Integer.parseInt(st.nextToken());
int pageId = st.hasMoreTokens() ? Integer.parseInt(st.nextToken()) : 1;
showRaidBossDrop(player, bossId, pageId);
}

super.onBypassFeedback(player, command);
}

private void showRaidBossInfo(L2PcInstance player, int pageId)
{
List infos = new ArrayList<>();
infos.addAll(Config.LIST_RAID_BOSS_IDS);

final int limit = Config.RAID_BOSS_INFO_PAGE_LIMIT;
final int max = infos.size() / limit + (infos.size() % limit == 0 ? 0 : 1);
infos = infos.subList((pageId - 1) * limit, Math.min(pageId * limit, infos.size()));

final StringBuilder sb = new StringBuilder();
sb.append("");
sb.append(" ,>

");
sb.append("

");
sb.append("");
sb.append("");
sb.append("

%name%

");
sb.append("
");
sb.append("");
sb.append("");
sb.append("

" + _messages[0][Rnd.get(_messages.length)].replace("%player%", player.getName()) + "

");
sb.append("
");
sb.append("");
sb.append("");
sb.append("

Raid Boss Infos

");
sb.append("
");
sb.append("");

for (int bossId : infos)
{
final L2NpcTemplate template = NpcTable.getInstance().getTemplate(bossId);
if (template == null)
continue;

String bossName = template.getName();
if (bossName.length() > 23)
bossName = bossName.substring(0, 23) + "...";

final long respawnTime = RaidBossInfoManager.getInstance().getRaidBossRespawnTime(bossId);
if (respawnTime <= System.currentTimeMillis())
{
sb.append("");
sb.append("");
sb.append("");
sb.append("");
}
else
{
sb.append("");
sb.append("");
sb.append("");
sb.append("");
}
}

sb.append("

" + bossName + " Dead " + new SimpleDateFormat(Config.RAID_BOSS_DATE_FORMAT).format(new Date(respawnTime)) + "

");
sb.append("
");
sb.append("");
sb.append("");

for (int x = 0; x < max; x++)
{
final int pageNr = x + 1;
if (pageId == pageNr)
sb.append("");
else
sb.append("");
}

sb.append("");
sb.append("

" + pageNr + " sb.append("
");
sb.append("");
sb.append("");
sb.append("");
sb.append("");
sb.append("
sb.append("
");
sb.append("");
sb.append("");
sb.append("
L2jBrasil ");
sb.append("

");
sb.append("");
sb.append("");

final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
html.setHtml(sb.toString());
html.replace("%name%", getName());
html.replace("%objectId%", getObjectId());
player.sendPacket(html);
}

private void showRaidBossDrop(L2PcInstance player, int bossId, int pageId)
{
final L2NpcTemplate template = NpcTable.getInstance().getTemplate(bossId);
if (template == null)
return;

List drops = new ArrayList<>();
for (L2DropData drop : template.getAllDropData())
drops.add(drop.getItemId());

final int limit = Config.RAID_BOSS_DROP_PAGE_LIMIT;
final int max = drops.size() / limit + (drops.size() % limit == 0 ? 0 : 1);
drops = drops.subList((pageId - 1) * limit, Math.min(pageId * limit, drops.size()));

final StringBuilder sb = new StringBuilder();
sb.append("");
sb.append("

");
sb.append("

");
sb.append("");
sb.append("");
sb.append("

%name%

");
sb.append("
");
sb.append("");
sb.append("");
sb.append("

" + _messages[1][Rnd.get(_messages.length)].replace("%boss%", template.getName()) + "

");
sb.append("
");
sb.append("");
sb.append("");
sb.append("

Raid Boss Drops

");
sb.append("
");
sb.append("");

for (int itemId : drops)
{
String itemName = ItemTable.getInstance().getTemplate(itemId).getName();
if (itemName.length() > 47)
itemName = itemName.substring(0, 47) + "...";

sb.append("");
}

sb.append("

" + itemName + "

");
sb.append("
");
sb.append("");
sb.append("");

for (int x = 0; x < max; x++)
{
final int pageNr = x + 1;
if (pageId == pageNr)
sb.append("");
else
sb.append("");
}

sb.append("");
sb.append("

" + pageNr + " sb.append("
");
sb.append("");
sb.append("");
sb.append("");
sb.append("");
sb.append("
sb.append("
");
sb.append("");
sb.append("");
sb.append("
L2jBrasil ");
sb.append("

");
sb.append("");
sb.append("");

final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
html.setHtml(sb.toString());
html.replace("%name%", getName());
html.replace("%objectId%", getObjectId());
player.sendPacket(html);
}
}

 

 

 

Editado por JulinLucchini
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts recomendados


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.