Skip to content

Problem With Java Code (All Sieges In One Npc)

Featured Replies

Look That code plz :

### Eclipse Workspace Patch 1.0
#P L2jFrozen_GameServer
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2MassSiegeManagerInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2MassSiegeManagerInstance.java	(revision 0)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2MassSiegeManagerInstance.java	(working copy)
@@ -0,0 +1,69 @@
+++++/*
 * 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 <http://www.gnu.org/licenses/>.
 */
package com.l2jfrozen.gameserver.model.actor.instance;

import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfrozen.gameserver.templates.L2NpcTemplate;

/**
 * @author Debian
 *
 */
public class L2MassSiegeManagerInstance extends L2NpcInstance
{
	
	public L2MassSiegeManagerInstance(int objectId, L2NpcTemplate template)
	{
		super(objectId, template);
	}
	
	public void showHtmlWindow(L2PcInstance activeChar)
	{
		 NpcHtmlMessage p = new NpcHtmlMessage(5);
	         StringBuilder tb = new StringBuilder(""); 
	     
			tb.append("<html><head><title>Mass Siege Manager</title></head><body>");
			tb.append("<center>");
			tb.append("<img src=\"L2Font-e.replay_logo-e\" width=256 height=80>");
			tb.append("<br>");
			tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32 align=center>"); 
			tb.append("<br>");
			tb.append("<font color=\"FFAA00\">Mass Siege Manager</font>");
			tb.append("<br>");
			tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32 align=center>");
	        tb.append("</center>");
			tb.append("<center>");
			tb.append("<button value=\"Giran Siege\" action=\"bypass -h siege_giran\" width=204 height=20 back=\"sek.cbui36\" fore=\"sek.cbui75\">");
			tb.append("<button value=\"Aden Siege\" action=\"bypass -h siege_aden\" width=204 height=20 back=\"sek.cbui36\" fore=\"sek.cbui75\">");
			tb.append("<button value=\"Rune Siege\" action=\"bypass -h siege_rune\" width=204 height=20 back=\"sek.cbui36\" fore=\"sek.cbui75\">");
			tb.append("<button value=\"Goddard Siege\" action=\"bypass -h siege_goddard\" width=204 height=20 back=\"sek.cbui36\" fore=\"sek.cbui75\">");
			tb.append("<button value=\"Dion Siege\" action=\"bypass -h siege_dion\" width=204 height=20 back=\"sek.cbui36\" fore=\"sek.cbui75\">");
			tb.append("<button value=\"Shuttgart Siege\" action=\"bypass -h siege_shuttgart\" width=204 height=20 back=\"sek.cbui36\" fore=\"sek.cbui75\">");
			tb.append("<button value=\"Innadril Siege\" action=\"bypass -h siege_innadril\" width=204 height=20 back=\"sek.cbui36\" fore=\"sek.cbui75\">");
			tb.append("<button value=\"Oren Siege\" action=\"bypass -h siege_oren\" width=204 height=20 back=\"sek.cbui36\" fore=\"sek.cbui75\">");
			tb.append("<button value=\"Gludio Siege\" action=\"bypass -h siege_gludio\" width=204 height=20 back=\"sek.cbui36\" fore=\"sek.cbui75\">");
			tb.append("</center>");
			tb.append("<center>");
			tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32 align=center>");
			tb.append("<br>");
			tb.append("<font color=\"FFAA00\">by Debian</font>");  
			tb.append("</center>");
			tb.append("</body></html>");
			
			p.setHtml(tb.toString());
			activeChar.sendPacket(p);
			return;
	}
+++++}
\ No newline at end of file
Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java	(revision 986)
+++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestBypassToServer.java	(working copy)
@@ -28,6 +28,7 @@
 import com.l2jfrozen.gameserver.handler.AdminCommandHandler;
 import com.l2jfrozen.gameserver.handler.IAdminCommandHandler;
 import com.l2jfrozen.gameserver.handler.custom.CustomBypassHandler;
+import com.l2jfrozen.gameserver.managers.CastleManager;
 import com.l2jfrozen.gameserver.model.L2Object;
 import com.l2jfrozen.gameserver.model.L2World;
 import com.l2jfrozen.gameserver.model.actor.instance.L2ClassMasterInstance;
@@ -41,8 +42,10 @@
 import com.l2jfrozen.gameserver.model.entity.event.TvT;
 import com.l2jfrozen.gameserver.model.entity.event.VIP;
 import com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad;
+import com.l2jfrozen.gameserver.model.entity.siege.Castle;
 import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
 import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
+import com.l2jfrozen.gameserver.network.serverpackets.SiegeInfo;
 import com.l2jfrozen.gameserver.util.GMAudit;
 
 public final class RequestBypassToServer extends L2GameClientPacket
@@ -125,6 +128,64 @@
 			{
 				playerHelp(activeChar, _command.substring(12));
 			}
+++++			
						/** Siege Commands **/
						
						else if (_command.startsWith("siege_aden"))
					    {
					    	 Castle castle = CastleManager.getInstance().getCastleById(5);
								if(castle != null)
									sendPacket(new SiegeInfo(castle));
					    }
					    else if (_command.startsWith("siege_giran"))
					    {
					    	 Castle castle = CastleManager.getInstance().getCastleById(3);
								if(castle != null)
									sendPacket(new SiegeInfo(castle));
					    }
					    else if (_command.startsWith("siege_goddard"))
					    {
					    	 Castle castle = CastleManager.getInstance().getCastleById(7);
								if(castle != null)
									sendPacket(new SiegeInfo(castle));
					    }
					    else if (_command.startsWith("siege_rune"))
					    {
					    	 Castle castle = CastleManager.getInstance().getCastleById(8);
								if(castle != null)
									sendPacket(new SiegeInfo(castle));
					    }
					    else if (_command.startsWith("siege_shuttgart"))
					    {
					    	 Castle castle = CastleManager.getInstance().getCastleById(9);
								if(castle != null)
									sendPacket(new SiegeInfo(castle));
					    }
					    else if (_command.startsWith("siege_oren"))
					    {
					    	 Castle castle = CastleManager.getInstance().getCastleById(4);
								if(castle != null)
									sendPacket(new SiegeInfo(castle));
					    }
					    else if (_command.startsWith("siege_dion"))
					    {
					    	 Castle castle = CastleManager.getInstance().getCastleById(2);
								if(castle != null)
									sendPacket(new SiegeInfo(castle));
					    }
					    else if (_command.startsWith("siege_gludio"))
					    {
					    	 Castle castle = CastleManager.getInstance().getCastleById(1);
								if(castle != null)
									sendPacket(new SiegeInfo(castle));
					    }
					    else if (_command.startsWith("siege_innadril"))
					    {
					    	 Castle castle = CastleManager.getInstance().getCastleById(6);
								if(castle != null)
									sendPacket(new SiegeInfo(castle));
					    }
+++++			
 			else if(_command.startsWith("npc_"))
 			{
 				if(!activeChar.validateBypass(_command))

Exw vali 5 +++++ gia na mn vazw sta parapanw gia na mn svinw sinexia + ennow oti exei mexri kai exei +........Telospanton to provlima den eine ekei o code perniete kanonika apla mou leei na ftia3w ena npc me name L2MassSiegeManager......Ayto to onoma den to vriski an valw px L2Npc tha to vri an valw ayti ti katali3i leei Npc Not Found Sto spawn

 

 

Edw einai kai to npc :

INSERT INTO `npc` VALUES ('9988', '31688', 'Castle Soldier', '1', 'Castles Manager', '1', 'NPC.a_fighterguild_master_Mhuman', '8.00', '23.50', '70', 'male', 'L2MassSiegeManager', '40', '3862', '1493', '11.85', '2.78', '40', '43', '30', '21', '20', '10', '0', '0', '1314', '470', '780', '382', '278', '0', '333', '70', '0', '0', '55', '132', null, '0', '1', '0', 'LAST_HIT');
  • Author

Pfff My Bad Soz....I no Inside Libs In My Serve.....I Check Tnks....

Επειδη μια και δυο φορες προσπαθησα με τον φιλο μας Debian και σε μενα δεν δουλευε αν θες δοκιμασε την δικια μου εκδοχη:

package com.l2j.gameserver.handler.voicedcommandhandlers;

import com.l2j.Config;
import com.l2j.gameserver.handler.IVoicedCommandHandler;
import com.l2j.gameserver.managers.CastleManager;
import com.l2j.gameserver.model.actor.instance.L2PcInstance;
import com.l2j.gameserver.model.entity.siege.Castle;
import com.l2j.gameserver.network.SystemMessageId;
import com.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2j.gameserver.network.serverpackets.SiegeInfo;

/**
 * 
 * @author LastWarrior
 * @version 1.0.0
 *
 */

public class SiegeManagerCmd implements IVoicedCommandHandler
{
	private static boolean GNUPanel = true;
	
       private static final String[] VOICED_COMMANDS =
       {
               "castlemanager",
               "siege_of_gludio",
               "siege_of_dion",
               "siege_of_giran",
               "siege_of_oren",
               "siege_of_aden",
               "siege_of_innadril",
               "siege_of_goddard",
               "siege_of_rune",
               "siege_of_schuttgart",
               "siege_of_"
       };

       @Override
       public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
       {
    	   if (GNUPanel)
    	   {
    		   if (command.startsWith("castlemanager"))
               {
                       sendHtml(activeChar);
               }

               if (command.startsWith("siege_")) {
                       if (activeChar.getClan() != null && !activeChar.isClanLeader())
                       {
                           activeChar.sendMessage("Only Clan Leader can be use this command");
                               return false;
                       }

                       int castleId = 0;

                       if (command.startsWith("siege_of_gludio"))
                	   {
            			   castleId = 1;
            			   activeChar.sendMessage("Grettings from Gludio Castle");
                	   }
            		   if (command.startsWith("siege_of_dion"))
                	   {
            			   castleId = 2;
            			   activeChar.sendMessage("Grettings from Dion Castle");
                	   }
            		   if (command.startsWith("siege_of_giran"))
                	   {
            			   castleId = 3;
            			   activeChar.sendMessage("Grettings from Giran Castle");
                	   }
            		   if (command.startsWith("siege_of_oren"))
                	   {
            			   castleId = 4;
            			   activeChar.sendMessage("Grettings from Oren Castle");
                	   }
            		   if (command.startsWith("siege_of_aden"))
                	   {
            			   castleId = 5;
            			   activeChar.sendMessage("Grettings from Aden Castle");
                	   }
            		   if (command.startsWith("siege_of_innadril"))
                	   {
            			   castleId = 6;
            			   activeChar.sendMessage("Grettings from Innadril Castle");
                	   }
            		   if (command.startsWith("siege_of_goddard"))
                	   {
            			   castleId = 7;
            			   activeChar.sendMessage("Grettings from Goddard Castle");
                	   }
            		   if (command.startsWith("siege_of_rune"))
                	   {
            			   castleId = 8;
            			   activeChar.sendMessage("Grettings from Rune Castle");
                	   }
            		   if (command.startsWith("siege_of_schuttgart"))
                	   {
            			   castleId = 9;
            			   activeChar.sendMessage("Grettings from Schuttgart Castle");
                	   }

                       Castle castle = CastleManager.getInstance().getCastleById(castleId);
                       if(castle != null && castleId != 0)
                       {
                    	   activeChar.sendPacket(new SiegeInfo(castle));
                       }
               }
               return true;
    	   }
    	   else if (!GNUPanel)
    	   {
    		   if (command.startsWith("castlemanager"))
               {
                       sendHtml(activeChar);
               }

               if (command.startsWith("siege_")) {
                       if (activeChar.getClan() != null && !activeChar.isClanLeader())
                       {
                           activeChar.sendMessage("Only Clan Leader can be use this command");
                               return false;
                       }

                       int castleId = 0;

                       if (command.startsWith("siege_of_gludio"))
                	   {
            			   castleId = 1;
            			   activeChar.sendMessage("Grettings from Gludio Castle");
                	   }
            		   if (command.startsWith("siege_of_dion"))
                	   {
            			   castleId = 2;
            			   activeChar.sendMessage("Grettings from Dion Castle");
                	   }
            		   if (command.startsWith("siege_of_giran"))
                	   {
            			   castleId = 3;
            			   activeChar.sendMessage("Grettings from Giran Castle");
                	   }
            		   if (command.startsWith("siege_of_oren"))
                	   {
            			   castleId = 4;
            			   activeChar.sendMessage("Grettings from Oren Castle");
                	   }
            		   if (command.startsWith("siege_of_aden"))
                	   {
            			   castleId = 5;
            			   activeChar.sendMessage("Grettings from Aden Castle");
                	   }
            		   if (command.startsWith("siege_of_innadril"))
                	   {
            			   castleId = 6;
            			   activeChar.sendMessage("Grettings from Innadril Castle");
                	   }
            		   if (command.startsWith("siege_of_goddard"))
                	   {
            			   castleId = 7;
            			   activeChar.sendMessage("Grettings from Goddard Castle");
                	   }
            		   if (command.startsWith("siege_of_rune"))
                	   {
            			   castleId = 8;
            			   activeChar.sendMessage("Grettings from Rune Castle");
                	   }
            		   if (command.startsWith("siege_of_schuttgart"))
                	   {
            			   castleId = 9;
            			   activeChar.sendMessage("Grettings from Schuttgart Castle");
                	   }

                       Castle castle = CastleManager.getInstance().getCastleById(castleId);
                       if(castle != null && castleId != 0)
                       {
                    	   activeChar.sendPacket(new SiegeInfo(castle));
                       }
               }
    	   }
    	   return true;
       }
       private void sendHtml(L2PcInstance activeChar)
       {
               String htmFile = "data/html/mods/Castle_Info.htm";

               NpcHtmlMessage msg = new NpcHtmlMessage(5);
               msg.setFile(htmFile);
               activeChar.sendPacket(msg);
       }
       
       private void sendErrorHtml(L2PcInstance activeChar)
       {
               String htmFile = "data/html/mods/Castle_Error_Info.htm";

               NpcHtmlMessage msg = new NpcHtmlMessage(5);
               msg.setFile(htmFile);
               activeChar.sendPacket(msg);
       }

       @Override
       public String[] getVoicedCommandList()
       {
               return VOICED_COMMANDS;
       }
}

μετα πανε στο VoicedCommandHandler και βαλε αυτο:

import com.l2j.gameserver.handler.voicedcommandhandlers.MenuCmd;

και στο private VoicedCommandHandler() βαλε αυτο:

registerVoicedCommandHandler(new MenuCmd());

 

μετα πανε μεσα στο datapack/data/html/mobs/ και κανε 2 αρχεια (Castle_Error_Info.htm & Castle_Info.htm)
 

Στο Castle_Info.htm βαλε 

<html><title>Castle Siege Manager</title>
<body>
<center>
<table>
<tr><td align=center><font color="LEVEL">Choose The Castle Siege Manager.</font></td></tr>
<tr><td height=10></td></tr>
<tr><td align=center><button action="bypass -h voice .siege_of_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 voice .siege_of_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 voice .siege_of_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 voice .siege_of_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 voice .siege_of_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 voice .siege_of_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 voice .siege_of_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 voice .siege_of_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 voice .siege_of_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>
<img src="L2UI.SquareWhite" width=258 height=1>
</body>
</center></html>

και στο Castle_Error_Info βαλε:

<html><title>Castle Siege Manager</title>
<body>
<center>
<img src="L2UI.SquareWhite" width=258 height=1><br>
Welcome to Castle Manager Info!<br>
If you want to check Castles Siege Status<br>
Use command:<br>
<font color="LEVEL">.siege_of_gludio</font> = Gludio Castle<br>
<font color="LEVEL">.siege_of_dion</font> = Dion Castle<br>
<font color="LEVEL">.siege_of_giran</font> = Giran Castle<br>
<font color="LEVEL">.siege_of_oren</font> = Oren Castle<br>
<font color="LEVEL">.siege_of_aden</font> = Aden Castle<br>
<font color="LEVEL">.siege_of_innadril</font> = Innadril Castle<br>
<font color="LEVEL">.siege_of_goddard</font> = Goddard Castle<br>
<font color="LEVEL">.siege_of_rune</font> = Rune Castle<br>
<font color="LEVEL">.siege_of_schuttgart</font> = Schuttgart Castle<br>
<img src="L2UI.SquareWhite" width=258 height=1><br>
*If you see this Menu it means that GNU grafic menu is<br>
under config<br>
</center>
<img src="L2UI.SquareWhite" width=258 height=1>
</body>
</center></html>

Αν το περασεις σωστα με το που θα πατας .castlemanager θα σε βγαζει τον διαλογο ;)

  • Author

Euxaristo poly file mou tha to dokimasw (ine interlude elpizw na mn exi thema)

Ααααα απλα αλλαξε τα import και γενικα οπου λεει l2j καντω l2jfrozen ;)

  • Author

Apla vlepw oti prepi na ala3w ta imports anyway elpizw na ta kataferw....(Giati apo oti vlepw ine gia L2j  Enw egw xreiazome frozen)

δεν εχει μεγαλη διαφορα σε αυτο επειδη τα αρχεια που δουλευεις ειναι στην ιδια θεση με την l2j & l2jfrozen

Δοκίμασε στον κώδικα που έβαλες στην αρχή να αλλάξεις την γραμμή

 

από

 

StringBuilder tb = new StringBuilder(""); 

 

σε

 

TextBuilder tb = new TextBuilder("");

Edited by Devlin

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.