-
Posts
5,521 -
Credits
0 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by Intrepid
-
[request] This is normal???
Intrepid replied to MeVsYou's question in Request Server Development Help [L2J]
No thats now normal update the core if dont help you need to make some java stuff -
Spam -1 Karma both
-
It depends on how much you try it i started it in october.
-
I know i can handle one but hard to find DEVELOPERS:) but thats full offtopic so //off and let archid discussed:)
-
I know its better without it but i'm only developer there its not my idea.
-
I think the main problem is the custom stuff and the leechers who dont want to learn some basic things.In my opinion a retail like dp is much more better than a fully custom shit.Ok customs are good and usefull(some of them)but there are a lot of things that these packs cant give you like stability like working things like good support(because the main goal of the projects is more and more custom shit).
-
[Help] Can someone tell me whats wrong to this??
Intrepid replied to MeVsYou's question in Request Server Development Help [L2J]
Thats how it needs to work.Lethal have 2 types.Half kill damage directly to hp and it gives you the half of your life as damage.Lethal strike its full hp lethal you get directly to hp damage and you have 1 hp after it so need another hit to kill. -
idiot spammer -1 again and reported.
-
double post and topic bumping -1 karma
-
[Share]Custom jewel Shop
Intrepid replied to leon5676's topic in Server Development Discussion [L2J]
Share but no share:No download link... Topic locked.leon5676 pm me when you have the link to reopen the topic. -
Vago right...in my opinion start C4 is childish and not a good idea because like Vago said waste of time start IL...well interlude java is a huge damn shit and the client too(i think you know that better than me interlude has the most bugs in l2) Vagos idea is the best start a project from 0 and Cobras idea to make a retail pack not a custom shit...custom pack = more noobs...and if every noob can open a fully custom server Lineage is going to die(kidzor you know that cobra too why dont we share the big things only small ones...)and with a STABLE client that means > interlude because why create a new il pack again?to let them hack more?...just my opinion dont need to response...
-
Goes to client modding section locked until moved.
-
[GUIDE] How to edit textures ! by zalecs
Intrepid replied to zalecs's topic in Client Development Discussion
Learn to share ahhh Goes to client modding section locked until moved. -
English forum...
-
[Share]Gold Bar Trader!
Intrepid replied to Fogotendx20's topic in Server Development Discussion [L2J]
4 month old topic...Topic locked until moved. -
Yes its from my SVN and well my ego gone to far:DDD
-
And what your java code will to do?and which pack you use?
-
L2Dot New Interlude Project
Intrepid replied to Stefoulis15's topic in Server Development Discussion [L2J]
LoL?You need to download the geodata by yourself... -
LoL no its not:D Listen my share is: You have a weapon doesnt matter which one you make it to X enchanted and you are awarded with hero
-
This share allows you to config a weapon to hero, its simple you have a weapon equipped and with X enchant and you are hero. Only in 1 enchant lvl so GM's dont have problem with +++++++++++++ weapons ;D Index: /HighRate/L2_GameServer/java/config/intrepid.properties =================================================================== --- /HighRate/L2_GameServer/java/config/intrepid.properties (revision 132) +++ /HighRate/L2_GameServer/java/config/intrepid.properties (revision 146) @@ -92,2 +92,8 @@ # Max Chat lenght(default 100) MaxChatLenght = 100 + +# Special Enchant Hero +# If set to true and your weapon enchant = EnchantLvl +# You are awarded with with hero status BUT only when the weapon equipped! +EnchantHero = False +EnchantLvl = 0 Index: /HighRate/L2_GameServer/java/net/sf/l2j/Config.java =================================================================== --- /HighRate/L2_GameServer/java/net/sf/l2j/Config.java (revision 136) +++ /HighRate/L2_GameServer/java/net/sf/l2j/Config.java (revision 146) @@ -680,4 +680,6 @@ public static long L2JMOD_PK_PUNISHMENT_PERIOD; public static int MAX_CHAT_LENGTH; + public static int SPECIAL_ENCHANT_HERO; + public static boolean ALLOW_SPECIAL_ENCHANT_HERO; /** ************************************************** **/ @@ -1624,4 +1626,6 @@ L2JMOD_PK_PUNISHMENT_PERIOD = Long.parseLong(intrepidSettings.getProperty("PKPunishmentPeriod", "3600")); MAX_CHAT_LENGTH = Integer.parseInt(intrepidSettings.getProperty("MaxChatLenght", "100")); + SPECIAL_ENCHANT_HERO = Integer.parseInt(intrepidSettings.getProperty("EnchantLvl", "0")); + ALLOW_SPECIAL_ENCHANT_HERO = Boolean.valueOf(intrepidSettings.getProperty("EnchantHero", "False")); } catch (Exception e) Index: HighRateCore/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java =================================================================== --- HighRateCore/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java (revision 148) +++HighRateCore/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java (working copy) @@ -215,6 +215,12 @@ if (item.isEquipable()) { + if (item.getItem().getItemGrade() == L2Item.CRYSTAL_S80 && item.getItem().getType2() == L2Item.TYPE2_WEAPON && Config.ALLOW_SPECIAL_ENCHANT_HERO && item.getEnchantLevel() == Config.SPECIAL_ENCHANT_HERO) + { + activeChar.setHero(true); + activeChar.sendMessage("Congratulations"+ activeChar.getName() +"you are special enchant hero now!"); + activeChar.broadcastUserInfo(); + } // No unequipping/equipping while the player is in special conditions if (activeChar.isStunned() || activeChar.isSleeping() || activeChar.isParalyzed() || activeChar.isAlikeDead()) Just a little bonus: If you want item grade check use this: item.getItem().getItemGrade() > L2Item.CRYSTAL_S that means the weapon needs to be S80 grade :) The diff copyed from my servers SVN so you need to add itt manually its only 2min :) Credits to me!
-
1.retail - Teon(IL,Kamael and Gracia part1) 2.L2Dex - Wrath(Only the hellbound) 3.L2Frienz
-
Thats the base code: Index: /Trunk/L2_GameServer/java/config/intrepid.properties =================================================================== --- /Trunk/L2_GameServer/java/config/intrepid.properties (revision 30) +++ /Trunk/L2_GameServer/java/config/intrepid.properties (revision 49) @@ -30,2 +30,5 @@ #--------------------------------------------- AllowedNPCTypes = L2Boss,L2Chest,L2FestivalMonster,L2Minion,L2Monster,L2Pet,L2RaidBoss,L2SiegeGuard,L2SiegeNpc,L2ControlTower,L2GrandBoss,L2Artefact,L2FortManager,L2FortSiegeNpc,L2FortSiegeGuard,L2FortCommander,L2FortBallista + +# Sub stuck +SubStucking = False Index: /Trunk/L2_GameServer/java/net/sf/l2j/Config.java =================================================================== --- /Trunk/L2_GameServer/java/net/sf/l2j/Config.java (revision 30) +++ /Trunk/L2_GameServer/java/net/sf/l2j/Config.java (revision 49) @@ -652,4 +652,6 @@ /** List of NPC types that won't allow casting */ public static FastList<String> LIST_ALLOWED_NPC_TYPES = new FastList<String>(); + /** stuck sub **/ + public static boolean ACUMULATIVE_SUBCLASS_SKILLS; /** ************************************************** **/ @@ -1552,4 +1554,5 @@ LIST_ALLOWED_NPC_TYPES.add(npc_type); } + ACUMULATIVE_SUBCLASS_SKILLS = Boolean.parseBoolean(intrepidSettings.getProperty("SubStucking", "False")); } catch (Exception e) Index: /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2VillageMasterInstance.java =================================================================== --- /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2VillageMasterInstance.java (revision 8) +++ /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2VillageMasterInstance.java (revision 49) @@ -816,6 +816,6 @@ - final Race npcRace = getVillageMasterRace(); - final ClassType npcTeachType = getVillageMasterTeachType(); + getVillageMasterRace(); + getVillageMasterTeachType(); PlayerClass currClass = PlayerClass.values()[charClassId]; @@ -862,22 +862,4 @@ availSubs.remove(availSub); } - - if (npcRace == Race.Human || npcRace == Race.Elf) - { - // If the master is human or light elf, ensure that fighter-type - // masters only teach fighter classes, and priest-type masters - // only teach priest classes etc. - if (!availSub.isOfType(npcTeachType)) availSubs.remove(availSub); - - // Remove any non-human or light elf classes. - else if (!availSub.isOfRace(Race.Human) - && !availSub.isOfRace(Race.Elf)) availSubs.remove(availSub); - } - else - { - // If the master is not human and not light elf, - // then remove any classes not of the same race as the master. - if (!availSub.isOfRace(npcRace)) availSubs.remove(availSub); - } } } Index: /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 48) +++ /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 49) @@ -231,4 +231,5 @@ // Character Skill SQL String Definitions: private static final String RESTORE_SKILLS_FOR_CHAR = "SELECT skill_id,skill_level FROM character_skills WHERE charId=? AND class_index=?"; + private static final String ACUMULATE_SKILLS_FOR_CHAR_SUB = "SELECT skill_id,skill_level FROM character_skills WHERE charId=? ORDER BY skill_id , skill_level ASC"; private static final String ADD_NEW_SKILL = "INSERT INTO character_skills (charId,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 charId=? AND class_index=?"; @@ -7557,10 +7558,14 @@ try { + // L2 Emu Addon + boolean isAcumulative = Config.ACUMULATIVE_SUBCLASS_SKILLS; + // Retrieve all skills of this L2PcInstance from the database con = L2DatabaseFactory.getInstance().getConnection(); - PreparedStatement statement = con.prepareStatement(RESTORE_SKILLS_FOR_CHAR); - + PreparedStatement statement = con.prepareStatement(isAcumulative ? ACUMULATE_SKILLS_FOR_CHAR_SUB : RESTORE_SKILLS_FOR_CHAR); statement.setInt(1, getObjectId()); - statement.setInt(2, getClassIndex()); + if (!isAcumulative) + // L2 Emu Addon + statement.setInt(2, getClassIndex()); ResultSet rset = statement.executeQuery(); Index: /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/base/PlayerClass.java =================================================================== --- /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/base/PlayerClass.java (revision 6) +++ /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/base/PlayerClass.java (revision 49) @@ -209,5 +209,4 @@ private static final Set<PlayerClass> mainSubclassSet; - private static final Set<PlayerClass> neverSubclassed = EnumSet.of(Overlord, Warsmith); private static final Set<PlayerClass> subclasseSet1 = EnumSet.of(DarkAvenger, Paladin, TempleKnight, ShillienKnight); @@ -222,5 +221,4 @@ { Set<PlayerClass> subclasses = getSet(null, Third); - subclasses.removeAll(neverSubclassed); mainSubclassSet = subclasses; @@ -269,9 +267,38 @@ switch (_race) { + case Human: + subclasses.removeAll(getSet(DarkElf, Third)); + subclasses.removeAll(getSet(Elf, Third)); + subclasses.removeAll(getSet(Orc, Third)); + subclasses.removeAll(getSet(Dwarf, Third)); + subclasses.removeAll(getSet(Kamael, Third)); + break; + case DarkElf: + subclasses.removeAll(getSet(Human, Third)); + subclasses.removeAll(getSet(Elf, Third)); + subclasses.removeAll(getSet(Orc, Third)); + subclasses.removeAll(getSet(Dwarf, Third)); + subclasses.removeAll(getSet(Kamael, Third)); + break; case Elf: + subclasses.removeAll(getSet(Human, Third)); subclasses.removeAll(getSet(DarkElf, Third)); - break; - case DarkElf: + subclasses.removeAll(getSet(Orc, Third)); + subclasses.removeAll(getSet(Dwarf, Third)); + subclasses.removeAll(getSet(Kamael, Third)); + break; + case Orc: + subclasses.removeAll(getSet(Human, Third)); + subclasses.removeAll(getSet(DarkElf, Third)); subclasses.removeAll(getSet(Elf, Third)); + subclasses.removeAll(getSet(Dwarf, Third)); + subclasses.removeAll(getSet(Kamael, Third)); + break; + case Dwarf: + subclasses.removeAll(getSet(Human, Third)); + subclasses.removeAll(getSet(DarkElf, Third)); + subclasses.removeAll(getSet(Orc, Third)); + subclasses.removeAll(getSet(Elf, Third)); + subclasses.removeAll(getSet(Kamael, Third)); break; } @@ -294,6 +321,4 @@ else subclasses.removeAll(EnumSet.of(femaleSoulbreaker)); - if (player.getTotalSubClasses() < 2) - subclasses.removeAll(EnumSet.of(inspector)); } } And add that too to avoid the mastery duplicates: Index: /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 49) +++ /Trunk/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 50) @@ -7575,12 +7575,20 @@ int id = rset.getInt("skill_id"); int level = rset.getInt("skill_level"); + int chclass = rset.getInt("class_index"); if (id > 9000 && id < 9007) continue; // fake skills for base stats - + if(chclass != getClassIndex()) + + { + // Remove armor mastery from other classes + if(id == 118 || id == 163 || id == 236 || id == 249 || id == 252 || id == 253 || id == 258 || id == 259) continue; + } + // 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 + + // Add the L2Skill object to the L2Character _skills and its + // Func objects to the calculator set of the L2Character super.addSkill(skill); if (Config.CHECK_SKILLS && Config.CHECK_SKILLS_ACCESS_LEVEL_LIST.contains(getAccessLevel().getLevel())) @@ -7594,5 +7602,5 @@ removeSkill(skill); } - } + } rset.close();