Jump to content
  • 0

HELP ILLEGAL SKILLS


Question

Posted

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

 

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();

+                        }

                    }

                    else

Index: /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)

4 answers to this question

Recommended Posts

Guest
This topic is now closed to further replies.


×
×
  • Create New...