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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • ??? error   https://ibb.co/Srn4LsX
    • I also think this feature would bring more harm than good... another example is a dwarf rushing against your mobs so he takes priority, then he plays fake death and proceeds to grief the shit out of you. A minimum damage threshold is necessary, which would basically converge to what is the default feature (i.e. biggest damage dealer)
    • I bought the premium to watch the video and it's private. 😢
    • For some Majestic reason OP can't edit their topics anymore?    Let me update the potential offers, I got up to 2 spots to fill.   CONTACT TELEGRAM ONLY: https://t.me/asupport_g1     A credible team that SGuard represents is looking for java developers.    These positions is full time only i.e. your time is mostly dedicated within the team and team tasks, side gigs are fine, as long as you are able to combine your gig and main.  All necessary tools are provided.  The team is consistent with > 10 team members and the team is looking to expand to meet various goals. A decent Lineage 2 Essense OR Main (GOD) knowledge is needed.  Experience with l2r/l2p/l2s. mobius is fine too for referrence only. The team is friendly and goal oriented, very active and resourceful.   Requirements are standard, java knowledge is optional.  Multi language is a plus but not necessary (English/Russian), any is accepted.   Terms and conditions including compensation are reasonable and considered to be up for the industry standards. Details are negotiable with suitable candidates.   You will need to have a headset and a mic just for the initial processing, there're no team meetings or conferences after that. There's a small 30min interview process to demonstrate knowledge and just to meet each other.   The team has decided it is in their best interest to not publish their information at this time. Details will be available only for suitable candidates.   CONTACT TELEGRAM ONLY: https://t.me/asupport_g1
    • Thanks for the detailed info. I also have some ideas in mind but the execution may be hard. Thanks again!
  • Topics

×
×
  • Create New...