Illegal skill check help with code

Support for the latest build of L2J Server, get help here with installations, upgrades, problems.
Do not post bugs reports here, use viewforum.php?f=77 instead.
There is no support for other server builds than the official provided by l2jserver.com
Forum rules
READ NOW: L2j Forums Rules of Conduct
Post Reply
User avatar
gmakhs
Posts: 215
Joined: Sat Apr 14, 2007 12:00 pm

Illegal skill check help with code

Post by gmakhs »

If you want to receive support we need this info to help you properly.
» Find Revision
L2J Revision Number:4123
L2JDP Revision Number:7326

hi i have this code in a forum and im trying change it for epilogue if anyone can help i thing something like that hould be commited becouse its must to every pvp server thanks for you help

Code: Select all

Index: /trunk/Game/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java===================================================================--- /trunk/Game/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (revision 153)+++ /trunk/Game/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (revision 178)@@ -315,4 +315,8 @@         TvTEvent.onLogin(activeChar);         CrownManager.getInstance().checkCrowns(activeChar);+        if (Config.CHECK_SKILLS_ON_ENTER && !Config.SKILL_LEARN)+        {+        	activeChar.checkIlegalSkills();+        } 	} Index: /trunk/Game/java/net/sf/l2j/gameserver/model/actor/instance/L2VillageMasterInstance.java===================================================================--- /trunk/Game/java/net/sf/l2j/gameserver/model/actor/instance/L2VillageMasterInstance.java (revision 88)+++ /trunk/Game/java/net/sf/l2j/gameserver/model/actor/instance/L2VillageMasterInstance.java (revision 178)@@ -71,5 +71,5 @@     {         String[] commandStr = command.split(" ");-        String actualCommand = commandStr[0]; // Get actual command+        String actualCommand = commandStr[0];          String cmdParams = "";@@ -256,4 +256,9 @@                     content.append("Change Subclass:<br>Which of the following sub classes would you like to change?<br>");                     int classIndex = 1;++                    if (Config.CHECK_SKILLS_ON_ENTER && !Config.SKILL_LEARN)+                    {+                    	player.checkIlegalSkills();+                    }                      for (Iterator<SubClass> subList = iterSubClasses(player); subList.hasNext();)@@ -375,4 +380,9 @@                         + CharTemplateTable.getClassNameById(player.getActiveClass()) + "</font>."); +                    if (Config.CHECK_SKILLS_ON_ENTER && !Config.SKILL_LEARN)+                    {+                    	player.checkIlegalSkills();+                    }+                     player.sendPacket(new SystemMessage(SystemMessageId.SUBCLASS_TRANSFER_COMPLETED)); // Transfer completed.                     break;@@ -410,4 +420,9 @@                          player.sendPacket(new SystemMessage(SystemMessageId.ADD_NEW_SUBCLASS)); // Subclass added.++                        if (Config.CHECK_SKILLS_ON_ENTER && !Config.SKILL_LEARN)+                        {+                        	player.checkIlegalSkills();+                        }                     }                     elseIndex: /trunk/Game/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java===================================================================--- /trunk/Game/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 161)+++ /trunk/Game/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 178)@@ -10163,3 +10163,69 @@ 		return _currentSkillWorldPosition; 	}++	public void checkIlegalSkills()+	{+		boolean LegalSkill = false;++		if (!isGM())+		{+			Collection<L2SkillLearn> skillTree = SkillTreeTable.getInstance().getAllowedSkills(getClassId());++			for (L2Skill skill : getAllSkills())+			{+				int skillid = skill.getId();++				LegalSkill = false;++				for (L2SkillLearn temp : skillTree)+				{+					if (temp.getId() == skillid)+						LegalSkill = true;+				}++				if (isCursedWeaponEquiped() && skillid == CursedWeaponsManager.getInstance().getCursedWeapon(_cursedWeaponEquipedId).getSkillId())+				{+					LegalSkill = true;+				}++				if (getClan() != null && (skillid >= 370 && skillid <= 391))+				{+					LegalSkill = true;+				}++				if (getClan() != null && (skillid == 246 || skillid == 247))+				{+					if (getClan().getLeaderId() == getObjectId())+						LegalSkill = true;+				}++				if (skillid >= 1312 && skillid <= 1322)+				{+					LegalSkill = true;+				}++				if (skillid >= 1368 && skillid <= 1373)+				{+					LegalSkill = true;+				}++				if (skillid >= 3000 && skillid < 7000)+				{+					LegalSkill = true;+				}++				if (Config.ALLOWED_SKILLS_LIST.contains(skillid))+				{+					LegalSkill = true;+				}++				if (!LegalSkill)+				{+					removeSkill(skill);+					sendMessage("[SVR]: Ilegal skill detected: "+skill.getName()+".");+					sendMessage("[SVR]: The ilegal skill has been removed.");+				}+			}+		}+	} }Index: /trunk/Game/java/net/sf/l2j/Config.java===================================================================--- /trunk/Game/java/net/sf/l2j/Config.java (revision 136)+++ /trunk/Game/java/net/sf/l2j/Config.java (revision 178)@@ -589,4 +589,7 @@     public static int                  CHAMPION_REWARD_ID;     public static int                  CHAMPION_REWARD_QTY;+    public static boolean              CHECK_SKILLS_ON_ENTER;+    public static String               ALLOWED_SKILLS;+    public static FastList<Integer>    ALLOWED_SKILLS_LIST = new FastList<Integer>();      /** Events */@@ -616,12 +619,12 @@     public static String               GAME_VERSION;     public static String               BUILD_DATE;-    +     /** Data Version */     public static String               DATA_VERSION;      /** HexID */-    public static int                 SERVER_ID;-    public static byte[]              HEX_ID;-    +    public static int                  SERVER_ID;+    public static byte[]               HEX_ID;+     /** Custom */     // Comming Soon !@@ -1324,4 +1327,11 @@                 CHAMPION_REWARD_ID                           = Integer.parseInt(Mods.getProperty("ChampionRewardItemID", "6393"));                 CHAMPION_REWARD_QTY                          = Integer.parseInt(Mods.getProperty("ChampionRewardItemQty", "1"));+                CHECK_SKILLS_ON_ENTER                        = Boolean.parseBoolean(Mods.getProperty("CheckSkillsOnEnter", "False"));+                ALLOWED_SKILLS                               = Mods.getProperty("AllowedSkills", "541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,617,618,619");+                ALLOWED_SKILLS_LIST                          = new FastList<Integer>();+                for (String id : ALLOWED_SKILLS.trim().split(","))+                {+                	ALLOWED_SKILLS_LIST.add(Integer.parseInt(id.trim()));+                }             }             catch (Exception e)@@ -1493,6 +1503,6 @@                 Custom.load(is);                 is.close();-                -                // Comming Soon++                // Commgin Soon !             }             catch (Exception e)
Post Reply