Noticias:

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

Menú Principal

Efectos para players Offline

Iniciado por Swarlog, Jul 25, 2025, 11:35 PM

Tema anterior - Siguiente tema

Swarlog


Index: config/fun/offline.properties
===================================================================
--- config/fun/offline.properties	(revision 7)
+++ config/fun/offline.properties	(working copy)
@@ -12,6 +12,7 @@
 
 # If set to True, name color will be changed then entering offline mode
 OfflineNameColorEnable = False
+
 # Color of the name in offline mode (if OfflineNameColorEnable = True)
 OfflineNameColor = ff00ff
 
@@ -18,8 +19,27 @@
 # After Server Restart or Shutdown, all players in Offline mode will be auto logged.
 # Enable -> true, Disable -> false
 RestoreOffliners=false
+
 # Max Days after no auto relog.
 OfflineMaxDays=0
+
 # If a player finish to sell/buy he will be kicked from the Server.
 # Enable -> true, Disable -> false
-OfflineDisconnectFinished=false
\ No newline at end of file
+OfflineDisconnectFinished=false
+
+# -----------------------------------------
+# Offline Effect -
+# -----------------------------------------
+# Add effect when entering offline mode.
+# Default: False
+OfflineTradeEffect = False
+
+# The effect that will be shown by players in offline mode.
+# Use:
+# - 1 Bleed       | 7  Petrification  - #
+# - 2 Poison      | 8  Big Head       - #
+# - 3 Confusion   | 9  Flame          - #
+# - 4 Silence     | 10 Fire Root Stun - #
+# - 5 Sleep       | 11 Stealth        - #
+# - 6 Root        | 12 Imprisioning   - #
+OfflineEffectId = 5
Index: head-src/com/l2jfrozen/Config.java
===================================================================
--- head-src/com/l2jfrozen/Config.java	(revision 7)
+++ head-src/com/l2jfrozen/Config.java	(working copy)
@@ -2402,6 +2413,9 @@
 	public static int OFFLINE_MAX_DAYS;
 	public static boolean OFFLINE_DISCONNECT_FINISHED;
 
+    public static boolean OFFLINE_TRADE_EFFECT;
+	public static int OFFLINE_EFFECT_ID;
+
 	//============================================================
 	public static void loadOfflineConfig()
 	{
@@ -2422,7 +2436,9 @@
 			RESTORE_OFFLINERS = Boolean.parseBoolean(OfflineSettings.getProperty("RestoreOffliners", "false")); 
 			OFFLINE_MAX_DAYS = Integer.parseInt(OfflineSettings.getProperty("OfflineMaxDays", "10"));
 			OFFLINE_DISCONNECT_FINISHED = Boolean.parseBoolean(OfflineSettings.getProperty("OfflineDisconnectFinished", "true"));
-			 					
+
+			OFFLINE_TRADE_EFFECT = Boolean.parseBoolean(OfflineSettings.getProperty("OfflineTradeEffect", "False"));
+			OFFLINE_EFFECT_ID = Integer.parseInt(OfflineSettings.getProperty("OfflineEffectId", "1"));
 		}
 		catch(Exception e)
 		{
Index: head-src/com/l2jfrozen/gameserver/datatables/OfflineTradeTable.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/datatables/OfflineTradeTable.java	(revision 7)
+++ head-src/com/l2jfrozen/gameserver/datatables/OfflineTradeTable.java	(working copy)
@@ -19,8 +19,6 @@
 package com.l2jfrozen.gameserver.datatables;
 
 /**
- * 
- * 
  * @author Enzo
  */
 
@@ -32,6 +30,7 @@
 import java.util.logging.Logger;
 
 import com.l2jfrozen.Config;
+import com.l2jfrozen.gameserver.model.L2Character;
 import com.l2jfrozen.gameserver.model.L2ManufactureItem;
 import com.l2jfrozen.gameserver.model.L2ManufactureList;
 import com.l2jfrozen.gameserver.model.L2World;
@@ -44,8 +43,6 @@
 import com.l2jfrozen.util.CloseUtil;
 import com.l2jfrozen.util.database.L2DatabaseFactory;
 
-
-
 public class OfflineTradeTable
 {
 	private static Logger _log = Logger.getLogger(OfflineTradeTable.class.getName());
@@ -213,6 +210,50 @@
 					player.setClient(client);
 					player.setOffline(true);
 					player.setOfflineStartTime(time);
+
+					if(Config.OFFLINE_TRADE_EFFECT)
+					{
+						switch(Config.OFFLINE_EFFECT_ID)
+						{
+							case 1:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_BLEEDING);
+								break;
+							case 2:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_POISON);
+								break;
+							case 3:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_CONFUSED);
+								break;
+							case 4:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_MUTED);
+								break;
+							case 5:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_SLEEP);
+								break;
+							case 6:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_ROOT);
+								break;
+							case 7:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_HOLD_2);
+								break;
+							case 8:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_BIG_HEAD);
+								break;
+							case 9:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_FLAME);
+								break;
+							case 10:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_FIREROOT_STUN);
+								break;
+							case 11:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_STEALTH);
+								break;
+							case 12:
+								player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_IMPRISIONING_2);
+								break;
+						}
+					}
+
 					player.spawnMe(player.getX(), player.getY(), player.getZ());
 					LoginServerThread.getInstance().addGameServerLogin(player.getAccountName(), client);
 					PreparedStatement stm_items = con.prepareStatement(LOAD_OFFLINE_ITEMS);
Index: head-src/com/l2jfrozen/gameserver/network/L2GameClient.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/L2GameClient.java	(revision 7)
+++ head-src/com/l2jfrozen/gameserver/network/L2GameClient.java	(working copy)
@@ -41,6 +41,7 @@
 import com.l2jfrozen.gameserver.datatables.sql.ClanTable;
 import com.l2jfrozen.gameserver.managers.AwayManager;
 import com.l2jfrozen.gameserver.model.CharSelectInfoPackage;
+import com.l2jfrozen.gameserver.model.L2Character;
 import com.l2jfrozen.gameserver.model.L2Clan;
 import com.l2jfrozen.gameserver.model.L2World;
 import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
@@ -1001,6 +1002,49 @@
 							player.broadcastUserInfo();
 						}
 						
+						if(Config.OFFLINE_TRADE_EFFECT)
+						{
+							switch(Config.OFFLINE_EFFECT_ID)
+							{
+								case 1:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_BLEEDING);
+									break;
+								case 2:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_POISON);
+									break;
+								case 3:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_CONFUSED);
+									break;
+								case 4:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_MUTED);
+									break;
+								case 5:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_SLEEP);
+									break;
+								case 6:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_ROOT);
+									break;
+								case 7:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_HOLD_2);
+									break;
+								case 8:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_BIG_HEAD);
+									break;
+								case 9:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_FLAME);
+									break;
+								case 10:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_FIREROOT_STUN);
+									break;
+								case 11:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_STEALTH);
+									break;
+								case 12:
+									player.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_IMPRISIONING_2);
+									break;
+							}
+						}
+
 						if (player.getOfflineStartTime() == 0)
 							player.setOfflineStartTime(System.currentTimeMillis());