Jump to content

[Share] Crystal/Blessed Scrolls Max Enchant


Recommended Posts

Hello Mxc,

Here is a share that already shared in the past by Realtek but never worked


With this Modification you can select different Maximum Enchant at Normal Scrolls,

at Blessed Scrolls and at Crystal Scrolls


How it work?

-You select if you want to enable the system or not

-You choose the maximum enchant for Normal Scrolls

-You choose the maximum enchant for Blessed Scrolls

-You choose the maximum enchant for Crystal Scrolls


Here is the Code:

Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java	(revision 159)
+++ java/net/sf/l2j/Config.java	(working copy)
@@ -319,7 +319,15 @@
    public static String    GM_ADMIN_MENU_STYLE;
    public static boolean   JAIL_IS_PVP;
    public static boolean   JAIL_DISABLE_CHAT;
    public static boolean   JAIL_SET_PARA;
+    public static int       ENCHANT_MAX_WEAPON_CRYSTAL;
+    public static int       ENCHANT_MAX_ARMOR_CRYSTAL;
+    public static int       ENCHANT_MAX_JEWERLY_CRYSTAL;
+    public static int       ENCHANT_MAX_WEAPON_BLESSED;
+    public static int       ENCHANT_MAX_ARMOR_BLESSED;
+    public static int       ENCHANT_MAX_JEWERLY_BLESSED;
+    public static boolean   ENCHANT_SCROLL_CRYSTAL_SYSTEM;
+    public static boolean   ENCHANT_SCROLL_BLESSED_SYSTEM;
    
    public static boolean   DISALLOW_POTION_PVP;
@@ -1606,6 +1614,14 @@
                JAIL_IS_PVP                         = Boolean.valueOf(Other.getProperty("JailIsPvp", "True"));
                JAIL_DISABLE_CHAT                   = Boolean.valueOf(Other.getProperty("JailDisableChat", "True"));
                JAIL_SET_PARA                       = Boolean.valueOf(Other.getProperty("JailParaPlayer", "False"));
+                ENCHANT_MAX_JEWERLY_CRYSTAL         = Integer.parseInt(Other.getProperty("EnchantMaxJewelryCrystal", "100"));
+                ENCHANT_MAX_ARMOR_CRYSTAL           = Integer.parseInt(Other.getProperty("EnchantMaxArmorCrystal", "100"));
+                ENCHANT_MAX_WEAPON_CRYSTAL          = Integer.parseInt(Other.getProperty("EnchantMaxWeaponCrystal", "100"));
+                ENCHANT_MAX_JEWERLY_BLESSED         = Integer.parseInt(Other.getProperty("EnchantMaxJewelryBlessed", "100"));
+                ENCHANT_MAX_ARMOR_BLESSED           = Integer.parseInt(Other.getProperty("EnchantMaxArmorBlessed", "100"));
+                ENCHANT_MAX_WEAPON_BLESSED          = Integer.parseInt(Other.getProperty("EnchantMaxWeaponBlessed", "100"));
+                ENCHANT_SCROLL_CRYSTAL_SYSTEM       = Boolean.parseBoolean(Other.getProperty("EnchantCrystalCustom", "False"));
+                ENCHANT_SCROLL_BLESSED_SYSTEM       = Boolean.parseBoolean(Other.getProperty("EnchantBlessedCustom", "False"));
                DEATH_PENALTY_CHANCE                = Integer.parseInt(Other.getProperty("DeathPenaltyChance", "20"));
            }
            catch (Exception e)
@@ -2665,6 +2681,12 @@
        else if (pName.equalsIgnoreCase("EnchantMaxWeapon")) ENCHANT_MAX_WEAPON = Integer.parseInt(pValue);
        else if (pName.equalsIgnoreCase("EnchantMaxArmor")) ENCHANT_MAX_ARMOR = Integer.parseInt(pValue);
        else if (pName.equalsIgnoreCase("EnchantMaxJewelry")) ENCHANT_MAX_JEWELRY = Integer.parseInt(pValue);
+        else if (pName.equalsIgnoreCase("EnchantMaxJewelryCrystal")) ENCHANT_MAX_JEWERLY_CRYSTAL = Integer.parseInt(pValue);
+        else if (pName.equalsIgnoreCase("EnchantMaxArmorCrystal")) ENCHANT_MAX_ARMOR_CRYSTAL = Integer.parseInt(pValue);
+        else if (pName.equalsIgnoreCase("EnchantMaxWeaponCrystal")) ENCHANT_MAX_WEAPON_CRYSTAL = Integer.parseInt(pValue);
+        else if (pName.equalsIgnoreCase("EnchantMaxJewelryBlessed")) ENCHANT_MAX_JEWERLY_BLESSED = Integer.parseInt(pValue);
+        else if (pName.equalsIgnoreCase("EnchantMaxArmorBlessed")) ENCHANT_MAX_ARMOR_BLESSED = Integer.parseInt(pValue);
+        else if (pName.equalsIgnoreCase("EnchantMaxWeaponBlessed")) ENCHANT_MAX_WEAPON_BLESSED = Integer.parseInt(pValue);
        else if (pName.equalsIgnoreCase("EnchantSafeMax")) ENCHANT_SAFE_MAX = Integer.parseInt(pValue);
        else if (pName.equalsIgnoreCase("EnchantSafeMaxFull")) ENCHANT_SAFE_MAX_FULL = Integer.parseInt(pValue);
        else if (pName.equalsIgnoreCase("HpRegenMultiplier")) HP_REGEN_MULTIPLIER = Double.parseDouble(pValue);
Index: Settings/General/Other.properties
===================================================================
--- Settings/General/Other.properties	(revision 167)
+++ Settings/General/Other.properties	(working copy)
@@ -102,6 +102,32 @@
EnchantMaxArmor = 25
EnchantMaxJewelry = 25

+# ====================== #
+# Crystal Scroll System  #
+# ====================== #
+# Enable Crystal Scroll System?
+# Default: False
+# Credits: Spidey*
+EnchantCrystalCustom = False
+
+# Enchant limit [Crystal Scrolls]
+EnchantMaxWeaponCrystal = 50
+EnchantMaxArmorCrystal = 50
+EnchantMaxJewelryCrystal = 50
+
+# ====================== #
+# Blessed Scroll System  #
+# ====================== #
+# Enable Blessed Scroll System?
+# Default: False
+# Credits: Spidey*
+EnchantBlessedCustom = False
+
+# Enchant limit [blessed Scrolls]
+EnchantMaxWeaponBlessed = 50
+EnchantMaxArmorBlessed = 50
+EnchantMaxJewelryBlessed = 50
+
# If EnchantSafeMax is set to for ex '8' the item will be safly enchanted to '8'
# regardless of enchant chance(default = 3 for EnchantSafeMax and default = 4 for EnchantSafeMaxFull)
# EnchantSafeMaxFull is for full body armor (upper and lower)
Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java	(revision 331)
+++ java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java	(working copy)
@@ -212,6 +212,7 @@
					break;
				}
			}
+			maxEnchantLevel = Config.ENCHANT_MAX_WEAPON_CRYSTAL;
			for (int scrollId : CRYSTAL_SCROLLS)
			{
				if (scroll.getItemId() == scrollId)
@@ -221,6 +222,7 @@
					break;
				}
			}
+			maxEnchantLevel = Config.ENCHANT_MAX_WEAPON_BLESSED;
			for (int scrollId : BLESSED_SCROLLS)
			{
				if (scroll.getItemId() == scrollId)
@@ -241,6 +243,7 @@
					break;
				}
			}
+			maxEnchantLevel = Config.ENCHANT_MAX_ARMOR_CRYSTAL;
			for (int scrollId : CRYSTAL_SCROLLS)
			{
				if (scroll.getItemId() == scrollId)
@@ -249,6 +252,7 @@
					break;
				}
			}
+			maxEnchantLevel = Config.ENCHANT_MAX_ARMOR_BLESSED;
			for (int scrollId : BLESSED_SCROLLS)
			{
				if (scroll.getItemId() == scrollId)
@@ -269,6 +273,7 @@
					break;
				}
			}
+			maxEnchantLevel = Config.ENCHANT_MAX_JEWERLY_CRYSTAL;
			for (int scrollId : CRYSTAL_SCROLLS)
			{
				if (scroll.getItemId() == scrollId)
@@ -277,6 +282,7 @@
					break;
				}
			}
+			maxEnchantLevel = Config.ENCHANT_MAX_JEWERLY_BLESSED;
			for (int scrollId : BLESSED_SCROLLS)
			{
				if (scroll.getItemId() == scrollId)
@@ -290,24 +296,135 @@
        if (item.getEnchantLevel() < Config.ENCHANT_SAFE_MAX || (item.getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR && item.getEnchantLevel() < Config.ENCHANT_SAFE_MAX_FULL))
            chance = 100;
        
+     // Weapon
        if (item.getItem().getType2() == L2Item.TYPE2_WEAPON && item.getEnchantLevel() >= Config.ENCHANT_MAX_WEAPON)
+			for (int scrollId : ENCHANT_SCROLLS)
+			{
+				if (scroll.getItemId() == scrollId)
+				{
+        	            activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+        				return;
+				}
+			}
+        if (Config.ENCHANT_SCROLL_CRYSTAL_SYSTEM)
        {
-        	activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
-        	return;
+        if (item.getItem().getType2() == L2Item.TYPE2_WEAPON && item.getEnchantLevel() >= Config.ENCHANT_MAX_WEAPON_CRYSTAL)
+			for (int scrollId : CRYSTAL_SCROLLS)
+			{
+				if (scroll.getItemId() == scrollId)
+				{
+        	            activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+        				return;
+				}
+			}
        }
-        
+        if (Config.ENCHANT_SCROLL_BLESSED_SYSTEM)
+        {
+        if (item.getItem().getType2() == L2Item.TYPE2_WEAPON && item.getEnchantLevel() >= Config.ENCHANT_MAX_WEAPON_BLESSED)
+			for (int scrollId : BLESSED_SCROLLS)
+			{
+				if (scroll.getItemId() == scrollId)
+				{
+        	            activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+        				return;
+				}
+			}
+        }
+        // Armor
        if (item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR && item.getEnchantLevel() >= Config.ENCHANT_MAX_ARMOR)
+			for (int scrollId : ENCHANT_SCROLLS)
+			{
+				if (scroll.getItemId() == scrollId)
+				{
+        	            activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+        				return;
+				}
+			}
+        if (Config.ENCHANT_SCROLL_CRYSTAL_SYSTEM)
        {
-        	activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
-        	return;
+        if (item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR && item.getEnchantLevel() >= Config.ENCHANT_MAX_ARMOR_CRYSTAL)
+			for (int scrollId : CRYSTAL_SCROLLS)
+			{
+				if (scroll.getItemId() == scrollId)
+				{
+        	            activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+        				return;
+				}
+			}
        }
-        
+        if (Config.ENCHANT_SCROLL_BLESSED_SYSTEM)
+        {
+        if (item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR && item.getEnchantLevel() >= Config.ENCHANT_MAX_ARMOR_BLESSED)
+			for (int scrollId : BLESSED_SCROLLS)
+			{
+				if (scroll.getItemId() == scrollId)
+				{
+        	            activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+        				return;
+				}
+			}
+        }
+        // Jewerly
        if (item.getItem().getType2() == L2Item.TYPE2_ACCESSORY && item.getEnchantLevel() >= Config.ENCHANT_MAX_JEWELRY)
+			for (int scrollId : ENCHANT_SCROLLS)
+			{
+				if (scroll.getItemId() == scrollId)
+				{
+        	            activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+        				return;
+				}
+			}
+        if (Config.ENCHANT_SCROLL_CRYSTAL_SYSTEM)
        {
-        	activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
-        	return;
+        if (item.getItem().getType2() == L2Item.TYPE2_ACCESSORY && item.getEnchantLevel() >= Config.ENCHANT_MAX_JEWERLY_CRYSTAL)
+			for (int scrollId : CRYSTAL_SCROLLS)
+			{
+				if (scroll.getItemId() == scrollId)
+				{
+        	            activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+        				return;
+				}
+			}
        }
+        if (Config.ENCHANT_SCROLL_BLESSED_SYSTEM)
+        {
+        if (item.getItem().getType2() == L2Item.TYPE2_ACCESSORY && item.getEnchantLevel() >= Config.ENCHANT_MAX_JEWERLY_BLESSED)
+			for (int scrollId : BLESSED_SCROLLS)
+			{
+				if (scroll.getItemId() == scrollId)
+				{
+        	            activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+        				return;
+				}
+			}
+        }
+        else if ((!Config.ENCHANT_SCROLL_BLESSED_SYSTEM) && (!Config.ENCHANT_SCROLL_CRYSTAL_SYSTEM))
+        {
+            if (item.getItem().getType2() == L2Item.TYPE2_WEAPON && item.getEnchantLevel() >= Config.ENCHANT_MAX_WEAPON)
+            	{
+            	        	activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+            	        	return;
+            	}
+        }

+        else if ((!Config.ENCHANT_SCROLL_BLESSED_SYSTEM) && (!Config.ENCHANT_SCROLL_CRYSTAL_SYSTEM))
+        {
+        	if (item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR && item.getEnchantLevel() >= Config.ENCHANT_MAX_ARMOR)
+            	{
+            	        	activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+            	        	return;
+            	}
+        }
+        
+        else if ((!Config.ENCHANT_SCROLL_BLESSED_SYSTEM) && (!Config.ENCHANT_SCROLL_CRYSTAL_SYSTEM))
+        {
+        	if (item.getItem().getType2() == L2Item.TYPE2_ACCESSORY && item.getEnchantLevel() >= Config.ENCHANT_MAX_JEWELRY)
+            	{
+            	        	activeChar.sendMessage("You have been reached the maximum enchant. You cannot enchant more !");
+            	        	return;
+            	}
+        }
+
        if (Rnd.get(100) < chance)
        {
            synchronized(item)

_____________________________________________________________________

Tested and Working 100%

Credits: Spidey*

 

Edit: RequestEnchantItem.Java Patch Problem Fixed

Link to comment
Share on other sites

Realy strange...

I think that I coded this for a user of L2J-Infinity and i posted it in the forum...

 

right ^^

 

http://www.maxcheaters.com/forum/index.php?topic=140062.0

 

 

Hello Mxc,

Here is a share that already shared in the past by Realtek but never worked

_____________________________________________________________________

Tested and Working 100%

Credits: Spidey*

 

so u should change a bit the credits ? even the other one wasn't 100% working ;)

Link to comment
Share on other sites

Realy strange...

I think that I coded this for a user of L2J-Infinity and i posted it in the forum...

 

100% NO WORK..

Is your idea.. but don't work..

Here is a share that already shared in the past by Realtek but never worked

Your topic got locked :S

Link to comment
Share on other sites

100% NO WORK..

Is your idea.. but don't work..

Here is a share that already shared in the past by Realtek but never worked

Your topic got locked :S

 

well i dont see alot of changes in that one...

lets see when some one test it what will happend.

good luckk..

Link to comment
Share on other sites

Wonderful how easily people nowadays abuse karma for fixing 2 strings =]

The share is useless and the way it's coded is bad..

Anyway, thanks for sharing, I guess.

Link to comment
Share on other sites

Wonderful how easily people nowadays abuse karma for fixing 2 strings =]

The share is useless and the way it's coded is bad..

Anyway, thanks for sharing, I guess.

Well i have to agree for karma,I think it dont need here.

But i dont agree with you,share is helpful :D

good job.

Link to comment
Share on other sites

  • 6 months later...

Can anyone help me? i cant find the line  <<for (int scrollId : CRYSTAL_SCROLLS)>>

 

in java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java

 

I have gracia final l2j how can i find it?

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


×
×
  • Create New...