- 0
-
Quem Está Navegando
- Nenhum usuário registrado visualizando esta página.
-
Posts
-
Hola rosh yo también soy argentino y quisiera contribuir en este proyecto, veo que vos ya estas mas interiorizado, estaría genial si nos pondríamos en contacto para ver que podemos hacer en base a este proyecto y por que no otras cuestiones futuras para algun server... si te interesa te estaré enviando el contacto. Estoy en la misma situación y nivel de conocimiento que vos, nada mas que yo solo utilice Jteon, Jfrozen, JArchid y tambien Jacis. Todo en interlude.
-
Esse set ficaria show otimizado em um só .u pois tem vários modelos diferentes, msm assim parabéns!! Um dos mais bonitos que eu já vi além do Morai que é meu preferido..
-
O conteúdo está oculto, favor efetuar login ou se cadastrar! Entre ou Cadastre-se
-
Boa Noite Galera o @Mr.Kadu postou o link do projeto mas eu fiz um erro e estarei postando a correção. aqueles que baixou o projeto e tentou ligar e deu erro e por causa do java que foi copilado eu copilei no java 22 e o projeto e no java 17 vou postar o link aqui para vcs, vai incluso a Geodata O conteúdo está oculto, favor efetuar login ou se cadastrar! Entre ou Cadastre-se
-
Nova Revisão com AutoFarm e .Menu O conteúdo está oculto, favor efetuar login ou se cadastrar! Entre ou Cadastre-se
-
alguem tambem esta tendo problemas com email ? quando vc loga com a conta e nao tem email cadastrado. eu levo erro 500
-
muito bom meu amigo. vou começar os testes........
-
@Mr.Kadu VOU COMEÇA OS TESTES AGORA MESMO. VOU VER SE COLOCO UM PROJETO ONLINE. USANDO SUA BASE, AI SERÁ MUITO BOM PRA REPORTAR. abraços mano e muito boa iniciativa com esse projeto, que muitos usaram.
Pergunta
JulinLucchini
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
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("
");
%name%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 Infossb.append("
");
sb.append("");
sb.append("");
sb.append("
");
" + bossName + " Dead " + new SimpleDateFormat(Config.RAID_BOSS_DATE_FORMAT).format(new Date(respawnTime)) + "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("
");
" + pageNr + " sb.append("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("
");
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("
");
%name%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 Dropssb.append("
");
sb.append("");
sb.append("");
sb.append("
");
" + itemName + "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("
");
" + pageNr + " sb.append("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("
");
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);
}
}
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.