Hi_Profile Posted April 14, 2016 Posted April 14, 2016 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)); } 2
Recommended Posts