- 0
Illegal skill check help with code
-
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 !
-
This is a bump: https://databay.com/
-
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".
-
By Banshee Garnet · Posted
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

Question
gmakhs
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
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 accountSign in
Already have an account? Sign in here.
Sign In Now