Jump to content
  • 0

Problem With Java Code (All Sieges In One Npc)


Cronia

Question

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');
Link to comment
Share on other sites

Recommended Posts

  • 0

Επειδη μια και δυο φορες προσπαθησα με τον φιλο μας 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>
Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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

 

από

 

StringBuilder tb = new StringBuilder(""); 

 

σε

 

TextBuilder tb = new TextBuilder("");

Edited by Devlin
Link to comment
Share on other sites

  • 0

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

 

από

 

StringBuilder tb = new StringBuilder(""); 

 

σε

 

TextBuilder tb = new TextBuilder("");

ton edwsa egw ena kwdika kai doulepse kanonika. den nomizw na exei kapoio provlima 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...