rendered paste bodyIndex: 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;