Показать сообщение отдельно
Непрочитано 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 вне форума Ответить с цитированием