Noticias:

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

Menú Principal

Anuncios de Encantamientos

Iniciado por Swarlog, Jul 26, 2025, 11:43 PM

Tema anterior - Siguiente tema

Swarlog


CitarCODE 1:

### Eclipse Workspace Patch 1.0
#P L2jFrozen_GameServer
Index: head-src/com/l2jfrozen/Config.java
===================================================================
--- head-src/com/l2jfrozen/Config.java	(revision 986)
+++ head-src/com/l2jfrozen/Config.java	(working copy)
@@ -2891,6 +2891,8 @@
 	public static int GM_OVER_ENCHANT;
 	public static int MAX_ITEM_ENCHANT_KICK;
 
+	public static boolean ENABLE_ENCHANT_ANNOUNCE;
+	public static int ENCHANT_ANNOUNCE_LEVEL;
 
 	//============================================================
 	public static void loadEnchantConfig()
@@ -3196,6 +3198,8 @@
 			MAX_ITEM_ENCHANT_KICK = Integer.parseInt(ENCHANTSetting.getProperty("EnchantKick", "0"));
 			GM_OVER_ENCHANT = Integer.parseInt(ENCHANTSetting.getProperty("GMOverEnchant", "0"));
 
+			ENABLE_ENCHANT_ANNOUNCE = Boolean.parseBoolean(ENCHANTSetting.getProperty("EnableEnchantAnnounce", "False"));
+			ENCHANT_ANNOUNCE_LEVEL = Integer.parseInt(ENCHANTSetting.getProperty("EnchantAnnounceLevel", "16"));
 		}
 		catch(Exception e)
 		{
Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java	(revision 986)
+++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java	(working copy)
@@ -25,6 +25,7 @@
 import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;
 import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jfrozen.gameserver.model.base.Race;
+import com.l2jfrozen.gameserver.model.entity.Announcements;
 import com.l2jfrozen.gameserver.network.SystemMessageId;
 import com.l2jfrozen.gameserver.network.serverpackets.EnchantResult;
 import com.l2jfrozen.gameserver.network.serverpackets.InventoryUpdate;
@@ -301,6 +302,7 @@
 		int chance = 0;
 		int maxEnchantLevel = 0;
 		int minEnchantLevel = 0;
+		int nextEnchantLevel = item.getEnchantLevel() + 1;
 
 		if(item.getItem().getType2() == L2Item.TYPE2_WEAPON)
 		{
@@ -565,6 +567,9 @@
 					sm = new SystemMessage(SystemMessageId.S1_SUCCESSFULLY_ENCHANTED);
 					sm.addItemName(item.getItemId());
 					activeChar.sendPacket(sm);
+
+					if(Config.ENABLE_ENCHANT_ANNOUNCE && Config.ENCHANT_ANNOUNCE_LEVEL == 0)
+						Announcements.getInstance().gameAnnounceToAll("Congratulations to " + activeChar.getName() + "! Your " + item.getItem() + " has been successfully enchanted to +" + nextEnchantLevel);
 				}
 				else
 				{
@@ -572,6 +577,9 @@
 					sm.addNumber(item.getEnchantLevel());
 					sm.addItemName(item.getItemId());
 					activeChar.sendPacket(sm);
+
+					if(Config.ENABLE_ENCHANT_ANNOUNCE && Config.ENCHANT_ANNOUNCE_LEVEL <= item.getEnchantLevel())
+						Announcements.getInstance().gameAnnounceToAll("Congratulations to " + activeChar.getName() + "! Your " + item.getItem() + " has been successfully enchanted to +" + nextEnchantLevel);
 				}
 
 				item.setEnchantLevel(item.getEnchantLevel() + Config.CUSTOM_ENCHANT_VALUE);
Index: config/head/enchant.properties
===================================================================
--- config/head/enchant.properties	(revision 986)
+++ config/head/enchant.properties	(working copy)
@@ -131,4 +131,14 @@
 # HOW WORKS: if you set it to 20, and player have an item > 20 
 # he will be kicked and the item will disappear!
 # Enchant amount at which a player gets punished (0 disabled)
-EnchantKick = 0
\ No newline at end of file
+EnchantKick = 0
+
+# ----------------------
+# Enchant Announce -
+# ----------------------
+# Announce when a player successfully enchant an item to x
+# Default: False
+EnableEnchantAnnounce = False
+
+# The value of x is... set it here (No have default value)
+EnchantAnnounceLevel = 16

CitarCODE 2:

### Eclipse Workspace Patch 1.0
#P L2jFrozen_GameServer
Index: head-src/com/l2jfrozen/Config.java
===================================================================
--- head-src/com/l2jfrozen/Config.java	(revision 987)
+++ head-src/com/l2jfrozen/Config.java	(working copy)
@@ -2891,6 +2891,9 @@
 	public static int GM_OVER_ENCHANT;
 	public static int MAX_ITEM_ENCHANT_KICK;
 
+	public static boolean ENABLE_ENCHANT_ANNOUNCE;
+	public static String ENCHANT_ANNOUNCE_LEVEL;
+	public static FastList<Integer> LIST_ENCHANT_ANNOUNCE_LEVEL = new FastList<Integer>();
 
 	//============================================================
 	public static void loadEnchantConfig()
@@ -3196,6 +3199,13 @@
 			MAX_ITEM_ENCHANT_KICK = Integer.parseInt(ENCHANTSetting.getProperty("EnchantKick", "0"));
 			GM_OVER_ENCHANT = Integer.parseInt(ENCHANTSetting.getProperty("GMOverEnchant", "0"));
 
+			ENABLE_ENCHANT_ANNOUNCE = Boolean.parseBoolean(ENCHANTSetting.getProperty("EnableEnchantAnnounce", "False"));
+			ENCHANT_ANNOUNCE_LEVEL = ENCHANTSetting.getProperty("EnchantAnnounceLevels", "6,10,16,20");
+			LIST_ENCHANT_ANNOUNCE_LEVEL = new FastList<Integer>();
+			for (String id : ENCHANT_ANNOUNCE_LEVEL.split(","))
+			{
+				LIST_ENCHANT_ANNOUNCE_LEVEL.add(Integer.parseInt(id));
+			}
 		}
 		catch(Exception e)
 		{
Index: head-src/com/l2jfrozen/gameserver/model/entity/Announcements.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/entity/Announcements.java	(revision 987)
+++ head-src/com/l2jfrozen/gameserver/model/entity/Announcements.java	(working copy)
@@ -42,6 +42,7 @@
 import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
 import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
 import com.l2jfrozen.gameserver.script.DateRange;
+import com.l2jfrozen.gameserver.util.Broadcast;
 
 /**
  * @author ProGramMoS
@@ -292,6 +293,12 @@
 			player.sendPacket(sm);
 		}
 	}
+	
+	public static void announceInRegion(L2PcInstance activeChar, String text)
+	{
+		CreatureSay cs = new CreatureSay(0, 18, "", text);
+		Broadcast.toPlayersInSameRegion(activeChar, cs);
+	}
 
 	// Method fo handling announcements from admin
 	public void handleAnnounce(String command, int lengthToTrim)
Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java	(revision 987)
+++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java	(working copy)
@@ -25,10 +25,12 @@
 import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;
 import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jfrozen.gameserver.model.base.Race;
+import com.l2jfrozen.gameserver.model.entity.Announcements;
 import com.l2jfrozen.gameserver.network.SystemMessageId;
 import com.l2jfrozen.gameserver.network.serverpackets.EnchantResult;
 import com.l2jfrozen.gameserver.network.serverpackets.InventoryUpdate;
 import com.l2jfrozen.gameserver.network.serverpackets.ItemList;
+import com.l2jfrozen.gameserver.network.serverpackets.MagicSkillUser;
 import com.l2jfrozen.gameserver.network.serverpackets.StatusUpdate;
 import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
 import com.l2jfrozen.gameserver.templates.L2Item;
@@ -301,6 +303,7 @@
 		int chance = 0;
 		int maxEnchantLevel = 0;
 		int minEnchantLevel = 0;
+		int nextEnchantLevel = item.getEnchantLevel() + 1;
 
 		if(item.getItem().getType2() == L2Item.TYPE2_WEAPON)
 		{
@@ -565,6 +568,14 @@
 					sm = new SystemMessage(SystemMessageId.S1_SUCCESSFULLY_ENCHANTED);
 					sm.addItemName(item.getItemId());
 					activeChar.sendPacket(sm);
+					
+					if (Config.ENABLE_ENCHANT_ANNOUNCE && Config.LIST_ENCHANT_ANNOUNCE_LEVEL.contains(nextEnchantLevel))
+					{
+						Announcements.announceInRegion(activeChar, "Congratulations to " + activeChar.getName() + "! Your " + item.getItem() + " has been successfully enchanted to +" + nextEnchantLevel);
+						MagicSkillUser MSU = new MagicSkillUser(activeChar, activeChar, 2025, 1, 1, 0);
+						activeChar.sendPacket(MSU);
+						activeChar.broadcastPacket(MSU);
+					}
 				}
 				else
 				{
@@ -572,6 +583,14 @@
 					sm.addNumber(item.getEnchantLevel());
 					sm.addItemName(item.getItemId());
 					activeChar.sendPacket(sm);
+					
+					if (Config.ENABLE_ENCHANT_ANNOUNCE && Config.LIST_ENCHANT_ANNOUNCE_LEVEL.contains(nextEnchantLevel))
+					{
+						Announcements.announceInRegion(activeChar, "Congratulations to " + activeChar.getName() + "! Your " + item.getItem() + " has been successfully enchanted to +" + nextEnchantLevel);
+						MagicSkillUser MSU = new MagicSkillUser(activeChar, activeChar, 2025, 1, 1, 0);
+						activeChar.sendPacket(MSU);
+						activeChar.broadcastPacket(MSU);
+					}
 				}
 
 				item.setEnchantLevel(item.getEnchantLevel() + Config.CUSTOM_ENCHANT_VALUE);
Index: head-src/com/l2jfrozen/gameserver/util/Broadcast.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/util/Broadcast.java	(revision 987)
+++ head-src/com/l2jfrozen/gameserver/util/Broadcast.java	(working copy)
@@ -32,6 +32,7 @@
 import java.util.logging.Logger;
 
 import com.l2jfrozen.Config;
+import com.l2jfrozen.gameserver.datatables.csv.MapRegionTable;
 import com.l2jfrozen.gameserver.model.L2Character;
 import com.l2jfrozen.gameserver.model.L2World;
 import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
@@ -243,4 +244,26 @@
 			onlinePlayer.sendPacket(mov);
 		}
 	}
+	
+	public static void toPlayersInSameRegion(L2PcInstance player, L2GameServerPacket mov)
+	{
+		int curRegion = MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY());
+		if (Config.DEBUG)
+		{
+			_log.fine("Players to notify: " + L2World.getAllPlayersCount() + " (with packet " + mov.getType() + ")");
+		}
+		
+		for (L2PcInstance target : L2World.getInstance().getAllPlayers())
+		{
+			if (target == null)
+			{
+				continue;
+			}
+			
+			if (curRegion == MapRegionTable.getInstance().getMapRegion(target.getX(), target.getY()))
+			{
+				target.sendPacket(mov);
+			}
+		}
+	}
 }
Index: config/head/enchant.properties
===================================================================
--- config/head/enchant.properties	(revision 987)
+++ config/head/enchant.properties	(working copy)
@@ -131,4 +131,15 @@
 # HOW WORKS: if you set it to 20, and player have an item > 20 
 # he will be kicked and the item will disappear!
 # Enchant amount at which a player gets punished (0 disabled)
-EnchantKick = 0
\ No newline at end of file
+EnchantKick = 0
+
+# ----------------------
+# Enchant Announce -
+# ----------------------
+# Announce when a player successfully enchant an item to x
+# Default: False
+EnableEnchantAnnounce = False
+
+# The value of x is... set it here (separated by comma) e.g: 5,10,20,35,...
+# NOTE: Dont have default value!
+EnchantAnnounceLevels = 6,10,16,20

Creditos: RedHot