[help]Модификации Java сервера - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 02.04.2009, 22:15   #1
Изгнанные

Автор темы (Топик Стартер) [help]Модификации Java сервера

Вот например хочу установить на свой сервак "PvP Color system" через эклипс.
Им пользоваться более менее научился (например качать исходники и компилировать)
Вот только я не могу понять куда сувать вот этот код:

Код:
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));
     }
Подскажите кто знает

Добавлено через 12 минут
Во Team --> Apply patch нашёл где, но теперь не знаю куда там код засовывать

Последний раз редактировалось RuleZzz; 02.04.2009 в 22:28. Причина: Добавлено сообщение
RuleZzz вне форума Ответить с цитированием
Непрочитано 03.04.2009, 09:35   #2
Аватар для Averno
Пользователь

По умолчанию Ответ: [help]Модификации Java сервера

Если не ошибаюсь, в ядро.
Averno вне форума Ответить с цитированием
Непрочитано 03.04.2009, 09:53   #3
Аватар для Lobzik
Пользователь

По умолчанию Ответ: [help]Модификации Java сервера

С помощью TortoiseSVN. Копируеш код в блокнот, сохраняеш патч, например pvp_color_system.patch . выделяеш файл, правой клавишей мышки -> Apply patch... , указываеш папку с сорцами. Откроется окно редактора и слева меню с редактируемыми файлами. В меню правой лавишей мышки -> Patch all. Черепаха сама пропатчит, либо выведет ошибки для ручной правки. Сохраняеш изменения, если все прошло удачно и компилиш. Вопщем писал по памяти, как то так. А так лучше ручками вставлять. Благо куда и что вставлять в патче есть.
Lobzik вне форума Ответить с цитированием
Непрочитано 03.04.2009, 18:57   #4
Изгнанные

Автор темы (Топик Стартер) Ответ: [help]Модификации Java сервера

Цитата:
Сообщение от Lobzik Посмотреть сообщение
С помощью TortoiseSVN. Копируеш код в блокнот, сохраняеш патч, например pvp_color_system.patch . выделяеш файл, правой клавишей мышки -> Apply patch... , указываеш папку с сорцами. Откроется окно редактора и слева меню с редактируемыми файлами. В меню правой лавишей мышки -> Patch all. Черепаха сама пропатчит, либо выведет ошибки для ручной правки. Сохраняеш изменения, если все прошло удачно и компилиш. Вопщем писал по памяти, как то так. А так лучше ручками вставлять. Благо куда и что вставлять в патче есть.
Спс, щас буду пробовать, если что отпишусь

Добавлено через 6 часов 39 минут
Цитата:
Сообщение от Lobzik Посмотреть сообщение
указываеш папку с сорцами.
Что такое сорц

Последний раз редактировалось RuleZzz; 04.04.2009 в 01:36. Причина: Добавлено сообщение
RuleZzz вне форума Ответить с цитированием
Непрочитано 09.10.2009, 18:58   #5
Аватар для DorianGrey
Пользователь

По умолчанию Ответ: [help]Модификации Java сервера

в файле все описано:
Index: /java/net/sf/l2j/Config.java
Index: /java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java

и в l2pcinstance.java
DorianGrey вне форума Отправить сообщение для DorianGrey с помощью ICQ Отправить сообщение для DorianGrey с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 04:34. Часовой пояс GMT +3.

Вверх