Jump to content
  • 0

Question

4 answers to this question

Recommended Posts

  • 0
Posted

well as we all know in interlude there is no config for blessed - crystal enchant rates...

you have to add them yourself.

 

here is the patch which is shared a couple of times here :

 

Index: trunk/gameserver/java/config/other.properties
===================================================================
--- trunk/gameserver/java/config/other.properties	(revision 5)
+++ trunk/gameserver/java/config/other.properties	(working copy)
@@ -135,4 +135,11 @@
AltSubClassWithoutQuests = True
+
+EnchantChanceWeaponCrystal = 100  
+EnchantChanceArmorCrystal = 100  
+EnchantChanceJewelryCrystal = 100           
+EnchantChanceWeaponBlessed = 85  
+EnchantChanceArmorBlessed = 85  
+EnchantChanceJewelryBlessed = 85 
\ No newline at end of file
Index: trunk/gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java
===================================================================
--- trunk/gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java	(revision 2)
+++ trunk/gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java	(working copy)
@@ -39,8 +39,10 @@
public final class RequestEnchantItem extends L2GameClientPacket
{
     protected static final Logger _log = Logger.getLogger(Inventory.class.getName());
+    private static final int[] ENCHANT_SCROLLS = { 729, 730, 947, 948, 951, 952, 955, 956, 959, 960 }; 
     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[] BLESSED_SCROLLS = { 6569, 6570, 6571, 6572, 6573, 6574, 6575, 6576, 6577, 6578 }; 
     
     private int _objectId;

@@ -56,6 +58,13 @@
         L2PcInstance activeChar = getClient().getActiveChar();
         if (activeChar == null || _objectId == 0) return;
         
+        if (activeChar.isProcessingTransaction())  
+     	 {  
+     	activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION));  
+         activeChar.setActiveEnchantItem(null);  
+     	return;  
+     	  }  
+        
         if (activeChar.isProcessingTransaction()) 
         { 
         	activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION)); 
@@ -195,27 +204,96 @@
             return;
         }

-        SystemMessage sm;
+        / 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;  
+     	                                                        }  
+     	                                                }  
+     		                                        } 

-        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;
-        }
-
         if (item.getEnchantLevel() < Config.ENCHANT_SAFE_MAX
                 || (item.getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR
                         && item.getEnchantLevel() < Config.ENCHANT_SAFE_MAX_FULL))
Index: trunk/gameserver/java/net/sf/l2j/Config.java
===================================================================
--- trunk/gameserver/java/net/sf/l2j/Config.java	(revision 2)
+++ trunk/gameserver/java/net/sf/l2j/Config.java	(working copy)
@@ -194,6 +194,14 @@
    /** maximum level of safe enchantment for full body armor*/ 
    public static int ENCHANT_SAFE_MAX_FULL; 
+
+    /** Chance blessed-crystal enchants */ 
+   public static int ENCHANT_CHANCE_WEAPON_CRYSTAL;  
+   public static int ENCHANT_CHANCE_ARMOR_CRYSTAL;  
+   public static int ENCHANT_CHANCE_JEWELRY_CRYSTAL;  
+   public static int ENCHANT_CHANCE_WEAPON_BLESSED;  
+   public static int ENCHANT_CHANCE_ARMOR_BLESSED;  
+   public static int ENCHANT_CHANCE_JEWELRY_BLESSED;  
     
     /** Lottery */
     public static int ALT_LOTTERY_PRIZE;
@@ -924,6 +932,9 @@
                 ENCHANT_SAFE_MAX_FULL = Integer.parseInt(otherSettings.getProperty("EnchantSafeMaxFull", "4")); 

+               ENCHANT_CHANCE_WEAPON_CRYSTAL = Integer.parseInt(otherSettings.getProperty("EnchantChanceWeaponCrystal", "100"));   
+             	ENCHANT_CHANCE_ARMOR_CRYSTAL = Integer.parseInt(otherSettings.getProperty("EnchantChanceArmorCrystal", "100"));   
+             	ENCHANT_CHANCE_JEWELRY_CRYSTAL = Integer.parseInt(otherSettings.getProperty("EnchantChanceJewelryCrystal", "100"));   
+             	ENCHANT_CHANCE_WEAPON_BLESSED = Integer.parseInt(otherSettings.getProperty("EnchantChanceWeaponBlessed", "85"));   
+             	ENCHANT_CHANCE_ARMOR_BLESSED = Integer.parseInt(otherSettings.getProperty("EnchantChanceArmorBlessed", "85"));   
+             	ENCHANT_CHANCE_JEWELRY_BLESSED = Integer.parseInt(otherSettings.getProperty("EnchantChanceJewelryBlessed", "85"));                
+                

 

PS : Credits : i do not remember

PS2: Apply the patch manually

PS3 :If you need anything else hit the pm button ;)

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 account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Very nice attempt and good luck with your sales.   Don't let the voices in this topic discourage you. Most of those people are just flexing. So if Celestine decides to write a bootkit or hook system calls or whatever and false-feed your anti-cheat fake info just because it sits in user mode just to go play in a private server with 100 people, I'll tell you one thing:   Who the fuck cares ... 😛   The average player won't / can't make these things, the big players like adrenaline won't bother (yet) (they don't have signed drivers do they ? They also run in user mode I believe). And even if they somehow manage to do so, there's a minority of players who would trust putting this thing on their pc. I wouldn't let anyone tamper with my kernel mode even if he had a signed certificate from Microsoft.    Also, in a scene where collusion has been brought out between bot makers and cheat guards, having many options is a blessing regardless of their strength. It makes colusion, conflict of interest and cartel more difficult, it drains from cheating software creators more resources to focus on more cheat guards, and it gives server owners plurality.    This arms race is a numbers game, you stop 90% of the cheaters you add value to all of us.    A couple of senior devs flexing their powers in a forum are not a concern.   If i'd ever make a server, I would definitelly buy from you, not because you have the best anti-cheat, but because you are not well known yet to be the focus of counter measures.     
    • TILL OPENING LEFT LESS THAN - 2 DAYS ! GRAND OPENING FROM - 10/07/2026, FRIDAY, 20:00 +3 GMT !
    • Add me on discord, lets talk   Discord: splicho
    • Add more information about your project, client, rates etc, this can help you find a developer more easily on your needs!
    • Hey guys! I am working on a new l2 private server and lookin for any developers who may be interested in helping me get it up n running. It would require a ton of work at the beginning, but once I am able to handle things on my own, I can do a lot of the work too. I just need someone who is tech savy to help me get things setup, make serious edits, and help me get this project going.   So far I have the project running on Java through eclipse. I have the server up locally, and pushing to GitHub. I just need help with managing edits to quests, skills, and other random functions to get me rolling.   Please reach out if you are interested!   Some current content I am working on: - Class skill edits - NPC skills, stats, and placements - Quest icons for turn in, completion, pick up etc - Quest logic (i.e. kill x mobs, turn in y amount, trigger a mini solo or mini group boss fights) I can handle the quest texts and story - Ability to more quickly upload changes to inventory, crafting, NPC stats/drops, etc... and gear setup. I would like to quickly add new recipes to shops or mob drops so players can start crafting it themselves
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..