Jump to content

Recommended Posts

Posted

Hello Friends, Well here I bring PVP System Color !

### Eclipse Workspace Patch 1.0
#P aCis_gameserver
Index: config/players.properties
===================================================================
--- config/players.properties	(revision 2)
+++ config/players.properties	(working copy)
@@ -288,4 +288,12 @@
 MaxBuffsAmount = 20
 
 # Store buffs/debuffs on user logout?
-StoreSkillCooltime = True
\ No newline at end of file
+StoreSkillCooltime = True
+
+#=============================================================
+#         Config Color PvP System
+#=============================================================
+# PvP Title color system.
+AllowPvpTitleColorSystem = True
+# PvP Title colors, works like: pvps,color;pvps,color;
+PvpColors = 100,00FFFF;200,FFFF00;400,8E236B;600,FF2400;1000,0000FF;2000,FF00FF;5000,000000;10000,545454;15000,FF0000;

Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java	(revision 2)
+++ java/net/sf/l2j/Config.java	(working copy)
@@ -24,7 +24,9 @@
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Properties;
 import java.util.StringTokenizer;
 import java.util.logging.Logger;
@@ -484,6 +486,10 @@
 	public static boolean STORE_SKILL_COOLTIME;
 	public static int BUFFS_MAX_AMOUNT;
 	
+	/** PvP Color System */
+	public static boolean ALLOW_PVP_TITLE_COLOR_SYSTEM;
+	public static Map<Integer, Integer> PVP_COLORS = new HashMap<>();
+	
 	// --------------------------------------------------
 	// Server
 	// --------------------------------------------------
@@ -1089,7 +1095,16 @@
 			
 			BUFFS_MAX_AMOUNT = players.getProperty("MaxBuffsAmount", 20);
 			STORE_SKILL_COOLTIME = players.getProperty("StoreSkillCooltime", true);
+			ALLOW_PVP_TITLE_COLOR_SYSTEM = Boolean.parseBoolean(players.getProperty("AllowPvpTitleColorSystem", "false"));
 			
+			String pvp_colors = players.getProperty("PvpColors", "100,FFFF00");
+			String pvp_colors_splitted_1[] = pvp_colors.split(";");
+			for (String s : pvp_colors_splitted_1)
+			{
+			String pvp_colors_splitted_2[] = s.split(",");
+			PVP_COLORS.put(Integer.parseInt(pvp_colors_splitted_2[0]), Integer.decode("0x"+pvp_colors_splitted_2[1]));
+			}
+
 			// server
 			ExProperties server = load(SERVER_FILE);
 			
Index: java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java	(revision 2)
+++ java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java	(working copy)
@@ -256,6 +256,10 @@
 		// Attacker or spectator logging into a siege zone will be ported at town.
 		if (!activeChar.isGM() && (!activeChar.isInSiege() || activeChar.getSiegeState() < 2) && activeChar.isInsideZone(ZoneId.SIEGE))
 			activeChar.teleToLocation(MapRegionTable.TeleportWhereType.Town);
+				if (Config.ALLOW_PVP_TITLE_COLOR_SYSTEM)
+			        {
+			                activeChar.colorsCheck();
+			        }
 	}
 	
 	private static void engage(L2PcInstance cha)

Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(revision 2)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -1909,7 +1909,21 @@
 	{
 		return _pvpKills;
 	}
-	
+		       public void colorsCheck()
+		       {
+		               if (Config.ALLOW_PVP_TITLE_COLOR_SYSTEM)
+		               {
+		                       for (int i : Config.PVP_COLORS.keySet())
+		                       {
+		                               if (getPvpKills() >= i)
+		                               {
+		                                       getAppearance().setTitleColor(Config.PVP_COLORS.get(i));
+		                                       broadcastUserInfo();
+		                               }
+		                       }
+		               }
+		             } 
+		    
 	/**
 	 * Set PvP Kills of the L2PcInstance (number of player killed during a PvP).
 	 * @param pvpKills A value.
@@ -4283,7 +4297,10 @@
 			{
 				// Add PvP point to attacker.
 				setPvpKills(getPvpKills() + 1);
-				
+			if (Config.ALLOW_PVP_TITLE_COLOR_SYSTEM)
+			{
+			colorsCheck();
+			}
 				// Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
 				sendPacket(new UserInfo(this));
 			}
  • Like 2
Guest
This topic is now closed to further replies.


×
×
  • Create New...