BBMAXI 14 Опубликовано 21 ноября, 2010 C этим патчем цвет ника будет меняться в зависимости от количества PVP очков,а титул от количества PK Index: /java/config/l2jmods.properties =================================================================== --- /java/config/l2jmods.properties (revision 174) +++ /java/config/l2jmods.properties (working copy) @@ -161,4 +161,62 @@ #---------------------------------- EnableWarehouseSortingClan = False EnableWarehouseSortingPrivate = False -EnableWarehouseSortingFreight = False \ No newline at end of file +EnableWarehouseSortingFreight = False + +# --------------------------------------- +# Section: PvP Title Color Change System by Level +# --------------------------------------- +# Each Amount will change the name color to the values defined here. +# Example: PvpAmmount1 = 500, when a character's PvP counter reaches 500, their name color will change +# according to the ColorForAmount value. +# Note: Colors Must Use RBG format +EnablePvPColorSystem = false + +# Pvp Amount & Name color level 1. +PvpAmount1 = 500 +ColorForAmount1 = CCFF00 + +# Pvp Amount & Name color level 2. +PvpAmount2 = 1000 +ColorForAmount2 = 00FF00 + +# Pvp Amount & Name color level 3. +PvpAmount3 = 1500 +ColorForAmount3 = 00FF00 + +# Pvp Amount & Name color level 4. +PvpAmount4 = 2500 +ColorForAmount4 = 00FF00 + +# Pvp Amount & Name color level 5. +PvpAmount5 = 5000 +ColorForAmount5 = 00FF00 + +# --------------------------------------- +# Section: PvP Nick Color System by Level +# --------------------------------------- +# Same as above, with the difference that the PK counter changes the title color. +# Example: PkAmmount1 = 500, when a character's PK counter reaches 500, their title color will change +# according to the Title For Amount +# WAN: Colors Must Use RBG format +EnablePkColorSystem = false + +# Pk Amount & Title color level 1. +PkAmount1 = 500 +TitleForAmount1 = 00FF00 + +# Pk Amount & Title color level 2. +PkAmount2 = 1000 +TitleForAmount2 = 00FF00 + +# Pk Amount & Title color level 3. +PkAmount3 = 1500 +TitleForAmount3 = 00FF00 + +# Pk Amount & Title color level 4. +PkAmount4 = 2500 +TitleForAmount4 = 00FF00 + +# Pk Amount & Title color level 5. +PkAmount5 = 5000 +TitleForAmount5 = 00FF00 \ No newline at end of file Index: /java/net/sf/l2j/Config.java =================================================================== --- /java/net/sf/l2j/Config.java (revision 174) +++ /java/net/sf/l2j/Config.java (working copy) @@ -544,6 +546,28 @@ public static boolean L2JMOD_ENABLE_WAREHOUSESORTING_CLAN; public static boolean L2JMOD_ENABLE_WAREHOUSESORTING_PRIVATE; public static boolean L2JMOD_ENABLE_WAREHOUSESORTING_FREIGHT; + public static boolean PVP_COLOR_SYSTEM_ENABLED; + public static int PVP_AMOUNT1; + public static int PVP_AMOUNT2; + public static int PVP_AMOUNT3; + public static int PVP_AMOUNT4; + public static int PVP_AMOUNT5; + public static int NAME_COLOR_FOR_PVP_AMOUNT1; + public static int NAME_COLOR_FOR_PVP_AMOUNT2; + public static int NAME_COLOR_FOR_PVP_AMOUNT3; + public static int NAME_COLOR_FOR_PVP_AMOUNT4; + public static int NAME_COLOR_FOR_PVP_AMOUNT5; + public static boolean PK_COLOR_SYSTEM_ENABLED; + public static int PK_AMOUNT1; + public static int PK_AMOUNT2; + public static int PK_AMOUNT3; + public static int PK_AMOUNT4; + public static int PK_AMOUNT5; + public static int TITLE_COLOR_FOR_PK_AMOUNT1; + public static int TITLE_COLOR_FOR_PK_AMOUNT2; + public static int TITLE_COLOR_FOR_PK_AMOUNT3; + public static int TITLE_COLOR_FOR_PK_AMOUNT4; + public static int TITLE_COLOR_FOR_PK_AMOUNT5; /** ************************************************** **/ /** L2JMods Settings -End **/ @@ -1654,6 +1678,34 @@ L2JMOD_ENABLE_WAREHOUSESORTING_CLAN = Boolean.valueOf(L2JModSettings.getProperty("EnableWarehouseSortingClan", "False")); L2JMOD_ENABLE_WAREHOUSESORTING_PRIVATE = Boolean.valueOf(L2JModSettings.getProperty("EnableWarehouseSortingPrivate", "False")); L2JMOD_ENABLE_WAREHOUSESORTING_FREIGHT = Boolean.valueOf(L2JModSettings.getProperty("EnableWarehouseSortingFreight", "False")); + + // PVP Name Color System configs - Start + PVP_COLOR_SYSTEM_ENABLED = Boolean.parseBoolean(L2JModSettings.getProperty("EnablePvPColorSystem", "false")); + PVP_AMOUNT1 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount1", "500")); + PVP_AMOUNT2 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount2", "1000")); + PVP_AMOUNT3 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount3", "1500")); + PVP_AMOUNT4 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount4", "2500")); + PVP_AMOUNT5 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount5", "5000")); + NAME_COLOR_FOR_PVP_AMOUNT1 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount1", "00FF00")); + NAME_COLOR_FOR_PVP_AMOUNT2 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount2", "00FF00")); + NAME_COLOR_FOR_PVP_AMOUNT3 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount3", "00FF00")); + NAME_COLOR_FOR_PVP_AMOUNT4 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount4", "00FF00")); + NAME_COLOR_FOR_PVP_AMOUNT5 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount4", "00FF00")); + // PvP Name Color System configs - End + + // PK Title Color System configs - Start + PK_COLOR_SYSTEM_ENABLED = Boolean.parseBoolean(L2JModSettings.getProperty("EnablePkColorSystem", "false")); + PK_AMOUNT1 = Integer.parseInt(L2JModSettings.getProperty("PkAmount1", "500")); + PK_AMOUNT2 = Integer.parseInt(L2JModSettings.getProperty("PkAmount2", "1000")); + PK_AMOUNT3 = Integer.parseInt(L2JModSettings.getProperty("PkAmount3", "1500")); + PK_AMOUNT4 = Integer.parseInt(L2JModSettings.getProperty("PkAmount4", "2500")); + PK_AMOUNT5 = Integer.parseInt(L2JModSettings.getProperty("PkAmount5", "5000")); + TITLE_COLOR_FOR_PK_AMOUNT1 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount1", "00FF00")); + TITLE_COLOR_FOR_PK_AMOUNT2 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount2", "00FF00")); + TITLE_COLOR_FOR_PK_AMOUNT3 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount3", "00FF00")); + TITLE_COLOR_FOR_PK_AMOUNT4 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount4", "00FF00")); + TITLE_COLOR_FOR_PK_AMOUNT5 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount5", "00FF00")); + //PK Title Color System configs - End if (TVT_EVENT_PARTICIPATION_NPC_ID == 0) { Index: /java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java =================================================================== --- /java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (revision 174) +++ /java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (working copy) @@ -177,6 +177,16 @@ Quest.playerEnter(activeChar); activeChar.sendPacket(new QuestList()); loadTutorial(activeChar); + + // ================================================================================ = + // Color System checks - Start ===================================================== + // Check if the custom PvP and PK color systems are enabled and if so ============== + // check the character's counters and apply any color changes that must be done. === + if (activeChar.getPvpKills()>=(Config.PVP_AMOUNT1) && (Config.PVP_COLOR_SYSTEM_ENABLED)) activeChar.updatePvPColor(activeChar.getPvpKills()); + if (activeChar.getPkKills()>=(Config.PK_AMOUNT1) && (Config.PK_COLOR_SYSTEM_ENABLED)) activeChar.updatePkColor(activeChar.getPkKills()); + // Color System checks - End ======================================================= + // ================================================================================ = + if (Config.PLAYER_SPAWN_PROTECTION > 0) activeChar.setProtection(true); @@ -3660,7 +3661,75 @@ DuelManager.getInstance().broadcastToOppositTeam(this, update); } } - + + // Custom PVP Color System - Start + public void updatePvPColor(int pvpKillAmount) + { + if (Config.PVP_COLOR_SYSTEM_ENABLED) + { + //Check if the character has GM access and if so, let them be. + if (isGM()) + return; + { + if ((pvpKillAmount >= (Config.PVP_AMOUNT1)) && (pvpKillAmount <= (Config.PVP_AMOUNT2))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT1); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT2)) && (pvpKillAmount <= (Config.PVP_AMOUNT3))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT2); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT3)) && (pvpKillAmount <= (Config.PVP_AMOUNT4))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT3); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT4)) && (pvpKillAmount <= (Config.PVP_AMOUNT5))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT4); + } + else if (pvpKillAmount >= (Config.PVP_AMOUNT5)) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT5); + } + } + } + } + //Custom PVP Color System - End + + // Custom Pk Color System - Start + public void updatePkColor(int pkKillAmount) + { + if (Config.PK_COLOR_SYSTEM_ENABLED) + { + //Check if the character has GM access and if so, let them be, like above. + if (isGM()) + return; + { + if ((pkKillAmount >= (Config.PK_AMOUNT1)) && (pkKillAmount <= (Config.PVP_AMOUNT2))) + { + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT1); + } + else if ((pkKillAmount >= (Config.PK_AMOUNT2)) && (pkKillAmount <= (Config.PVP_AMOUNT3))) + { + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT2); + } + else if ((pkKillAmount >= (Config.PK_AMOUNT3)) && (pkKillAmount <= (Config.PVP_AMOUNT4))) + { + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT3); + } + else if ((pkKillAmount >= (Config.PK_AMOUNT4)) && (pkKillAmount <= (Config.PVP_AMOUNT5))) + { + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT4); + } + else if (pkKillAmount >= (Config.PK_AMOUNT5)) + { + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT5); + } + } + } + } + //Custom Pk Color System - End + @Override public final void updateEffectIcons(boolean partyOnly) { @@ -4996,6 +5065,10 @@ // Add karma to attacker and increase its PK counter setPvpKills(getPvpKills() + 1); + //Update the character's name color if they reached any of the 5 PvP levels. + updatePvPColor(getPvpKills()); + broadcastUserInfo(); + // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter sendPacket(new UserInfo(this)); } @@ -5047,6 +5120,10 @@ setPkKills(getPkKills() + 1); setKarma(getKarma() + newKarma); + //Update the character's title color if they reached any of the 5 PK levels. + updatePkColor(getPkKills()); + broadcastUserInfo(); + // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter sendPacket(new UserInfo(this)); } ©BrainFucker - Взято с АЧ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты