All pastes #20873 Raw Edit

Mine

public text v1 · immutable
#20873 ·published 2005-08-23 16:54 UTC
rendered paste body
Index: C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/Say2.java
===================================================================
--- C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/Say2.java	(revision 816)
+++ C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/Say2.java	(working copy)
@@ -116,7 +116,8 @@
 		if (_type == TELL)
 		{
 			L2PcInstance receiver = L2World.getInstance().getPlayer(_target);
-			if (receiver != null)
+            
+            if (receiver != null && !receiver.isInBlockList(activeChar) && !receiver.isBlockAll())
 			{	
 				if(!receiver.getMessageRefusal())
 				{
@@ -145,12 +146,13 @@
 		  {
 			for (L2PcInstance player : L2World.getInstance().getAllPlayers())
 			{
-				player.sendPacket(cs);
+                if(!player.isInBlockList(activeChar) && !player.isBlockAll())
+                    player.sendPacket(cs);
 			}
 		  } else {
 			for (L2PcInstance player : L2World.getInstance().getAllPlayers())
 			{
-				if (activeChar.getDistance(player.getX(),player.getY())<10000)
+				if (activeChar.getDistance(player.getX(),player.getY())<10000 && !player.isInBlockList(activeChar) && !player.isBlockAll())
 				    player.sendPacket(cs);
 			}
 		  }
@@ -159,7 +161,7 @@
 		{
 			for (L2PcInstance player : activeChar.getKnownPlayers())
 			{
-			    if (activeChar.getDistance(player.getX(),player.getY())<1250)
+			    if (activeChar.getDistance(player.getX(),player.getY())<1250 && !player.isInBlockList(activeChar) && !player.isBlockAll())
 				player.sendPacket(cs);
 			}
 			
@@ -191,7 +193,10 @@
 		{
             for (L2PcInstance gm : L2World.getInstance().getAllGMs())
             {
-                gm.sendPacket(cs);
+                if(!gm.getMessageRefusal())
+                {
+                    gm.sendPacket(cs);
+                }
             }
        	}
 		/*
Index: C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2PcInstance.java
===================================================================
--- C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2PcInstance.java	(revision 816)
+++ C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2PcInstance.java	(working copy)
@@ -352,6 +352,9 @@
 	
 	public int _telemode = 0;
     
+    private ArrayList<L2PcInstance>  _blockList;     // characters blocked with '/block <charname>' cmd
+    private boolean _blockAll = false;          // /blockall cmd handling
+    
 	/**
 	 * Create a new L2PcInstance and add it in the characters table of the database.<BR><BR>
 	 *  
@@ -439,6 +442,7 @@
     	super(objectId, template);
         _accountName = accountName;
 		_level = 1;
+        _blockList = new ArrayList<L2PcInstance>();
     }
     
 	/**
@@ -5409,4 +5413,49 @@
     {
     	_messageRefusal = mode;
     }
+    
+    public void addToBlockList(L2PcInstance charid)
+    {
+        _blockList.add(charid);
+    }
+    
+    public void removeFromBlockList(L2PcInstance charid)
+    {
+        _blockList.remove(charid);
+    }
+    
+    public boolean isInBlockList(L2PcInstance charid)
+    {
+        for(L2PcInstance candidate : _blockList)
+        {
+            if(candidate == charid)
+            {
+                return true;
+            }
+        }
+        
+        return false;
+    }
+    
+    public boolean isBlockAll()
+    {
+        return _blockAll;
+    }
+    
+    public void setBlockAll(boolean state)
+    {
+        _blockAll = state;
+    }
+    
+    public ArrayList<String> getBlockList()
+    {
+        ArrayList<String> blocked = new ArrayList<String>();
+        
+        for(L2PcInstance current : _blockList)
+        {
+            blocked.add(current.getName());
+        }
+        
+        return blocked;
+    }
 }
Index: C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/PacketHandler.java
===================================================================
--- C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/PacketHandler.java	(revision 816)
+++ C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/PacketHandler.java	(working copy)
@@ -493,9 +493,9 @@
 //			case 0x9f:
 //				// RequestPackageSend
 //				break;
-//			case 0xa0:
-//				// RequestBlock
-//				break;
+			case 0xa0:
+				msg = new RequestBlock(data,_client);
+				break;
 //			case 0xa1:
 //				// RequestCastleSiegeInfo
 //				break;