Você não é registrado, por favor registre-se para ter acesso ao conteúdo completo.
Caso seja registrado, efetue login.
Esqueceu sua senha? Clique aqui
Recomendamos o uso do Mozilla Firefox para uma melhor visualização.    


Início Postados Hoje Marcar Fóruns Como Lidos Álbums Banidos SE Team Medalhas
Voltar   Secret Experience > Área L2J > [L2J] Downloads > [Lineage] Java Mods
Registrar Loteria VIPStaff SERegras do fórum Comunidade Arcade Postados Hoje Pesquisar Experience
   

Secret Experience.NET   Secret Experience Corporation - Welcome To The Real World
     Anúncios SE

 
 
LinkBack Ferramentas do Tópico Modos de Exibição
Prev Post Anterior   Próximo Post Next
Antigo 02-07-2009, 11:28 PM   #1 (permalink)
KaL
Amigo SE
 
Avatar de KaL
 
Registrado em: Dec 2008
Localização: São Paulo
Posts: 1,188
Agradeceu: 162
Agradecido 1,768 Vezes em 486 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Meu Estado:
Pontos: 9,136, Nível: 64
Pontos: 9,136, Nível: 64 Pontos: 9,136, Nível: 64 Pontos: 9,136, Nível: 64
Atividade: 16%
Atividade: 16% Atividade: 16% Atividade: 16%

Nome Real: Victor

Inventório de KaL

Padrão Away System

Este Mod permite aos players se colocarem em modo away & modo back ( .away & .back ), diferencia dos demais usuários e é totalmente configurado e protegido

Código: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
Index: config/altsettings.properties
===================================================================
--- config/altsettings.properties	(revision 4757)
+++ config/altsettings.properties	(working copy)
@@ -520,3 +520,20 @@
 # -------------------------------------------------------------
 # Allow usage of mana potions
 AllowManaPotions = False
+
+# -------------------------------------------------------------
+# Away System Config
+# -------------------------------------------------------------
+# Allow Players to change status Away
+AllowAwayStatus = True
+AwayOnlyInPeaceZone = True
+#Allow other Player target Away Player's
+AwayAllowInterference = False
+# Player take mobs aggro if he is Away
+AwayPlayerTakeAggro = False
+# Away status title Color (red 0000FF)
+AwayTitleColor = 0000FF
+# how many sec till player goes in away mode
+AwayTimer = 30
+# how many sec till player goes back from away mode
+BackTimer = 30
\ No newline at end of file
Index: src/main/java/com/l2jfree/Config.java
===================================================================
--- src/main/java/com/l2jfree/Config.java	(revision 4757)
+++ src/main/java/com/l2jfree/Config.java	(working copy)
@@ -1449,6 +1449,13 @@
 	public static boolean				ALT_ITEM_SKILLS_NOT_INFLUENCED;
 	public static boolean				ALT_MANA_POTIONS;
 	public static int					ALT_AUTOCHAT_DELAY;
+	public static boolean				ALT_ALLOW_AWAY_STATUS;
+	public static int					ALT_AWAY_TIMER;
+	public static int					ALT_BACK_TIMER;
+	public static int					ALT_AWAY_TITLE_COLOR;
+	public static boolean				ALT_AWAY_ALLOW_INTERFERENCE;
+	public static boolean				ALT_AWAY_PLAYER_TAKE_AGGRO;
+	public static boolean				ALT_AWAY_PEACE_ZONE;
 
 	// *******************************************************************************************
 	// *******************************************************************************************
@@ -1662,6 +1669,13 @@
 
 			ALT_MANA_POTIONS = Boolean.parseBoolean(altSettings.getProperty("AllowManaPotions", "false"));
 			ALT_AUTOCHAT_DELAY = Integer.parseInt(altSettings.getProperty("AutoChatDelay", "30000"));
+			ALT_ALLOW_AWAY_STATUS = Boolean.parseBoolean(altSettings.getProperty("AllowAwayStatus", "False"));
+			ALT_AWAY_ALLOW_INTERFERENCE = Boolean.parseBoolean(altSettings.getProperty("AwayAllowInterference", "False"));
+			ALT_AWAY_PLAYER_TAKE_AGGRO = Boolean.parseBoolean(altSettings.getProperty("AwayPlayerTakeAggro", "False"));
+			ALT_AWAY_TITLE_COLOR = Integer.decode("0x" + altSettings.getProperty("AwayTitleColor", "0000FF"));
+			ALT_AWAY_TIMER = Integer.parseInt(altSettings.getProperty("AwayTimer", "30"));
+			ALT_BACK_TIMER = Integer.parseInt(altSettings.getProperty("BackTimer", "30"));
+			ALT_AWAY_PEACE_ZONE = Boolean.parseBoolean(altSettings.getProperty("AwayOnlyInPeaceZone", "False"));
 		}
 		catch (Exception e)
 		{
Index: src/main/java/com/l2jfree/gameserver/ai/L2AttackableAI.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/ai/L2AttackableAI.java	(revision 4757)
+++ src/main/java/com/l2jfree/gameserver/ai/L2AttackableAI.java	(working copy)
@@ -200,10 +200,12 @@
 			//event playere are also ignored
 			if(player.isInFunEvent())
 				return false;
-				
 			// check if the target is within the grace period for JUST getting up from fake death
 			if (player.isRecentFakeDeath())
 				return false;
+			// check player is in away mod
+			if(player.isAway() && !Config.ALT_AWAY_PLAYER_TAKE_AGGRO)
+				return false;
 		}
 		// Check if the target is a L2Summon
 		if (target instanceof L2Summon)
Index: src/main/java/com/l2jfree/gameserver/communitybbs/Manager/RegionBBSManager.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/communitybbs/Manager/RegionBBSManager.java	(revision 4757)
+++ src/main/java/com/l2jfree/gameserver/communitybbs/Manager/RegionBBSManager.java	(working copy)
@@ -225,6 +225,11 @@
 					return;
 				}
 
+				if (receiver.isAway())
+				{
+					activeChar.sendMessage(receiver.getName() + " is Away please try again later.");
+					return;
+				}
 				if (Config.LOG_CHAT)
 				{
 					LogRecord record = new LogRecord(Level.INFO, ar3);
@@ -452,6 +457,8 @@
 
 					if (player.isGM())
 						htmlCode.append("<font color=\"LEVEL\">" + player.getName() + "</font>");
+					else if(player.isAway() && Config.ALT_ALLOW_AWAY_STATUS)
+						htmlCode.append(player.getName() + "*Away*");
 					else if (player.getClan() != null && player.isClanLeader() && Config.SHOW_CLAN_LEADER
 							&& player.getClan().getLevel() >= Config.SHOW_CLAN_LEADER_CLAN_LEVEL)
 						htmlCode.append("<font color=\"00FF00\">" + player.getName() + "</font>");
Index: src/main/java/com/l2jfree/gameserver/GameServer.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/GameServer.java	(revision 4757)
+++ src/main/java/com/l2jfree/gameserver/GameServer.java	(working copy)
@@ -67,6 +67,7 @@
 import com.l2jfree.gameserver.handler.VoicedCommandHandler;
 import com.l2jfree.gameserver.idfactory.IdFactory;
 import com.l2jfree.gameserver.instancemanager.AuctionManager;
+import com.l2jfree.gameserver.instancemanager.AwayManager;
 import com.l2jfree.gameserver.instancemanager.BoatManager;
 import com.l2jfree.gameserver.instancemanager.CastleManager;
 import com.l2jfree.gameserver.instancemanager.CastleManorManager;
@@ -328,6 +329,11 @@
 			FactionManager.getInstance();
 			FactionQuestManager.getInstance();
 		}
+		if (Config.ALT_ALLOW_AWAY_STATUS)
+		{
+			Util.printSection("Away System");
+			AwayManager.getInstance();
+		}
 		try
 		{
 			DynamicExtension.getInstance();

Index: src/main/java/com/l2jfree/gameserver/handler/VoicedCommandHandler.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/handler/VoicedCommandHandler.java	(revision 4757)
+++ src/main/java/com/l2jfree/gameserver/handler/VoicedCommandHandler.java	(working copy)
@@ -45,6 +45,10 @@
 	private VoicedCommandHandler()
 	{
 		_datatable = new FastMap<String, IVoicedCommandHandler>();
+		if (Config.ALT_ALLOW_AWAY_STATUS)
+		{
+			registerVoicedCommandHandler(new Away());
+		}
 		registerVoicedCommandHandler(new CastleDoors());
 		registerVoicedCommandHandler(new Hellbound());
 		registerVoicedCommandHandler(new VersionInfo());
Index: src/main/java/com/l2jfree/gameserver/handler/voicedcommandhandlers/Away.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/handler/voicedcommandhandlers/Away.java	(revision 0)
+++ src/main/java/com/l2jfree/gameserver/handler/voicedcommandhandlers/Away.java	(revision 0)
@@ -0,0 +1,152 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jfree.gameserver.handler.voicedcommandhandlers;
+
+import com.l2jfree.Config;
+import com.l2jfree.gameserver.handler.IVoicedCommandHandler;
+import com.l2jfree.gameserver.instancemanager.AwayManager;
+import com.l2jfree.gameserver.instancemanager.SiegeManager;
+import com.l2jfree.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jfree.gameserver.model.entity.Siege;
+import com.l2jfree.gameserver.model.zone.L2Zone;
+
+/** 
+ * @author Michiru
+ * 
+ */
+public class Away implements IVoicedCommandHandler
+{
+	private static final String[]	VOICED_COMMANDS	=
+													{ "away", "back" };
+
+	/* (non-Javadoc)
+	 * @see com.l2jfree.gameserver.handler.IVoicedCommandHandler#useVoicedCommand(String, com.l2jfree.gameserver.model.L2PcInstance), String)
+	 */
+	public boolean useVoicedCommand(String command, L2PcInstance activeChar, String text)
+	{
+		if (command.startsWith("away"))
+			return away(activeChar, text);
+		else if (command.startsWith("back"))
+			return back(activeChar);
+		return false;
+	}
+
+	/* (non-Javadoc)
+	 * @see com.l2jfree.gameserver.handler.IVoicedCommandHandler#getVoicedCommandList()
+	 */
+
+	private boolean away(L2PcInstance activeChar, String text)
+	{
+		Siege siege = SiegeManager.getInstance().getSiege(activeChar);
+		//check char is all ready in away mode
+		if (activeChar.isAway())
+		{
+			activeChar.sendMessage("You are allready Away");
+			return false;
+		}
+		
+		if (!activeChar.isInsideZone(L2Zone.FLAG_PEACE) && Config.ALT_AWAY_PEACE_ZONE)
+		{
+			activeChar.sendMessage("You can only Away in Peace Zone");
+			return false;
+		}
+		if (activeChar.isTransformed())
+		{
+			activeChar.sendMessage("You cannot go Away while transformed");
+			return false;
+		}
+		//check player is death/fake death and movement disable
+		if (activeChar.isMovementDisabled() || activeChar.isAlikeDead())
+			return false;
+		// Check if player is in Siege
+		if (siege != null && siege.getIsInProgress())
+		{
+			activeChar.sendMessage("You are in siege, you can't go Afk.");
+			return false;
+		}
+		// Check if player is a Cursed Weapon owner
+		if (activeChar.isCursedWeaponEquipped())
+		{
+			activeChar.sendMessage("You can't go Afk! You are currently holding a cursed weapon.");
+			return false;
+		}
+		// Check if player is in Duel
+		if (activeChar.isInDuel())
+		{
+			activeChar.sendMessage("You can't go Afk! You are in a duel!");
+			return false;
+		}
+		//check is in DimensionsRift
+		if (activeChar.isInParty() && activeChar.getParty().isInDimensionalRift())
+		{
+			activeChar.sendMessage("You can't go Afk! You are in the dimensional rift.");
+			return false;
+		}
+		// Check to see if the player is in an event
+		if (activeChar.isInFunEvent())
+		{
+			activeChar.sendMessage("You can't go Afk! You are in event now.");
+			return false;
+		}
+		//check player is in Olympiade
+		if (activeChar.isInOlympiadMode() || activeChar.getOlympiadGameId() != -1)
+		{
+			activeChar.sendMessage("You can't go Afk! Your are fighting in Olympiad!");
+			return false;
+		}
+		// Check player is in observer mode
+		if (activeChar.inObserverMode())
+		{
+			activeChar.sendMessage("You can't go Afk in Observer mode!");
+			return false;
+		}
+		//check player have karma/pk/pvp status
+		if (activeChar.getKarma() > 0 || activeChar.getPvpFlag() > 0)
+		{
+			activeChar.sendMessage("Player in PVP or with Karma can't use the Away command!");
+			return false;
+		}
+		if (activeChar.isImmobilized())
+			return false;
+		//check away text have not more then 10 letter
+		if (text.length() > 10)
+		{
+			activeChar.sendMessage("You can't set your status Away with more then 10 letters");
+			return false;
+		}
+		// check if player have no one in target
+		if (activeChar.getTarget() == null && text.length() <= 1 || text.length() <= 10)
+
+			//set this Player status away in AwayManager
+			AwayManager.getInstance().setAway(activeChar, text);
+		return true;
+	}
+
+	private boolean back(L2PcInstance activeChar)
+	{
+		if (!activeChar.isAway())
+		{
+			activeChar.sendMessage("You are not Away!");
+			return false;
+		}
+		AwayManager.getInstance().setBack(activeChar);
+		return true;
+	}
+
+	public String[] getVoicedCommandList()
+	{
+		return VOICED_COMMANDS;
+	}
+}
Index: src/main/java/com/l2jfree/gameserver/instancemanager/AwayManager.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/instancemanager/AwayManager.java	(revision 0)
+++ src/main/java/com/l2jfree/gameserver/instancemanager/AwayManager.java	(revision 0)
@@ -0,0 +1,186 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jfree.gameserver.instancemanager;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.WeakHashMap;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import com.l2jfree.Config;
+import com.l2jfree.gameserver.ThreadPoolManager;
+import com.l2jfree.gameserver.ai.CtrlIntention;
+import com.l2jfree.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jfree.gameserver.network.serverpackets.SetupGauge;
+import com.l2jfree.gameserver.network.serverpackets.SocialAction;
+
+/**
+ * @author Michiru
+ *
+ */
+public final class AwayManager
+{
+	private static final Log				_log	= LogFactory.getLog(AwayManager.class.getName());
+	private static AwayManager				_instance;
+	private Map<L2PcInstance, RestoreData>	_awayPlayers;
+
+	public static final AwayManager getInstance()
+	{
+		if (_instance == null)
+		{
+			_instance = new AwayManager();
+			_log.info("AwayManager: initialized.");
+		}
+		return _instance;
+	}
+
+	private final class RestoreData
+	{
+		private final String	_originalTitle;
+		private final int		_originalTitleColor;
+		private final boolean	_sitForced;
+
+		public RestoreData(L2PcInstance activeChar)
+		{
+			_originalTitle = activeChar.getTitle();
+			_originalTitleColor = activeChar.getAppearance().getTitleColor();
+			_sitForced = !activeChar.isSitting();
+		}
+
+		public boolean isSitForced()
+		{
+			return _sitForced;
+		}
+
+		public void restore(L2PcInstance activeChar)
+		{
+			activeChar.getAppearance().setTitleColor(_originalTitleColor);
+			activeChar.setTitle(_originalTitle);
+		}
+	}
+
+	private AwayManager()
+	{
+		_awayPlayers = Collections.synchronizedMap(new WeakHashMap<L2PcInstance, RestoreData>());
+	}
+
+	/**
+	 * @param activeChar
+	 * @param text
+	 */
+	public void setAway(L2PcInstance activeChar, String text)
+	{
+		activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 9));
+		activeChar.sendMessage("Your status is Away in " + Config.ALT_AWAY_TIMER + " Sec.");
+		activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
+		SetupGauge sg = new SetupGauge(SetupGauge.BLUE, Config.ALT_AWAY_TIMER * 1000);
+		activeChar.sendPacket(sg);
+		activeChar.setIsImmobilized(true);
+		ThreadPoolManager.getInstance().scheduleGeneral(new setPlayerAwayTask(activeChar, text), Config.ALT_AWAY_TIMER * 1000);
+	}
+
+	/**
+	 * @param activeChar
+	 */
+	public void setBack(L2PcInstance activeChar)
+	{
+		activeChar.sendMessage("You are back from Away Status in " + Config.ALT_BACK_TIMER + " Sec.");
+		SetupGauge sg = new SetupGauge(SetupGauge.BLUE, Config.ALT_BACK_TIMER * 1000);
+		activeChar.sendPacket(sg);
+		ThreadPoolManager.getInstance().scheduleGeneral(new setPlayerBackTask(activeChar), Config.ALT_BACK_TIMER * 1000);
+	}
+
+	class setPlayerAwayTask implements Runnable
+	{
+
+		private final L2PcInstance	_activeChar;
+		private final String		_awayText;
+
+		setPlayerAwayTask(L2PcInstance activeChar, String awayText)
+		{
+			_activeChar = activeChar;
+			_awayText = awayText;
+		}
+
+		public void run()
+		{
+			if (_activeChar == null)
+				return;
+			if (_activeChar.isAttackingNow() || _activeChar.isCastingNow())
+				return;
+
+			_awayPlayers.put(_activeChar, new RestoreData(_activeChar));
+
+			_activeChar.disableAllSkills();
+			_activeChar.abortAttack();
+			_activeChar.abortCast();
+			_activeChar.setTarget(null);
+			_activeChar.setIsImmobilized(false);
+			if (!_activeChar.isSitting())
+				_activeChar.sitDown(true);
+			if (_awayText.length() <= 1)
+			{
+				_activeChar.sendMessage("You are now *Away*");
+			}
+			else
+			{
+				_activeChar.sendMessage("You are now Away *" + _awayText + "*");
+			}
+			_activeChar.getAppearance().setTitleColor(Config.ALT_AWAY_TITLE_COLOR);
+			if (_awayText.length() <= 1)
+			{
+				_activeChar.setTitle("*Away*");
+			}
+			else
+			{
+				_activeChar.setTitle("Away*" + _awayText + "*");
+			}
+			_activeChar.broadcastUserInfo();
+			_activeChar.setIsParalyzed(true);
+			_activeChar.setIsAway(true);
+		}
+	}
+
+	class setPlayerBackTask implements Runnable
+	{
+
+		private final L2PcInstance	_activeChar;
+
+		setPlayerBackTask(L2PcInstance activeChar)
+		{
+			_activeChar = activeChar;
+		}
+
+		public void run()
+		{
+			if (_activeChar == null)
+				return;
+			RestoreData rd = _awayPlayers.get(_activeChar);
+			if (rd == null)
+				return;
+			_activeChar.setIsParalyzed(false);
+			_activeChar.enableAllSkills();
+			_activeChar.setIsAway(false);
+			if (rd.isSitForced())
+				_activeChar.standUp();
+			rd.restore(_activeChar);
+			_awayPlayers.remove(_activeChar);
+			_activeChar.broadcastUserInfo();
+			_activeChar.sendMessage("You are Back now!");
+		}
+	}
+}
Index: src/main/java/com/l2jfree/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/model/actor/instance/L2PcInstance.java	(revision 4757)
+++ src/main/java/com/l2jfree/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -752,6 +752,11 @@
 
 	private int								_clientRevision			= 0;
 
+	/** character away mode **/
+	private boolean							_isAway					= false;
+	public int								_originalTitleColorAway;
+	public String							_originalTitleAway;
+
 	private FactionMember					_faction;
 
 	/* Flag to disable equipment/skills while wearing formal wear **/
@@ -2784,6 +2789,8 @@
 		{
 			sendMessage("A dark force beyond your mortal understanding makes your knees to shake when you try to stand up ...");
 		}
+		else if (isAway())
+			sendMessage("You can't stand up if your Status is Away");
 		else if (TvT._sitForced && _inEventTvT || CTF._sitForced && _inEventCTF || DM._sitForced && _inEventDM || VIP._sitForced && _inEventVIP)
 			sendMessage("The Admin/GM handle if you sit or stand in this match!");
 		else if (_waitTypeSitting && !isInStoreMode() && !isAlikeDead() && (!_protectedSitStand || force))
@@ -3735,6 +3742,12 @@
 			return;
 		}
 
+		if (isAway() && !Config.ALT_AWAY_ALLOW_INTERFERENCE)
+		{
+			sendMessage("You can't target Away Players");
+			sendPacket(ActionFailed.STATIC_PACKET);
+			return;
+		}
 		if (Config.SIEGE_ONLY_REGISTERED)
 		{
 			if (!canBeTargetedByAtSiege(player))
@@ -12995,7 +13008,17 @@
 	{
 		_olympiadOpponentId = value;
 	}
-	
+
+	public boolean isAway()
+	{
+		return _isAway;
+	}
+
+	public void setIsAway(boolean state)
+	{
+		_isAway = state;
+	}
+
 	private ImmutableReference<L2PcInstance> _immutableReference;
 	private ClearableReference<L2PcInstance> _clearableReference;
 	
Index: src/main/java/com/l2jfree/gameserver/network/clientpackets/Logout.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/network/clientpackets/Logout.java	(revision 4757)
+++ src/main/java/com/l2jfree/gameserver/network/clientpackets/Logout.java	(working copy)
@@ -78,6 +78,13 @@
             player.sendMessage("You can not log out while flying.");
             return;
         }
+
+		if (player.isAway())
+		{
+			player.sendMessage("You can't logout in Away mode.");
+			return;
+		}
+
         // [L2J_JP ADD END]
 
         if(AttackStanceTaskManager.getInstance().getAttackStanceTask(player) && !player.isGM())
Index: src/main/java/com/l2jfree/gameserver/network/clientpackets/RequestRestart.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/network/clientpackets/RequestRestart.java	(revision 4757)
+++ src/main/java/com/l2jfree/gameserver/network/clientpackets/RequestRestart.java	(working copy)
@@ -66,6 +66,12 @@
             return;
         }
 
+		if (player.isAway())
+		{
+			player.sendMessage("You can't restart in Away mode.");
+			return;
+		}
+
         if(player.atEvent)
         {
             player.sendMessage("A superior power doesn't allow you to leave the event.");
Index: src/main/java/com/l2jfree/gameserver/network/L2IrcClient.java
===================================================================
--- src/main/java/com/l2jfree/gameserver/network/L2IrcClient.java	(revision 4757)
+++ src/main/java/com/l2jfree/gameserver/network/L2IrcClient.java	(working copy)
@@ -337,8 +337,11 @@
 					boolean _isFirst = true;
 					for (L2PcInstance player : L2World.getInstance().getAllPlayers())
 					{
-						_onlineNames = _onlineNames + (_isFirst ? " " : ", ") + player.getName();
-						_isFirst = false;
+						if (player.isAway())
+							_onlineNames = _onlineNames + (_isFirst ? " " : ", ") + player.getName() + "*Away*";
+						else
+							_onlineNames = _onlineNames + (_isFirst ? " " : ", ") + player.getName();
+							_isFirst = false;
 					}
 					sendChan(_onlineNames);
 				}
Creditos : Michiru

__________________
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
KaL está offline  
Links Patrocinados
 


Regras para Posts
Você não pode postar novos tópicos
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar seus posts

Código [IMG] Sim
Código HTML Não
Trackbacks are Sim
Pingbacks are Sim
Refbacks are Sim



Horários baseados na GMT -3. Agora são 10:29 AM.