Выбор класса без кота (авто всплывающий html) - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 15.08.2009, 13:09   #1
Аватар для Naskeed
Пользователь

Автор темы (Топик Стартер) Выбор класса без кота (авто всплывающий html)

Нашел скрипт но не знаю куда его сунуть, java только ищу литературу так что пока в ней не разбиравюсь подскажите куда это запихнуть

С помощью данного мода, при каждом АПе на 20, 40, 76 уровнях, будет вылазить окошко для выбора профы. Кота для получения проф не требуется, вы даже можите его отключить в конфигахх: ALLOW_CLASS_MASTERS = FALSE

Код:
Index: java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java 
=================================================================== 
--- java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java  (revision 2705) 
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java  (working copy) 
@@ -18,9 +18,11 @@ 
   import net.sf.l2j.Config; 
   import net.sf.l2j.gameserver.ai.CtrlIntention; 
   import net.sf.l2j.gameserver.datatables.CharTemplateTable; 
+import net.sf.l2j.gameserver.datatables.NpcTable; 
   import net.sf.l2j.gameserver.model.base.ClassId; 
   import net.sf.l2j.gameserver.model.base.ClassLevel; 
   import net.sf.l2j.gameserver.model.base.PlayerClass; 
+import net.sf.l2j.gameserver.model.L2World; 
   import net.sf.l2j.gameserver.model.quest.Quest; 
   import net.sf.l2j.gameserver.network.SystemMessageId; 
   import net.sf.l2j.gameserver.network.serverpackets.ActionFailed; 
@@ -40,7 +42,11 @@ 
          //private static Logger _log = Logger.getLogger(L2ClassMasterInstance.class.getName()); 
          private static final int[] SECONDN_CLASS_IDS = {2,3,5,6,9,8,12,13,14,16,17,20,21,23,24,27, 
                     28,30,33,34,36,37,40,41,43,46,48,51,52,55,57}; 
- 
+       public static L2ClassMasterInstance ClassMaster = new L2ClassMasterInstance(31228, NpcTable.getInstance().getTemplate(31228)); 
+       static 
+       { 
+               L2World.getInstance().storeObject(ClassMaster); 
+       } 
          /** 
           * @param template 
           */ 
@@ -52,8 +58,8 @@ 
          @Override 
          public void onAction(L2PcInstance player) 
          { 
-               if (!canTarget(player)) return; 
- 
+               //if (!canTarget(player)) return; 
+/* 
                  // Check if the L2PcInstance already target the L2NpcInstance 
                  if (getObjectId() != player.getTargetId()) 
                  { 
@@ -73,7 +79,7 @@ 
                     player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this); 
                     return; 
                          } 
- 
+*/ 
                          if (Config.DEBUG) 
                     _log.fine("ClassMaster activated"); 
     
@@ -94,19 +100,16 @@ 
                     jobLevel = 3; 
                          } 
     
-                       if (!Config.ALLOW_CLASS_MASTERS) 
-                    jobLevel = 3; 
- 
                          if(player.isGM()) 
                          { 
                     showChatWindowChooseClass(player); 
                          } 
-                       else if (((level >= 20 && jobLevel == 1 ) || 
-                    (level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS) 
+                       else if ((level >= 20 && jobLevel == 1 ) || 
+                    (level >= 40 && jobLevel == 2 )) 
                          { 
                     showChatWindow(player, classId.getId()); 
                          } 
-                       else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88) 
+                       else if (level >= 76 && classId.getId() < 88) 
                          { 
                     for (int i = 0; i < SECONDN_CLASS_IDS.length; i++) 
                     { 
@@ -126,7 +129,7 @@ 
                     } 
                     } 
                          } 
-            else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && ((classId.getId() >= 123 && classId.getId() < 131 ) || classId.getId() == 135)) // this is for Kamael Race 3rd Transfer 
+            else if (level >= 76 && ((classId.getId() >= 123 && classId.getId() < 131 ) || classId.getId() == 135)) // this is for Kamael Race 3rd Transfer 
               { 
                   showChatWindow(player, classId.getId()); 
               } 
@@ -155,7 +158,7 @@ 
                     html.setHtml(sb.toString()); 
                     player.sendPacket(html); 
                          } 
-               } 
+               //} 
                  player.sendPacket(ActionFailed.STATIC_PACKET); 
          } 
     
Index: java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java 
=================================================================== 
--- java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java     (revision 2705) 
+++ java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java     (working copy) 
@@ -16,6 +16,7 @@ 
     
   import net.sf.l2j.Config; 
   import net.sf.l2j.gameserver.model.L2Character; 
+import net.sf.l2j.gameserver.model.actor.instance.L2ClassMasterInstance; 
   import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; 
   import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance; 
   import net.sf.l2j.gameserver.model.base.Experience; 
@@ -151,6 +152,17 @@ 
                  if (getLevel() + value > Experience.MAX_LEVEL - 1) return false; 
     
           boolean levelIncreased = super.addLevel(value); 
+          
+        switch (getLevel()) 
+        { 
+               case 20: 
+               case 40: 
+               case 76: 
+                       L2ClassMasterInstance.ClassMaster.onAction(getActiveChar()); 
+                       break; 
+               default: 
+                       break; 
+        } 
     
           if (levelIncreased) 
           { 
Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java 
=================================================================== 
--- java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (revision 2705) 
+++ java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (working copy) 
@@ -28,6 +28,7 @@ 
   import net.sf.l2j.gameserver.model.L2CharPosition; 
   import net.sf.l2j.gameserver.model.L2Object; 
   import net.sf.l2j.gameserver.model.L2World; 
+import net.sf.l2j.gameserver.model.actor.instance.L2ClassMasterInstance; 
   import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; 
   import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; 
   import net.sf.l2j.gameserver.model.entity.L2Event; 
@@ -113,9 +114,9 @@ 
                     try 
                     { 
                     L2Object object = L2World.getInstance().findObject(Integer.parseInt(id)); 
- 
+                     
                     if (_command.substring(endOfId+1).startsWith("event_participate")) L2Event.inscribePlayer(activeChar); 
-                    else if (object instanceof L2NpcInstance && endOfId > 0 && activeChar.isInsideRadius(object, L2NpcInstance.INTERACTION_DISTANCE, false, false)) 
+                    else if (object instanceof L2ClassMasterInstance || (object instanceof L2NpcInstance && endOfId > 0 && activeChar.isInsideRadius(object, L2NpcInstance.INTERACTION_DISTANCE, false, false))) 
                     { 
                     ((L2NpcInstance)object).onBypassFeedback(activeChar, _command.substring(endOfId+1)); 
                     }
вот и вся статья

Последний раз редактировалось Naskeed; 15.08.2009 в 15:06.
Naskeed вне форума Ответить с цитированием
Непрочитано 15.08.2009, 14:25   #2
Аватар для Tonchi
Герой

По умолчанию Ответ: Выбор класса без кота (авто всплывающий html)

Куда куда в Ядро)) чтоб такое сделать тебе нужны исходники сервера.
Откриваеш ядро и ищеш конечный файл

java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java

---
Автор скопируй всю статтю и себе так хочу сделать.
Tonchi вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 15.08.2009, 14:42   #3
Аватар для PROGRAMMATOR
Администратор

По умолчанию Ответ: Выбор класса без кота (авто всплывающий html)

Naskeed, искать в поисковиках программу patch и читать к ней документацию.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 15.08.2009, 14:59   #4
Аватар для Naskeed
Пользователь

Автор темы (Топик Стартер) Ответ: Выбор класса без кота (авто всплывающий html)

да там не чего небыло только это код спасибо сейчас разберусь
Naskeed вне форума Ответить с цитированием
Непрочитано 15.08.2009, 15:21   #5
Аватар для singer
Пользователь

По умолчанию Ответ: Выбор класса без кота (авто всплывающий html)

Через Еклипс не сложно вставить.
singer вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 15.08.2009, 15:25   #6
Аватар для Naskeed
Пользователь

Автор темы (Топик Стартер) Ответ: Выбор класса без кота (авто всплывающий html)

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Naskeed, искать в поисковиках программу patch и читать к ней документацию.
вы про эту прогу?? http://zone-game.info/815-path-edito...dderzhkoj.html
Naskeed вне форума Ответить с цитированием
Непрочитано 15.08.2009, 15:28   #7
Аватар для Tonchi
Герой

По умолчанию Ответ: Выбор класса без кота (авто всплывающий html)

Нет эта программа для редактирования клиента а тебе нужно в ядро лезть.
Наш колега Сингер правильно сказал через Еклипс не сложно вставить.
Tonchi вне форума Ответить с цитированием
Непрочитано 15.08.2009, 15:29   #8
Аватар для Naskeed
Пользователь

Автор темы (Топик Стартер) Ответ: Выбор класса без кота (авто всплывающий html)

Цитата:
Сообщение от singer Посмотреть сообщение
Через Еклипс не сложно вставить.
можно ссылочку на прогу
Naskeed вне форума Ответить с цитированием
Непрочитано 15.08.2009, 15:31   #9
Аватар для singer
Пользователь

По умолчанию Ответ: Выбор класса без кота (авто всплывающий html)

_http://www.eclipse.org/downloads/ найдешь Eclipse.
singer вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 15.08.2009, 15:31   #10
Аватар для Naskeed
Пользователь

Автор темы (Топик Стартер) Ответ: Выбор класса без кота (авто всплывающий html)

Цитата:
Сообщение от Tonchi Посмотреть сообщение
Нет эта программа для редактирования клиента а тебе нужно в ядро лезть.
Наш колега Сингер правильно сказал через Еклипс не сложно вставить.
я это уже понял)) когда поставил

Добавлено через 3 минуты
А еще она сдесь есть) то?? http://zone-game.info/305-eclipse-3.4.html

Последний раз редактировалось Naskeed; 15.08.2009 в 15:38. Причина: Добавлено сообщение
Naskeed вне форума Ответить с цитированием
Ответ


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

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

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

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


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

Вверх