Jump to content
  • 0

Illegal skill check help with code


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

 

Code:

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)

9 answers to this question

Recommended Posts

  • 0
Posted

ofcourtse i putted it manual but build failed... this code is for interlude as i know so something must be wrong

 

You expect help with error..without error log? Smart.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • ⚔️ LINEAGE II KHADIA ⚔️ Interlude PTS (L2OFF) • Mid Rate PvP • Custom Endgame Experience 🔥 NOT JUST ANOTHER SERVER — A REAL BATTLEFIELD 🔥 Welcome to L2Khadia, where classic Interlude meets competitive PvP and custom progression. No fake numbers, no empty promises — only action, economy, war and long-term gameplay. ━━━━━━━━━━━━━━━━━━━━━━ 📊 SERVER RATES EXP: x100 SP: x150 Adena: x300 Spoil: x15 ━━━━━━━━━━━━━━━━━━━━━━ ⚔️ WHY KHADIA? ✔ Original Interlude Mechanics & Formulas ✔ Mid Rate PvP Balance ✔ Real Clan Wars / Sieges / Olympiad ✔ Stable & Fair Economy ✔ Active Staff Team ✔ Long-Term Project Vision ━━━━━━━━━━━━━━━━━━━━━━ 🗡️ KHADIA CUSTOM CONTENT 🔥 Khadia Weapons – Unique power & visuals 🛡 Khadia Armor – Raid Boss drops & crafting 🧥 Khadia Cloaks – Endgame progression items 💎 Designed for competitive PvP ━━━━━━━━━━━━━━━━━━━━━━ 🎁 REWARD SYSTEMS 🏆 PvP / PK Reward System 📦 Daily PvP Reward Package 👑 Raid Package from Boss Extract Rewards 🗳 Vote Reward System 📈 Rankings: PvP / PK / Clans / Castles ━━━━━━━━━━━━━━━━━━━━━━ 💎 VIP FEATURES ✔ VIP Buff Coin ✔ Nick / Title Colors ✔ Special VIP Chat ( ^ Key ) ✔ Exclusive VIP Benefits ━━━━━━━━━━━━━━━━━━━━━━ 🎮 QUALITY OF LIFE ✔ Auto Loot for Farm ✔ Auto Loot Disabled for Raid Boss ✔ Offline Shop System ✔ Remote Buff Coin ✔ RaidBoss Status NPC ✔ PvP / PK Ranking NPC ━━━━━━━━━━━━━━━━━━━━━━ 🌍 FARM ZONES • Elven Fortress [80] – Medium • Cave of Trials [80+] – Party Hard • Monastery of Silence [80] – Medium • PvP Zones Around Raid Bosses ━━━━━━━━━━━━━━━━━━━━━━ 🏰 CLAN & SIEGE SYSTEM ✔ Full Interlude Clan System ✔ Max Clan Level 8 + Clan Skills ✔ Max 3 Clans per Alliance ✔ No Kick / Leave Penalty ✔ Weekly Castle Sieges ━━━━━━━━━━━━━━━━━━━━━━ 🚀 JOIN NOW – START YOUR LEGEND 🚀 🌐 Website: www.l2khadia.com 💬 Discord: https://discord.gg/DnZrgWn77n ━━━━━━━━━━━━━━━━━━━━━━ No Pay To Win • Fair Gameplay • Real PvP • Custom Endgame Content       We Wish you the best game ! 
    • First of all, he doesn’t even know English. He needs to learn it first.
    • Which copies are you talking about? Hahaha, stop crying, everyone knows you're a copy-paste, you can't even program "hello world".
    • Imagine if gustavo cuts cocaine and skylord stops flaming him and this two motherfuckers work together, they can do very good stuff... But.. yeah
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..