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)
DISCORD :
https://discord.com/users/325653525793210378
utchiha_market
telegram :
https://t.me/utchiha_market
SELLIX STORE :
https://utchihamkt.mysellix.io/
Join our server for more products :
https://discord.gg/uthciha-services
https://campsite.bio/utchihaamkt
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
4 answers to this question
Recommended Posts