te0x Posted July 3, 2014 Posted July 3, 2014 (edited) there a lot of posts like this but anyway ;D u use .castle command and it shows up a html with all the castles so u can join in a siege gameserver/handler/voicedcommandhandlers create this package com.l2jfrozen.gameserver.handler.voicedcommandhandlers; import javolution.text.TextBuilder; import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; /** * @author te0x */ public class CastleManagersVCmd implements IVoicedCommandHandler { private static final String[] VOICED_COMMANDS = { "castle", }; @Override public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if (command.startsWith("castle")) { sendHtml(activeChar); } return true; } private void sendHtml(L2PcInstance activeChar) { TextBuilder tb = new TextBuilder(); NpcHtmlMessage html = new NpcHtmlMessage(1); tb.append("<html><head><title>Castle Manager</title></head>"); tb.append("<body>"); tb.append("<center>"); tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"999999\">"); tb.append("<tr>"); tb.append("<td align=\"center\"><font color=\"FF4400\">Castles Panel</font>"); tb.append("<br1><font color=\"333333\">An easy way to participate in a castle siege</font>"); tb.append("<br1><font color=\"333333\">Be the Ruler!</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("</center>"); tb.append("<br>"); tb.append("<img src=\"l2ui.squaregray\" width=\"300\" height=\"1\">"); tb.append("<br>"); tb.append("<center>"); tb.append("<button value=\"Giran\" action=\"bypass -h giran\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">"); tb.append("<table>"); tb.append("<tr><td><button value=\"Aden\" action=\"bypass -h aden\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td><td><button value=\"Rune\" action=\"bypass -h rune\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td></tr>"); tb.append("<tr><td><button value=\"Goddard\" action=\"bypass -h goddard\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td><td><button value=\"Schuttgart\" action=\"bypass -h schuttgart\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td></tr>"); tb.append("<tr><td><button value=\"Oren\" action=\"bypass -h oren\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td><td><button value=\"Innadril\" action=\"bypass -h innadril\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td></tr>"); tb.append("<tr><td><button value=\"Dion\" action=\"bypass -h dion\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td><td><button value=\"Gludio\" action=\"bypass -h gludio\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td></tr>"); tb.append("</table>"); tb.append("</center>"); tb.append("<br>"); tb.append("<center>"); tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32><br>"); tb.append("</center>"); tb.append("<center>"); tb.append("</center>"); tb.append("</body></html>"); html.setHtml(tb.toString()); activeChar.sendPacket(html); } @Override public String[] getVoicedCommandList() { return VOICED_COMMANDS; } } now network/clientpackets/RequestBypassToServer.java put the import import com.l2jfrozen.gameserver.network.serverpackets.SiegeInfo; import com.l2jfrozen.gameserver.managers.CastleManager; import com.l2jfrozen.gameserver.model.entity.siege.Castle; find this else if (_command.startsWith("OlympiadArenaChange")) { Olympiad.bypassChangeArena(_command, activeChar); } below add these else if (_command.startsWith("gludio")) { int castleId = 1; Castle castle = CastleManager.getInstance().getCastleById(castleId); activeChar.sendPacket(new SiegeInfo(castle)); } else if (_command.startsWith("dion")) { int castleId = 2; Castle castle = CastleManager.getInstance().getCastleById(castleId); activeChar.sendPacket(new SiegeInfo(castle)); } else if (_command.startsWith("giran")) { int castleId = 3; Castle castle = CastleManager.getInstance().getCastleById(castleId); activeChar.sendPacket(new SiegeInfo(castle)); } else if (_command.startsWith("oren")) { int castleId = 4; Castle castle = CastleManager.getInstance().getCastleById(castleId); activeChar.sendPacket(new SiegeInfo(castle)); } else if (_command.startsWith("aden")) { int castleId = 5; Castle castle = CastleManager.getInstance().getCastleById(castleId); activeChar.sendPacket(new SiegeInfo(castle)); } else if (_command.startsWith("innadril")) { int castleId = 6; Castle castle = CastleManager.getInstance().getCastleById(castleId); activeChar.sendPacket(new SiegeInfo(castle)); } else if (_command.startsWith("goddard")) { int castleId = 7; Castle castle = CastleManager.getInstance().getCastleById(castleId); activeChar.sendPacket(new SiegeInfo(castle)); } else if (_command.startsWith("rune")) { int castleId = 8; Castle castle = CastleManager.getInstance().getCastleById(castleId); activeChar.sendPacket(new SiegeInfo(castle)); } else if (_command.startsWith("schuttgart")) { int castleId = 9; Castle castle = CastleManager.getInstance().getCastleById(castleId); activeChar.sendPacket(new SiegeInfo(castle)); } propably there is a better way to do this but this works also ^^ dont forget to register the voicedcommand. thats all ;D Edited July 3, 2014 by te0x Quote
Wallisteer Posted July 3, 2014 Posted July 3, 2014 (edited) here gave the error would not have to create a method in pcinstance? int castleId = 9; Castle castle = CastleManager.getInstance().getCastleById(castleId); activeChar.sendPacket(new SiegeInfo(castle)); Edited July 3, 2014 by Wallisteer Quote
ExCaLiBuR® Posted July 3, 2014 Posted July 3, 2014 here gave the error would not have to create a method in pcinstance? int castleId = 9; Castle castle = CastleManager.getInstance().getCastleById(castleId); activeChar.sendPacket(new SiegeInfo(castle)); show our error here Quote
Wallisteer Posted July 3, 2014 Posted July 3, 2014 (edited) the import error is thus lacking bele has created the most import error in this line here getCastleById unable to fix the error, with the help of eclipse compiled usual but then when I the command opens the window html al when I click the error in the console looks idiomta'm sorry the brasilheiro Edited July 3, 2014 by Wallisteer Quote
SweeTs Posted July 3, 2014 Posted July 3, 2014 You do not need 10 times Castle castle = CastleManager.getInstance().getCastleById(castleId); .. only one line is enough.. Quote
te0x Posted July 3, 2014 Author Posted July 3, 2014 (edited) well i forgot the imports import com.l2jfrozen.gameserver.network.serverpackets.SiegeInfo; import com.l2jfrozen.gameserver.managers.CastleManager; import com.l2jfrozen.gameserver.model.entity.siege.Castle; well try it and tell me Edited July 3, 2014 by te0x Quote
te0x Posted July 3, 2014 Author Posted July 3, 2014 (edited) You do not need 10 times Castle castle = CastleManager.getInstance().getCastleById(castleId); .. only one line is enough.. actually now i am learning.. thats why they are badly coded ;D thanks btw Edited July 3, 2014 by te0x Quote
Wallisteer Posted July 3, 2014 Posted July 3, 2014 You do not need 10 times Castle castle = CastleManager.getInstance().getCastleById(castleId); .. only one line is enough.. did not quite understand ... I got this error Quote
te0x Posted July 3, 2014 Author Posted July 3, 2014 did not quite understand ... I got this error try to use the imports import com.l2jfrozen.gameserver.network.serverpackets.SiegeInfo; import com.l2jfrozen.gameserver.managers.CastleManager; import com.l2jfrozen.gameserver.model.entity.siege.Castle; Quote
Wallisteer Posted July 3, 2014 Posted July 3, 2014 thanks for sharing, my mistake here was of import that fis wrong ... 100% working thanks: D Quote
te0x Posted July 3, 2014 Author Posted July 3, 2014 thanks for sharing, my mistake here was of import that fis wrong ... 100% working thanks: D :) Quote
lord_rex Posted July 17, 2014 Posted July 17, 2014 1. convert the method to static2. WTF is this? tb.append("</center>"); tb.append("<center>"); tb.append("</center>"); tb.append("</body></html>"); 3. you're supposed to use StringBuilder instead of TextBuilder Quote
Recommended Posts
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.