- 0
[Help]Enchant System Acis
-
Posts
-
So dont plat that waste time&money server. GM promises pie in the sky, but does nothing. It's all about money, money, money. And wipe. SCAM server!
-
I'm looking for someone to remove GameGuard from a game that uses XTRAP. The game no longer uses XTRAP. I have a game server. But the client is kicked from the game after a few minutes of logging in. If I try to remove XTRAP (just by deleting it), the game opens and closes quickly. Send me a PM. The game is Audition, a dance game.
-
🎉 L2Dead StuckSub - GRAND OPENING 14 February 2026🎉 After beta, testing, mistakes, laughs and a lot of PvP, the moment has finally come. L2Dead StuckSub is officially opening its gates on 14 February 2026. ⚔️What to expect: ✦Main Class +6 Stuck Sub system ✦Balanced PvP & custom party farm areas ✦Custom events, bosses and strong rewards ✦Competitive clan scene with castle rewards 📌Until the opening: ✦Create your clans and register them in the Clan-Register channel ✦Invite your friends / old parties / CPs ✦Stay tuned for more information (rates, events, siege times, etc.) Get your setups ready, prepare your macros and your Discord/voice. On 14 February 2026 20:00 GMT+2, we write the first chapter of L2Dead together. 🔥 https://www.l2dead.com/ https://discord.gg/TGnATuZmdt
-
Here’s the **clean, L2jAcis-style way** to make **Auto Loot work ONLY for Premium players** on **Interlude**. I’ll give you **two options** — pick what fits your server philosophy. --- ## ✅ OPTION 1 (BEST PRACTICE): Premium-Only Auto Loot (Code-based) ### 🔹 Step 1: Add config option **`config/Premium.properties`** ```properties # Enable auto loot only for premium players PremiumAutoLoot = True ``` --- ### 🔹 Step 2: Read config **`Config.java`** ```java public static boolean PREMIUM_AUTO_LOOT; ``` Load it: ```java PREMIUM_AUTO_LOOT = Premium.getProperty("PremiumAutoLoot", false); ``` --- ### 🔹 Step 3: Modify drop handling **File:** ``` net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance ``` Find **dropItems()** or **doItemDrop()** Replace / modify logic like this: ```java if (player != null && player.isPremium() && Config.PREMIUM_AUTO_LOOT) { for (ItemInstance item : items) player.getInventory().addItem("AutoLoot", item, player, this); } else { for (ItemInstance item : items) dropItem(player, item); } ``` ✅ Result: * **Premium players** → instant loot * **Normal players** → loot on ground --- ## ✅ OPTION 2: Auto Loot via Character Variable (More Flexible) Useful if you want **GM control** per character. ### 🔹 Premium activation When premium is added: ```java player.setVar("AUTO_LOOT", "1"); ``` ### 🔹 Drop check ```java if (player != null && player.getVarB("AUTO_LOOT")) { player.addItem("AutoLoot", item, player, true); } else { dropItem(player, item); } ``` --- ## 🎯 BONUS (Recommended Add-Ons) ### 🔸 Adena always auto-loot (even non-premium) ```java if (item.getItemId() == 57) { player.addAdena("Loot", item.getCount(), this, true); continue; } ``` ### 🔸 Party check (premium leader only) ```java player.isInParty() && player.getParty().getLeader().isPremium() ``` --- ## ⚠️ Notes (Interlude Safe) ✔ Compatible with **L2jAcis Interlude** ✔ No client-side changes ✔ No exploit risk ✔ Retail-like behavior ---
-
Topics

Question
niraklas
I get this code : http://www.maxcheaters.com/forum/index.php?topic=125525.0
but i cant add on acis because its different
Index: /Server/GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java =================================================================== --- /Server/GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java (revision 2) +++ /Server/GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java (revision 10) @@ -41,6 +41,9 @@ protected static final Logger _log = Logger.getLogger(Inventory.class.getName()); private static final String _C__58_REQUESTENCHANTITEM = "[C] 58 RequestEnchantItem"; - private static final int[] CRYSTAL_SCROLLS = { 731, 732, 949, 950, 953, 954, 957, 958, 961, 962 }; - + private static final int[] ENCHANT_SCROLLS = { 729, 730, 947, 948, 951, 952, 955, 956, 959, 960 }; + private static final int[] CRYSTAL_SCROLLS = { 731, 732, 949, 950, 953, 954, 957, 958, 961, 962 }; + private static final int[] BLESSED_SCROLLS = { 6569, 6570, 6571, 6572, 6573, 6574, 6575, 6576, 6577, 6578 }; + + private int _objectId; @@ -57,4 +60,12 @@ if (activeChar == null || _objectId == 0) return; + if (activeChar.isProcessingTransaction()) + { + activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION)); + activeChar.setActiveEnchantItem(null); + return; + } + + L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); L2ItemInstance scroll = activeChar.getActiveEnchantItem(); @@ -179,27 +190,93 @@ } - // SystemMessage sm = new SystemMessage(SystemMessageId.ENCHANT_SCROLL_CANCELLED); - // activeChar.sendPacket(sm); - - SystemMessage sm; - - int chance = 0; - int maxEnchantLevel = 0; - - if (item.getItem().getType2() == L2Item.TYPE2_WEAPON) - { - chance = Config.ENCHANT_CHANCE_WEAPON; - maxEnchantLevel = Config.ENCHANT_MAX_WEAPON; - } - else if (item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR) - { - chance = Config.ENCHANT_CHANCE_ARMOR; - maxEnchantLevel = Config.ENCHANT_MAX_ARMOR; - } - else if (item.getItem().getType2() == L2Item.TYPE2_ACCESSORY) - { - chance = Config.ENCHANT_CHANCE_JEWELRY; - maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY; - } + // SystemMessage sm = new + // SystemMessage(SystemMessageId.ENCHANT_SCROLL_CANCELLED); + // activeChar.sendPacket(sm); + SystemMessage sm; + int chance = 0; + int maxEnchantLevel = 0; + if (item.getItem().getType2() == L2Item.TYPE2_WEAPON) + { + maxEnchantLevel = Config.ENCHANT_MAX_WEAPON; + for (int scrollId : ENCHANT_SCROLLS) + { + if (scroll.getItemId() == scrollId) + { + chance = Config.ENCHANT_CHANCE_WEAPON; + break; + } + } + for (int scrollId : CRYSTAL_SCROLLS) + { + if (scroll.getItemId() == scrollId) + { + chance = Config.ENCHANT_CHANCE_WEAPON_CRYSTAL; + ; + break; + } + } + for (int scrollId : BLESSED_SCROLLS) + { + if (scroll.getItemId() == scrollId) + { + chance = Config.ENCHANT_CHANCE_WEAPON_BLESSED; + break; + } + } + } else if (item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR) + { + maxEnchantLevel = Config.ENCHANT_MAX_ARMOR; + for (int scrollId : ENCHANT_SCROLLS) + { + if (scroll.getItemId() == scrollId) + { + chance = Config.ENCHANT_CHANCE_ARMOR; + break; + } + } + for (int scrollId : CRYSTAL_SCROLLS) + { + if (scroll.getItemId() == scrollId) + { + chance = Config.ENCHANT_CHANCE_ARMOR_CRYSTAL; + break; + } + } + for (int scrollId : BLESSED_SCROLLS) + { + if (scroll.getItemId() == scrollId) + { + chance = Config.ENCHANT_CHANCE_ARMOR_BLESSED; + break; + } + } + } else if (item.getItem().getType2() == L2Item.TYPE2_ACCESSORY) + { + maxEnchantLevel = Config.ENCHANT_MAX_JEWELRY; + for (int scrollId : ENCHANT_SCROLLS) + { + if (scroll.getItemId() == scrollId) + { + chance = Config.ENCHANT_CHANCE_JEWELRY; + break; + } + } + for (int scrollId : CRYSTAL_SCROLLS) + { + if (scroll.getItemId() == scrollId) + { + chance = Config.ENCHANT_CHANCE_JEWELRY_CRYSTAL; + break; + } + } + for (int scrollId : BLESSED_SCROLLS) + { + if (scroll.getItemId() == scrollId) + { + chance = Config.ENCHANT_CHANCE_JEWELRY_BLESSED; + break; + } + } + } if (item.getEnchantLevel() < Config.ENCHANT_SAFE_MAX15 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