کpooKNοF® Posted March 20, 2009 Share Posted March 20, 2009 autos o code einai gia otan kanoune subs na kratane ola ta skills apo ta class pame ston config.java kai bazoume to exis.. Index: Config.java =================================================================== --- Config.java (revision 836) +++ Config.java (working copy) @@ -242,6 +242,9 @@ /** Alternative gaming - allow free teleporting around the world. */ public static boolean ALT_GAME_FREE_TELEPORT; + /**Alternative gaming - allow to keep skils after sub-class**/ + public static boolean ALT_SUBCLASS_SKILLS; + /** Alternative gaming - allow sub-class addition without quest completion. */ public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS; @@ -1763,6 +1766,7 @@ ALT_PLAYER_PROTECTION_LEVEL = Integer.parseInt(altSettings.getProperty("AltPlayerProtectionLevel","0")); ALT_GAME_FREE_TELEPORT = Boolean.parseBoolean(altSettings.getProperty("AltFreeTeleporting", "False")); ALT_GAME_SUBCLASS_WITHOUT_QUESTS = Boolean.parseBoolean(altSettings.getProperty("AltSubClassWithoutQuests", "False")); + ALT_SUBCLASS_SKILLS = Boolean.parseBoolean(altSettings.getProperty("AltSubClassSkills", "False")); ALT_GAME_VIEWNPC = Boolean.parseBoolean(altSettings.getProperty("AltGameViewNpc", "False")); ALT_GAME_NEW_CHAR_ALWAYS_IS_NEWBIE = Boolean.parseBoolean(altSettings.getProperty("AltNewCharAlwaysIsNewbie", "False")); ALT_MAX_NUM_OF_CLANS_IN_ALLY = Integer.parseInt(altSettings.getProperty("AltMaxNumOfClansInAlly", "3")); @@ -2304,6 +2308,7 @@ else if (pName.equalsIgnoreCase("AltRequireCastleForDawn")) ALT_GAME_REQUIRE_CASTLE_DAWN = Boolean.valueOf(pValue); else if (pName.equalsIgnoreCase("AltRequireClanCastle")) ALT_GAME_REQUIRE_CLAN_CASTLE = Boolean.valueOf(pValue); else if (pName.equalsIgnoreCase("AltFreeTeleporting")) ALT_GAME_FREE_TELEPORT = Boolean.valueOf(pValue); + else if (pName.equalsIgnoreCase("AltSubClassSkills")) ALT_SUBCLASS_SKILLS = Boolean.valueOf(pValue); else if (pName.equalsIgnoreCase("AltSubClassWithoutQuests")) ALT_GAME_SUBCLASS_WITHOUT_QUESTS = Boolean.valueOf(pValue); else if (pName.equalsIgnoreCase("AltNewCharAlwaysIsNewbie")) ALT_GAME_NEW_CHAR_ALWAYS_IS_NEWBIE = Boolean.valueOf(pValue); else if (pName.equalsIgnoreCase("DwarfRecipeLimit")) DWARF_RECIPE_LIMIT = Integer.parseInt(pValue); meta pame sto L2PcInstance.java kai bazoume to exis.. Index: L2PcInstance.java =================================================================== --- L2PcInstance.java (revision 836) +++ L2PcInstance.java (working copy) @@ -203,6 +203,7 @@ private final static Log _log = LogFactory.getLog(L2PcInstance.class.getName()); private static final String RESTORE_SKILLS_FOR_CHAR = "SELECT skill_id,skill_level FROM character_skills WHERE char_obj_id=? AND class_index=?"; + private static final String RESTORE_SKILLS_FOR_CHAR_ALT_SUBCLASS = "SELECT skill_id,skill_level FROM character_skills WHERE char_obj_id=?"; private static final String ADD_NEW_SKILL = "INSERT INTO character_skills (char_obj_id,skill_id,skill_level,skill_name,class_index) VALUES (?,?,?,?,?)"; private static final String UPDATE_CHARACTER_SKILL_LEVEL = "UPDATE character_skills SET skill_level=? WHERE skill_id=? AND char_obj_id=? AND class_index=?"; private static final String DELETE_SKILL_FROM_CHAR = "DELETE FROM character_skills WHERE skill_id=? AND char_obj_id=? AND class_index=?"; @@ -6092,29 +6093,34 @@ try { - // Retrieve all skills of this L2PcInstance from the database - con = L2DatabaseFactory.getInstance().getConnection(); - PreparedStatement statement = con.prepareStatement(RESTORE_SKILLS_FOR_CHAR); - statement.setInt(1, getObjectId()); - statement.setInt(2, getClassIndex()); - ResultSet rset = statement.executeQuery(); + // Retrieve all skills of this L2PcInstance from the database + con = L2DatabaseFactory.getInstance().getConnection(); + PreparedStatement statement = con.prepareStatement( + Config.ALT_SUBCLASS_SKILLS ? RESTORE_SKILLS_FOR_CHAR_ALT_SUBCLASS : RESTORE_SKILLS_FOR_CHAR); + + statement.setInt(1, getObjectId()); + + if(!Config.ALT_SUBCLASS_SKILLS) + statement.setInt(2, getClassIndex()); + + ResultSet rset = statement.executeQuery(); - // Go though the recordset of this SQL query - while (rset.next()) - { - int id = rset.getInt("skill_id"); - int level = rset.getInt("skill_level"); + // Go though the recordset of this SQL query + while (rset.next()) + { + int id = rset.getInt("skill_id"); + int level = rset.getInt("skill_level"); - if (id > 9000) continue; // fake skills for base stats + if (id > 9000) continue; // fake skills for base stats - // Create a L2Skill object for each record - L2Skill skill = SkillTable.getInstance().getInfo(id, level); + // Create a L2Skill object for each record + L2Skill skill = SkillTable.getInstance().getInfo(id, level); - // Add the L2Skill object to the L2Character _skills and its Func objects to the calculator set of the L2Character - super.addSkill(skill); - } + // Add the L2Skill object to the L2Character _skills and its Func objects to the calculator set of the L2Character + super.addSkill(skill); + } - rset.close(); + rset.close(); statement.close(); //restore clan skills stin sinexia pame sta alsettings.properties sta config ta txt dld tou server kai bazoume AltSubClassSkills=true *Gredits phusho *Real Post http://www.l2jfree.com/index.php?topic=156.0 Quote Link to comment Share on other sites More sharing options...
ZeRo* Posted March 20, 2009 Share Posted March 20, 2009 Very Nice poli kali douleia kai poli xrisimo gia multiserver :) Edit: Kai einai gg doulebei mia xara :) Quote Link to comment Share on other sites More sharing options...
Dionysia Posted March 20, 2009 Share Posted March 20, 2009 very good job .. +1 for your job bro Quote Link to comment Share on other sites More sharing options...
٠•●Loykoy●•٠ Posted March 20, 2009 Share Posted March 20, 2009 very good job .. +1 for your job bro u cant give karma... only mod's and platimun member's Quote Link to comment Share on other sites More sharing options...
dataGR Posted March 22, 2009 Share Posted March 22, 2009 Me auto to patch/modify diladi mporei kapoios na kanei enan character Hierophant/Sagitarius/Phoenix Knight kai na exei kai apo tis 3 classes (me tin proipothesi oti sto altsettings.properties to MaxSubclass = 3)ola ta passive kai active skills stackables?An katalaba lathos diorthoste me. Quote Link to comment Share on other sites More sharing options...
کpooKNοF® Posted March 22, 2009 Author Share Posted March 22, 2009 nai me auto to code krataei ta skill p.x ama balis na kanei prapano subs apo 3 perni kai alla skills kai pasive ama to kaneis omws false stin ka8e class perni ta kanonika skill tis class diladi ginontai delete ta alla den menoune.. Quote Link to comment Share on other sites More sharing options...
Vkouk Posted April 19, 2009 Share Posted April 19, 2009 nc share file to xriazomoun. Quote Link to comment Share on other sites More sharing options...
stoler1995 Posted April 20, 2009 Share Posted April 20, 2009 nc share file to xriazomoun. Quote Link to comment Share on other sites More sharing options...
Coolis® Posted April 21, 2009 Share Posted April 21, 2009 [offtopic]paidia sorry poy eimai ektos thematos, ala den mporw na kataladw pou akridos vazoyme ta java shares :P Quote Link to comment Share on other sites More sharing options...
tzorgis Posted August 8, 2011 Share Posted August 8, 2011 kalimera paidia exw ena megalo provlima me ton server pou prospa8w na aniksw i char dn mporoun na energopioisoun pano apo 2 augmend skill ean mporei kapoios na me help pite m pws to kanw sas parakalw polu fenete pws 3erete apo eclipse polu kala ean exete tin euxaristisi na me voi8isete euxaristo!!! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.