Jump to content
  • 0

[help] me castle lords


Question

Posted

kalhpsera. exw ena problhma me ton server moy ka8ws oi castle lord den pernnoyn to stema otan paroyn to kastro

mporei kapoios na m dosei to code? ty

brhka ayto edw alla m bgazei kapoia errors

http://maxcheaters.com/forum/index.php?topic=186180.0

7 answers to this question

Recommended Posts

  • 0
Posted

θές κάτι σαν και αυτό;

http://maxcheaters.com/forum/index.php?topic=196305.0

Αν διάβασες το τι κάνει ο κώδικας αυτός, θα καταλάβαινες ότι δεν ζητάει αυτό.

 

  • 0
Posted

Ayto einai gia freya... den to exw kanei test....

 

### Eclipse Workspace Patch 1.0
#P L2J_Server
Index: java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java
===================================================================
--- java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java	(revision 4514)
+++ java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java	(working copy)
@@ -74,6 +74,7 @@
import com.l2jserver.gameserver.network.serverpackets.ExVoteSystemInfo;
import com.l2jserver.gameserver.network.serverpackets.FriendList;
import com.l2jserver.gameserver.network.serverpackets.HennaInfo;
+import com.l2jserver.gameserver.datatables.CrownTable;
import com.l2jserver.gameserver.network.serverpackets.ItemList;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jserver.gameserver.network.serverpackets.PledgeShowMemberListAll;
@@ -313,6 +314,12 @@
		// Send Skill list
		activeChar.sendSkillList();

+		if (getCrownIdForPlayer(activeChar)>0)
+			checkCrownForPlayer(activeChar);
+			else
+		giveCrownForPlayer(activeChar);
+
+		
		// Send Dye Information
		activeChar.sendPacket(new HennaInfo(activeChar));

@@ -517,6 +524,76 @@
		}
	}

+	/* getCrown For Player
+		 * Check: isClan?, isLeader?, isCrownToInventory
+		 * Return: boolean true if Crown for Castle in Inventory
+		 */
+		
+		public int getCrownIdForPlayer(L2PcInstance player)
+		{
+			for(int crownId : CrownTable.getCrownIds())
+			{
+				if(player.getInventory().getItemByItemId(crownId)!= null)
+					return crownId;
+			}
+			return 0;
+		}
+	
+		/*
+		 *	Destroy Crowns for Invalid Data
+		 */
+	
+		public void checkCrownForPlayer(L2PcInstance player)
+		{
+			// Check Clan and Leader?
+			L2Clan clan = player.getClan();
+			// Get All Crowns
+			for(int crownId : CrownTable.getCrownIds())
+			{
+				if(player.getInventory().getItemByItemId(crownId) != null)
+			{
+					// get Count Crowns for fix hacking)
+					int CrownsCount = (int) player.getInventory().getItemByItemId(crownId).getCount();
+					if (clan != null && player.isClanLeader())
+					{
+						if (clan.getHasCastle()>0)
+						{
+	                                        	if (CrownTable.getCrownId(clan.getHasCastle()) != crownId)
+							{
+						                player.getInventory().destroyItemByItemId("Destroy Crown", crownId, CrownsCount, player, player);
+								_log.info("[EnterWorld] Check Crowns for Player ["+player.getName()+"], destroy crownId: "+crownId+", count: "+CrownsCount+" = Wrong CastleId and CrownId!");
+							}
+						}
+						else
+						{
+					                player.getInventory().destroyItemByItemId("Destroy Crown", crownId, CrownsCount, player, player);
+							_log.info("[EnterWorld] Check Crowns for Player ["+player.getName()+"], destroy crownId: "+crownId+", count: "+CrownsCount+" = is not castle!");
+						}
+					}
+					else
+					{
+				                player.getInventory().destroyItemByItemId("Destroy Crown", crownId, CrownsCount, player, player);
+						_log.info("[EnterWorld] Check Crowns for Player ["+player.getName()+"], destroy crownId: "+crownId+", count: "+CrownsCount+" = is not clan or clanLeader!");
+					}
+				}
+			}
+		}
+	
+		public boolean giveCrownForPlayer(L2PcInstance player)
+		{
+			// Check Clan and Leader?
+			L2Clan clan = player.getClan();
+			if (clan != null && player.isClanLeader())
+			{
+				if (clan.getHasCastle()>0)
+				{
+					player.getInventory().addItem("Crown",CrownTable.getCrownId(clan.getHasCastle()),1,player,player);
+					return true;
+				}	
+			}
+			return false;
+		}
+
	/**
	 * @param activeChar partnerid
	 */
Index: java/com/l2jserver/gameserver/datatables/CrownTable.java
===================================================================
--- java/com/l2jserver/gameserver/datatables/CrownTable.java	(revision 0)
+++ java/com/l2jserver/gameserver/datatables/CrownTable.java	(revision 0)
@@ -0,0 +1,75 @@
+/*
+ * 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.l2jserver.gameserver.datatables;
+
+/**
+ * This class has just one simple function to return the item id of a crown regarding to castleid
+ * 
+ * @author Cobra
+ */
+public final class CrownTable
+{
+        private static final int[] CROWN_IDS = { 6841, // Crown of the lord
+                6834, // Innadril
+                6835, // Dion
+                6836, // Goddard
+                6837, // Oren
+                6838, // Gludio
+                6839, // Giran
+                6840, // Aden
+                8182, // Rune
+                8183, // Schuttgart
+        };
+        
+        public static int[] getCrownIds()
+        {
+                return CROWN_IDS;
+        }
+        
+        public static int getCrownId(int castleId)
+        {
+                switch (castleId)
+                {
+                        case 1:// Gludio
+                                return 6838;
+                                
+                        case 2: // Dion
+                                return 6835;
+                                
+                        case 3: // Giran
+                                return 6839;
+                                
+                        case 4: // Oren
+                                return 6837;
+                                
+                        case 5: // Aden
+                                return 6840;
+                                
+                        case 6: // Innadril
+                                return 6834;
+                                
+                        case 7: // Goddard
+                                return 6836;
+                                
+                        case 8:// Rune
+                                return 8182;
+                                
+                        case 9: // Schuttgart
+                                return 8183;
+                }
+                
+                return 0;
+        }
+}
\ No newline at end of file

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock