- 0
Illegal skill check help with code
-
Posts
-
In your place l will join to Mobius community to get something decent or just go to Lucera 2 ( ofc no source) if you want interlude on Classic client, coz Acis not have have it yet.
-
The client and the system aren't working very well; the screen is black, and some things aren't loading. 😞
-
LINEAGE2.SK Summer Season is Comming! GRAND OPENING - 14.08.2026 at 20:00 GMT+1 OBT - 07.08.2025 at 20:00 GMT+1 Website :https://lineage2.sk Discord : https://discord.gg/gj7AC5juGP Server Features and Rates Xp – 20x Sp – 20x Adena – 10x Drop – 15x Spoil - 15x Epic Raid Boss - 1x Regular RB - 5x Quest - 5x Fame - 2x Epaulette - 15x Manor - 15x Special Features Somik Interface Limited AutoFarm Vote System Champions System Achievement System And more in information below Enchant Settings Safe Enchant: +3 Max Enchant: +16 Enchant Chance: 63% Attribute Stone Chance: 50% Attribute Crystal Chance: 30% NPC Buffer all buffs, songs, dances including 3rd prof + resists Buff Slots: 24 (+4) / 12 Buff Duration: 2 Hours Epic Bosses & Respawns Queen Ant: 24 hours +/-8h Core: 3 days +/-8h Orfen: 2 days +/-8h Baium: 5 days +/-8h Beleth: 7 days +/-8h Antharas: 7 days +/-8h Valakas: 7 days +/-8h Instances Zones Zaken: 6 players Normal Freya: 6 players Hard Freya: 12 Players Frintezza: 6 Players Tiat: 6 Players Beleth: 12 Players GM Shop weapon/armor/jwl (max S grade) shots/spiritshots (max S grade) mana potions (1000 MP, 10s) Global Gatekeeper all towns including cata/necro ToI Gracia Hellbound ... Olympiad period 7 days (Monday) no class participants min 6 base class participants min 6 max enchant +6 Start points 20 Class Transfer for Adena Subclass Quest Not required Max Subclass 3 Subclass Max LvL 85 Events Team vs Team Capture the Flag Death Match Last Hero Korean Style Treasure Hunt Clans All new clans start with Clan LvL 5! Clan Skills/LvL for Clan Coins Others max 3 windows per HWID BoM/MoM spawned in towns Auto-learn skills Autoloot Retail LvL of Epic Bosses Cancellation return buff system (30sec) Cancellation return buff - not effect olympiad
-
LINEAGE2.SK Summer Season is Comming! GRAND OPENING - 14.08.2026 at 20:00 GMT+1 OBT - 07.08.2025 at 20:00 GMT+1 Website :https://lineage2.sk Discord : https://discord.gg/gj7AC5juGP Server Features and Rates Xp – 20x Sp – 20x Adena – 10x Drop – 15x Spoil - 15x Epic Raid Boss - 1x Regular RB - 5x Quest - 5x Fame - 2x Epaulette - 15x Manor - 15x Special Features Somik Interface Limited AutoFarm Vote System Champions System Achievement System And more in information below Enchant Settings Safe Enchant: +3 Max Enchant: +16 Enchant Chance: 63% Attribute Stone Chance: 50% Attribute Crystal Chance: 30% NPC Buffer all buffs, songs, dances including 3rd prof + resists Buff Slots: 24 (+4) / 12 Buff Duration: 2 Hours Epic Bosses & Respawns Queen Ant: 24 hours +/-8h Core: 3 days +/-8h Orfen: 2 days +/-8h Baium: 5 days +/-8h Beleth: 7 days +/-8h Antharas: 7 days +/-8h Valakas: 7 days +/-8h Instances Zones Zaken: 6 players Normal Freya: 6 players Hard Freya: 12 Players Frintezza: 6 Players Tiat: 6 Players Beleth: 12 Players GM Shop weapon/armor/jwl (max S grade) shots/spiritshots (max S grade) mana potions (1000 MP, 10s) Global Gatekeeper all towns including cata/necro ToI Gracia Hellbound ... Olympiad period 7 days (Monday) no class participants min 6 base class participants min 6 max enchant +6 Start points 20 Class Transfer for Adena Subclass Quest Not required Max Subclass 3 Subclass Max LvL 85 Events Team vs Team Capture the Flag Death Match Last Hero Korean Style Treasure Hunt Clans All new clans start with Clan LvL 5! Clan Skills/LvL for Clan Coins Others max 3 windows per HWID BoM/MoM spawned in towns Auto-learn skills Autoloot Retail LvL of Epic Bosses Cancellation return buff system (30sec) Cancellation return buff - not effect olympiad
-
-
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