Jump to content

Recommended Posts

Posted (edited)

Hello guys,

I wanna share with you my custom enchant skill list. What this list contains?

 

  1. 100% safe enchant till enchant reach the config value
  2. If the enchant is higher than this value you have the retail chance
  3. if you fail to enchant and character is nobl ( nobl condition was for testing you have to change this with your condition ) the skill enchant will become -1 of the current enchant
  4. Its working for both conditions ( < 130 , < 170 ex. power,cost )
  5. 2 configs ( no need more )

Coded in acis 364

video

 

 

diff

 

### Eclipse Workspace Patch 1.0
#P aCis_gameserver
Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkillInfo.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkillInfo.java	(revision 7)
+++ java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkillInfo.java	(working copy)
@@ -84,7 +84,9 @@
 					return;
 				
 				// Send ExEnchantSkillInfo packet.
-				ExEnchantSkillInfo esi = new ExEnchantSkillInfo(_skillId, _skillLevel, data.getCostSp(), data.getCostExp(), data.getRate(activeChar.getLevel()));
+				int fElem = 100 + Config.SAFE_ENCHANT;
+				int sElem = 140 + Config.SAFE_ENCHANT;
+				ExEnchantSkillInfo esi = new ExEnchantSkillInfo(_skillId, _skillLevel, data.getCostSp(), data.getCostExp(), (activeChar.isNoble() && ((_skillLevel > 130 && _skillLevel <= sElem) || (_skillLevel <= fElem))) ? 100 : data.getRate(activeChar.getLevel()));
 				if (Config.ES_SP_BOOK_NEEDED)
 					if (data.getItemId() != 0 && data.getItemCount() != 0)
 						esi.addRequirement(4, data.getItemId(), data.getItemCount(), 0);
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java	(revision 7)
+++ java/net/sf/l2j/Config.java	(working copy)
@@ -52,6 +52,7 @@
 	public static final String SIEGE_FILE = "./config/siege.properties";
 	public static final String PARTY_EVENT_FILE = "./config/PartyEvent.properties";
 	public static final String VOTE_MANAGER_FILE = "./config/VoteManager.properties";
+	public static final String ENCHANT_SKILL_FILE = "./config/CustomEnchantSkills.properties";
 	
 	
 	/** VoteManager Settings */
@@ -107,6 +108,10 @@
 	public static boolean ALT_MEMBERS_CAN_WITHDRAW_FROM_CLANWH;
 	public static boolean REMOVE_CASTLE_CIRCLETS;
 	
+	/** Enchant Skills */
+	 public static int SAFE_ENCHANT;
+	 public static boolean REDUCE_BY_ONE;
+	 
 	/** Manor */
 	public static int ALT_MANOR_REFRESH_TIME;
 	public static int ALT_MANOR_REFRESH_MIN;
@@ -1056,6 +1061,12 @@
 		RED_RAID_MSG = ptEvent.getProperty("RedRaidMessage","And remember!! Your enemies are noobs! Go Go Go!");
 
 	}
+	private static final void loadEnchantSkills()
+	{
+		final ExProperties eSkills = initProperties(ENCHANT_SKILL_FILE);
+		SAFE_ENCHANT = eSkills.getProperty("SkillSafeEnchantMax", 15);
+		REDUCE_BY_ONE = eSkills.getProperty("ReduceEnchant", false);
+	}
 	/**
 	 * Loads NPC settings.<br>
 	 * Such as champion monsters, NPC buffer, class master, wyvern, raid bosses and grand bosses, AI.
@@ -1512,6 +1523,9 @@
 		
 		// server settings
 		loadServer();
+		
+		// Enchant Skills
+		loadEnchantSkills();
 	}
 	
 	public static final void loadLoginServer()
Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java	(revision 7)
+++ java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java	(working copy)
@@ -121,7 +121,9 @@
 		activeChar.removeExpAndSp(data.getCostExp(), data.getCostSp());
 		
 		// Try to enchant skill.
-		if (Rnd.get(100) <= data.getRate(activeChar.getLevel()))
+		int fElem = 100 + Config.SAFE_ENCHANT;
+		int sElem = 140 + Config.SAFE_ENCHANT;
+		if ((activeChar.isNoble() && ((_skillLevel > 130 && _skillLevel <= sElem) || (_skillLevel <= fElem))) ? true : Rnd.get(100) <= data.getRate(activeChar.getLevel()))
 		{
 			activeChar.addSkill(skill, true);
 			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SUCCEEDED_IN_ENCHANTING_THE_SKILL_S1).addSkillName(_skillId, _skillLevel));
@@ -131,7 +133,13 @@
 			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_FAILED_TO_ENCHANT_THE_SKILL_S1).addSkillName(_skillId, _skillLevel));
 			if (_skillLevel > 100)
 			{
-				_skillLevel = baseLvl;
+				if (Config.REDUCE_BY_ONE && activeChar.isNoble())
+				{
+					if (_skillLevel > 140 || _skillLevel < 130)
+						_skillLevel-=2;		
+				}
+				else
+					_skillLevel = baseLvl;
 				activeChar.addSkill(SkillTable.getInstance().getInfo(_skillId, _skillLevel), true);
 			}
 		}
 

 

 

CustomEnchantSkills.properties

 

# ================================================================
#                          Enchant Skills setting
# ================================================================

#If the char meet the conditions will enchant with 100% success rate
#Till the this value
#default 15
SkillSafeEnchantMax = 10

#If this is true and the enchant will fail , the skill enchantment will lost 1 enchant
ReduceEnchant = true 

 

Edited by melron
  • Upvote 2
Posted

I think it should be better to require 1 book of giant everytime skill enchant fails .(for the noblesse part)

  Because without requiring one he can go all the way to max enchant with just 1 bog  ^-^

Posted (edited)

I think it should be better to require 1 book of giant everytime skill enchant fails .(for the noblesse part)

  Because without requiring one he can go all the way to max enchant with just 1 bog  ^-^

Nop, you supposed to use this code for a special case (like nobl in this case) so , its better as it is :P

Edited by melron
Posted

Nop, you supposed to use this code for a special case (like nobl in this case) so , its better as it is :P

You know better :)

Posted

I think it should be better to require 1 book of giant everytime skill enchant fails .(for the noblesse part)

  Because without requiring one he can go all the way to max enchant with just 1 bog  ^-^

 +1 to this setting ( You can add it as config )

Thanks for sharing

Posted

 +1 to this setting ( You can add it as config )

Thanks for sharing

thank you :)

If he can make it that way it would be a pretty nice npc :P

Posted (edited)

 +1 to this setting ( You can add it as config )

Thanks for sharing

 

ill not add something like this because..

 

it can be use for donators xD :P

 

also if i add this setting that means i have to add require item and the check must be before the character will click enchant... like normal one

Edited by melron
Posted (edited)

If the success rate is 100%, better reward directly last segment, and compute the SP cost for looping +1 to +30.

 

That will avoid you 30 clicks per skill.

the rate is 100 only till the value u set .. next enchants chance is retail one from xmls.. i made this one for low values like +10 .. now if someone wants +30 he can do it like this in +30 case :P

 

btw i already did that (instantly +30) :-beep- yeah:

 

Edited by melron
Posted

the rate is 100 only till the value u set .. next enchants chance is retail one from xmls.. i made this one for low values like +10 .. now if someone wants +30 he can do it like this in +30 case :P

 

btw i already did that (instantly +30) :-beep- yeah:

 

https://www.youtube.com/watch?v=KK7Y-QxYfF8&feature=youtu.be

I like this way seems better than the first one
Posted

Awww my little melron made a share. Normally i'm bad with everyone but you're exception.

I will give you tomorrow the +1 cause im sleepy.

 

Also tryskell stop being lazy bananawhore who eat cookies from other's kitchen and watch family series you b*itch i6tW8n1.png

Posted

Awww my little melron made a share. Normally i'm bad with everyone but you're exception.

I will give you tomorrow the +1 cause im sleepy.

 

Also tryskell stop being lazy bananawhore who eat cookies from other's kitchen and watch family series you b*itch i6tW8n1.png

Hehe thanks baby :D

  • 4 months 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

    • Wholesale buyers - special terms!   Looking for a profitable bulk deal? We’ll let you choose numbers from our pool - and find the ones that fit your needs perfectly.   Message us here 👉 [https://t.me/vibe_sms_admin] - we’ll discuss, agree on the price, and offer a discount if needed!   Our website: https://vibe-sms.net/ Our Telegram channel: https://t.me/vibe_sms
    • 🎉 **OPENING — Lineage 2 x17 MULTIPROF COMFORT SERVER!** 🔥 **October 31, 2025 at 20:00 (MSK)** (OBT starts **October 27, 2025 at 20:00**) 💎 **Multeria** invites you to join the brand-new **Multiprof server** — built with care, balance, and community feedback in mind! ⚔️ **COMFORT RATES:** • EXP ×17 (with PA ×25.5) • SP ×8.5 (with PA ×17) • Drop / Spoil ×1 (with PA ×2.5) • Adena ×1 (with PA ×2) 🚀 **WHAT’S NEW:** • New max level — **100** • **100% Craft System** for armor, weapons, belts (incl. Power Belt), bracelets & talismans • New epic accessory — **Frintezza’s Necklace** • **Mass skills cooldown reduced ×10** (Defense Instinct, Magic Impulse, Fanatic, etc.) • Fair play — HWID limits on global instances and rebirth-based party checks • **New 90+ dungeons** (60/120 min time limits) • **New PvP zones:** Varka, FoG, LoA, Stakato (battle zones active) • **Extra game window** available for in-game currency (Gold Einhasad) 💬 Everything you love about Lineage 2 — **balance, comfort, and fairness**. 🔗 More info: https://hf.multeria.world/
    • Hello everyone, we now have Adena for these projects: l2rebon signature x1 - 1kk = $0.8 l2reborn x10 - 500kk = $3.5 E-Global x Lu4 - 1kk = $1.8 ElmoreLab x5 - 1kk = $1.7 DISCORD - GODDARDSHOP
    • 新品上线! 快来抢购最优质的 GMAIL 账号,享受 超低价格,注册年份范围从 2005–2022! 老版 Gmail.com 账号(已启用 2FA 双重验证) | 使用 MIX IP 注册 | 年份:2005 至 2022(可自行选择) | 账号可能包含邮件 | 格式:email:password:submail | 无需短信验证 | 已启用 IMAP | 附带 Submail | 价格起步:$0.9 我们还提供 Outlook、Firstmail、Rambler、Onet、Gazeta.pl、GMX、Yahoo、Proton、Web.de 等邮箱账号。 立即通过我们的网站或机器人购买! 活跃链接: 数字商品商店(网站):进入 商店 Telegram 机器人:进入 – 通过 Telegram 方便快捷地访问商店。 其他服务: Telegram Stars 购买机器人:进入 – 快速又实惠地购买 Telegram Stars。 SMM 面板:进入 – 推广您的社交媒体账号。 我们为您呈现当前 促销活动 与 特别优惠,适用于购买我们的商品和服务: 1. 优惠码 OCTOBER2025(8% 折扣)适用于九月在我们的商店(网站、机器人)购物!首次购买还可使用优惠码 SOCNET(15% 折扣)。 2. 获取 $1 商店余额或 10–20% 折扣 —— 注册后在我们网站的论坛贴中按照以下格式留言:"SEND ME BONUS, MY USERNAME IS..."。 3. 首次试用 SMM 面板可获得 $1 奖励 —— 只需在网站(Support)中创建名为 “Get Trial Bonus” 的支持工单。 4. 每周在我们的 Telegram 频道和 Stars 购买机器人中举行 Telegram Stars 抽奖活动! 新闻: ➡ Telegram 频道:https://t.me/accsforyou_shop ➡ WhatsApp 频道:https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord 服务器:https://discord.gg/y9AStFFsrh 联系方式与支持: ➡ Telegram:https://t.me/socnet_support ➡ WhatsApp:https://wa.me/79051904467 ➡ Discord:socnet_support ➡ ✉ 邮箱:solomonbog@socnet.store
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock