Jump to content

Recommended Posts

Posted

I dont know If it will work...

I just thought it :D

 

Easily and Funny (if it work...)

 

Look how it is work...

Every Time you enchant your weapon - Armor- Jewel, you will get -1% chance ....

For example Safe is 3.

Change is 100%.

at +4 to +5 u will have 99%

etc

etc

 

Index: java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java	(revision 3474)
+++ java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java	(working copy)
@@ -88,7 +88,7 @@
			// check for maximum enchant level
			if (_maxEnchantLevel != 0 && enchantItem.getEnchantLevel() >= _maxEnchantLevel)
				return false;
-
+			
			if(_itemIds != null && Arrays.binarySearch(_itemIds, enchantItem.getItemId()) < 0)
				return false;

@@ -172,22 +172,27 @@
					return -1;

				if (_isWeapon)
-					chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON;
+					for(int x=-Config.ENCHANT_SAFE_MAX; x<Config.ENCHANT_MAX_WEAPON; x++) //By TheEnd
+					chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON-x;
				else if (isAccessory)
-					chance = Config.BLESSED_ENCHANT_CHANCE_JEWELRY;
+					for(int z=-Config.ENCHANT_SAFE_MAX; z< Config.ENCHANT_MAX_JEWELRY; z++)
+					chance = Config.BLESSED_ENCHANT_CHANCE_JEWELRY-z;
				else
+					for(int v=-Config.ENCHANT_SAFE_MAX_FULL; v< Config.ENCHANT_MAX_ARMOR; v++)
-					chance = Config.BLESSED_ENCHANT_CHANCE_ARMOR;
+                                      chance = Config.BLESSED_ENCHANT_CHANCE_ARMOR-v;
			}
			else
			{
				if (_isWeapon)
-					chance = Config.ENCHANT_CHANCE_WEAPON;
-				else if (isAccessory)
-					chance = Config.ENCHANT_CHANCE_JEWELRY;
+					for(int i=-Config.ENCHANT_SAFE_MAX; i<Config.ENCHANT_MAX_WEAPON; i++) //By TheEnd
+					chance = Config.ENCHANT_CHANCE_WEAPON-i;
+				else	if (isAccessory)
+					for(int d=-Config.ENCHANT_SAFE_MAX; d< Config.ENCHANT_MAX_JEWELRY; d++)
+					chance = Config.ENCHANT_CHANCE_JEWELRY-d;				
				else
-					chance = Config.ENCHANT_CHANCE_ARMOR;
+					for(int a=-Config.ENCHANT_SAFE_MAX_FULL; a< Config.ENCHANT_MAX_ARMOR; a++)
+					chance = Config.ENCHANT_CHANCE_ARMOR-a;
			}
			chance += _chanceAdd;

			if (supportItem != null)

or:

Index: java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java	(revision 3474)
+++ java/net/sf/l2j/gameserver/network/clientpackets/AbstractEnchantPacket.java	(working copy)
@@ -88,7 +88,7 @@
			// check for maximum enchant level
			if (_maxEnchantLevel != 0 && enchantItem.getEnchantLevel() >= _maxEnchantLevel)
				return false;
-
+			
			if(_itemIds != null && Arrays.binarySearch(_itemIds, enchantItem.getItemId()) < 0)
				return false;

@@ -172,22 +172,27 @@
					return -1;

				if (_isWeapon)
-					chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON;
+					for(int x=-Config.ENCHANT_SAFE_MAX; x<Config.ENCHANT_MAX_WEAPON; x++) //By TheEnd
+					chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON-x;
				else if (isAccessory)
-					chance = Config.BLESSED_ENCHANT_CHANCE_JEWELRY;
+					for(int z=-Config.ENCHANT_SAFE_MAX; z< Config.ENCHANT_MAX_JEWELRY; z++)
+					chance = Config.BLESSED_ENCHANT_CHANCE_JEWELRY-z;
				else
+					for(int a=-Config.ENCHANT_SAFE_MAX_FULL; a< Config.ENCHANT_MAX_ARMOR; a++)
- 					chance = Config.BLESSED_ENCHANT_CHANCE_ARMOR;
+                                      chance = Config.BLESSED_ENCHANT_CHANCE_ARMOR-a;
			}
			else
			{
				if (_isWeapon)
-					chance = Config.ENCHANT_CHANCE_WEAPON;
-				else if (isAccessory)
-					chance = Config.ENCHANT_CHANCE_JEWELRY;
+					for(int x=-Config.ENCHANT_SAFE_MAX; i<Config.ENCHANT_MAX_WEAPON; i++) //By TheEnd
+					chance = Config.ENCHANT_CHANCE_WEAPON-i;
+				else	if (isAccessory)
+					for(int z=-Config.ENCHANT_SAFE_MAX; d< Config.ENCHANT_MAX_JEWELRY; d++)
+					chance = Config.ENCHANT_CHANCE_JEWELRY-d;				
				else
-					chance = Config.ENCHANT_CHANCE_ARMOR;
+					for(int a=-Config.ENCHANT_SAFE_MAX_FULL; a< Config.ENCHANT_MAX_ARMOR; a++)
+					chance = Config.ENCHANT_CHANCE_ARMOR-a;
			}
			chance += _chanceAdd;

			if (supportItem != null)

Not Tested.

Credits: TheEnd

Posted

just wondering if i register new config to get  amount of enchants

 

and i change it smth like this i mean ur code

 

for(int x=-Config.ENCHANT_CUSTOMBEGINING; x<Config.ENCHANT_MAX_WEAPON; x++) //By TheEnd
+					chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON-x;

And i whana that it when custom begin example from +16 enchant rate go 2x lower and i dont whana that it go again 2x lower on 17 so what i need write? in this x++ x- etc

 

or i need register new max enchants example

for(int x=-Config.ENCHANT_CUSTOMBEGINING; x<Config.ENCHANT_MAX_WEAPON0; x++)
else for(int x=-Config.ENCHANT_CUSTOMBEGINING2; x<Config.ENCHANT_MAX_WEAPON1; x++) 
				chance = Config.BLESSED_ENCHANT_CHANCE_WEAPON-x;

 

and do lots of els whit lots config commands? whit different enchant mount? somebody answer plix ;p

Posted

if i register new commands of enchant rates and i do like this

 

  				if (_isWeapon)
				for(int i=-Config.ENCHANT_SAFE_MAX; i<Config.ENCHANT_15_WEAPON; i++)
				for(int 16=-Config.ENCHANT_15_WEAPON; 16<Config.ENCHANT_16_WEAPON; 16++)
				for(int 17=-Config.ENCHANT_16_WEAPON; 17<Config.ENCHANT_17_WEAPON; 17++)
				for(int 18=-Config.ENCHANT_17_WEAPON; 18<Config.ENCHANT_18_WEAPON; 18++)
				for(int 19=-Config.ENCHANT_18_WEAPON; 19<Config.ENCHANT_19_WEAPON; 19++)
				for(int 20=-Config.ENCHANT_19_WEAPON; 20<Config.ENCHANT_20_WEAPON; 20++)
				chance = Config.ENCHANT_CHANCE_WEAPON-i;
				chance = Config.ENCHANT_CHANCE_WEAPON-16;
				chance = Config.ENCHANT_CHANCE_WEAPON-17;
				chance = Config.ENCHANT_CHANCE_WEAPON-18;
				chance = Config.ENCHANT_CHANCE_WEAPON-19;
				chance = Config.ENCHANT_CHANCE_WEAPON-20;

 

it should check example from +16 then at 17 etc.. ofc what i will make at configs but how to do stable enchant rate from +3 till +15?

  • 2 weeks later...

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

    • ## [1.5.1] - 2026-01-30   ### 🐛 Bug Fixes - **Top Voters**: Top voters list now loads correctly for inactive servers (previously showed "Server not found"). - **View Counter**: Server info page view count now records correctly for inactive servers.   ### 🔄 Improvements - **My Servers – Hide/Active**: The hide/active toggle now works correctly and is only shown when the server is approved (active) by an admin. Owner hide/show is separate from admin status. Toggling no longer causes a full page refresh. - **Accessibility**: Form fields across the site now have proper labels and IDs for screen readers and autofill — server info edit form, add server form, My Servers edit, Admin Panel (Email, Vote System, pricing, filters, logs), and related inputs.
    • LIVE VERIFICATION? SUMSUB? “IMPOSSIBLE”? ▪ Spoiler: it is possible — if you know who to work with. A client came in with a task to pass **live verification** on **WantToPay**, a Telegram virtual card service. On the platform side — **Sumsub**: liveness check, SMS, manual review. “Fast” and “by eye” simply don’t work here. › What was done: → analyzed the verification scenario and Sumsub requirements → built the correct flow: phone number, email, timing → **completed live verification remotely, without account handover** → handled SMS and confirmation codes → brought the process to final approval ▪ Result: → verification passed → access granted → no flags or repeat requests ▪ Live verification is not luck. It’s scenario-based preparation — not hope. › TG: @mustang_service ( https:// t.me/ mustang_service ) › Channel: Mustang Service ( https:// t.me/ +6RAKokIn5ItmYjEx ) *All data is published with the client’s consent.* #verification #sumsub #livecheck #kyc #case
    • IMPORTANT INFO: In a few days, I will switch to completely new code, written from scratch with a new download system, patch building and management system. The Updater will become true 2026 code with "foolproof systems". I'm going to create a Discord server for customers to request new ideas and features. FIRST CUSTOMERS ARE ALREADY USING THE NEW UPDATER ON LIVE SERVERS! Watch this topic for upcoming info because the new updater is around the corner! Yes, you can still use self-update on the previous updater! No, the new updater won't be compatible with the old patch system! A new build is required, but players who already have game files won't have to download the entire patch again! New templates and updates to existing templates are coming soon! Sneak peek:  
  • 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..