valanths1990 Posted September 1, 2012 Share Posted September 1, 2012 here is the castle manager all in one: Coreside: create a file in model/actor/instance with name L2CastleManageInstance.java and paste the code bellow /* 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 2, 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, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * [url]http://www.gnu.org/copyleft/gpl.html[/url] */ package com.l2jserver.gameserver.model.actor.instance; import com.l2jserver.gameserver.instancemanager.CastleManager; import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate; import com.l2jserver.gameserver.model.entity.Castle; import com.l2jserver.gameserver.network.serverpackets.ActionFailed; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jserver.gameserver.network.serverpackets.SiegeInfo; /** * @author -=DoctorNo=- */ public class L2CastleManageInstance extends L2NpcInstance { public L2CastleManageInstance(int objectId, L2NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(L2PcInstance player, String command) { if(player == null ) return; if (!canTarget(player)) return; else if (command.startsWith("siege_")) { int castleId = 0; if (command.startsWith("siege_gludio")) castleId = 1; else if (command.startsWith("siege_dion")) castleId = 2; else if (command.startsWith("siege_giran")) castleId = 3; else if (command.startsWith("siege_oren")) castleId = 4; else if (command.startsWith("siege_aden")) castleId = 5; else if (command.startsWith("siege_innadril")) castleId = 6; else if (command.startsWith("siege_goddard")) castleId = 7; else if (command.startsWith("siege_rune")) castleId = 8; else if (command.startsWith("siege_schuttgart")) castleId = 9; Castle castle = CastleManager.getInstance().getCastleById(castleId); if(castle != null && castleId != 0) player.sendPacket(new SiegeInfo(castle)); } } @Override public void showChatWindow(L2PcInstance player) { player.sendPacket(ActionFailed.STATIC_PACKET); NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile(player.getHtmlPrefix(), "data/html/mods/CastleManager.htm"); html.replace("%objectId%", String.valueOf(getObjectId())); player.sendPacket(html); } } Datapack: create one html file with name CastleManager.htm in data/html/mods/ and paste the code bellow <html><title>Castle Manager</title> <body> <center> <table> <tr><td align=center><font color="LEVEL">Choose The Castle Manager.</font></td></tr> <tr><td height=10></td></tr> <tr><td align=center><button action="bypass -h npc_%objectId%_siege_giran" value="Giran Castle" width=200 height=27 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr> <tr><td align=center><button action="bypass -h npc_%objectId%_siege_aden" value="Aden Castle" width=200 height=27 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr> <tr><td align=center><button action="bypass -h npc_%objectId%_siege_rune" value="Rune Castle" width=200 height=27 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr> <tr><td align=center><button action="bypass -h npc_%objectId%_siege_oren" value="Oren Castle" width=200 height=27 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr> <tr><td align=center><button action="bypass -h npc_%objectId%_siege_dion" value="Dion Castle" width=200 height=27 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr> <tr><td align=center><button action="bypass -h npc_%objectId%_siege_gludio" value="Gludio Castle" width=200 height=27 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr> <tr><td align=center><button action="bypass -h npc_%objectId%_siege_goddard" value="Goddard Castle" width=200 height=27 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr> <tr><td align=center><button action="bypass -h npc_%objectId%_siege_schuttgart" value="Schuttgart Castle" width=200 height=27 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr> <tr><td align=center><button action="bypass -h npc_%objectId%_siege_innadril" value="Innadril Castle" width=200 height=27 back="L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down" fore="L2UI_CT1.OlympiadWnd_DF_HeroConfirm"></td></tr> </table> <br><br> <font color=3293F3>L2Total Team</font><br> <img src="L2UI.SquareWhite" width=258 height=1> </body> </center></html> PS. Tested in Beta H5 last rev. pics added: http://i50.tinypic.com/savbit.jpg[/img] Quote Link to comment Share on other sites More sharing options...
pirama Posted September 1, 2012 Share Posted September 1, 2012 poli wraio share :) eyxaristw :P Quote Link to comment Share on other sites More sharing options...
^Wyatt Posted September 1, 2012 Share Posted September 1, 2012 Simple but useful for high rates servers I guess. Good share. Quote Link to comment Share on other sites More sharing options...
Dulens. Posted September 1, 2012 Share Posted September 1, 2012 It can be better, anyway good share! Quote Link to comment Share on other sites More sharing options...
valanths1990 Posted September 1, 2012 Author Share Posted September 1, 2012 pics added and thanks ;) Quote Link to comment Share on other sites More sharing options...
valanths1990 Posted September 1, 2012 Author Share Posted September 1, 2012 It can be better, anyway good share! How??? i could not think a better way right now :/ Quote Link to comment Share on other sites More sharing options...
`KnipeX Posted September 1, 2012 Share Posted September 1, 2012 Excellent share one too valanths :P Keep sharing these good things! Quote Link to comment Share on other sites More sharing options...
SkySkase Posted September 1, 2012 Share Posted September 1, 2012 Wraios valanth Gj Ty for Share !!! Quote Link to comment Share on other sites More sharing options...
Devilfenix Posted September 1, 2012 Share Posted September 1, 2012 +1 , nice share. Quote Link to comment Share on other sites More sharing options...
Dulens. Posted September 1, 2012 Share Posted September 1, 2012 How??? i could not think a better way right now :/ You can do it with 1 java file, not html etc. We will speak tomorrow. I have this code ready to show you. Quote Link to comment Share on other sites More sharing options...
valanths1990 Posted September 1, 2012 Author Share Posted September 1, 2012 You can do it with 1 java file, not html etc. We will speak tomorrow. I have this code ready to show you. i dont think that it is better to hard code everything, that's why we have datapack, i didn't hard coded on purpose, cause some ppl are not able to change it, btw thanks for your advice ;) Quote Link to comment Share on other sites More sharing options...
`Heroin Posted September 1, 2012 Share Posted September 1, 2012 Excellent share Quote Link to comment Share on other sites More sharing options...
valanths1990 Posted September 1, 2012 Author Share Posted September 1, 2012 thank you all for your good word ;) Quote Link to comment Share on other sites More sharing options...
Torneto Valak Posted September 1, 2012 Share Posted September 1, 2012 Credits: RedHoT Quote Link to comment Share on other sites More sharing options...
Zake Posted September 1, 2012 Share Posted September 1, 2012 Amazing share, thank you. Quote Link to comment Share on other sites More sharing options...
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.