diff options
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 57 |
1 files changed, 32 insertions, 25 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 148d0e0..d05ffea 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -4451,37 +4451,44 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4451 | if (bl[i].BannedUserID == UUID.Zero) | 4451 | if (bl[i].BannedUserID == UUID.Zero) |
4452 | continue; | 4452 | continue; |
4453 | BannedUsers.Add(bl[i].BannedUserID); | 4453 | BannedUsers.Add(bl[i].BannedUserID); |
4454 | } | ||
4455 | 4454 | ||
4456 | EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket(); | 4455 | if (BannedUsers.Count >= 50 || (i == (bl.Length - 1) && BannedUsers.Count > 0)) |
4457 | packet.AgentData.TransactionID = UUID.Random(); | 4456 | { |
4458 | packet.AgentData.AgentID = AgentId; | 4457 | EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket(); |
4459 | packet.AgentData.SessionID = SessionId; | 4458 | packet.AgentData.TransactionID = UUID.Random(); |
4460 | packet.MethodData.Invoice = invoice; | 4459 | packet.AgentData.AgentID = AgentId; |
4461 | packet.MethodData.Method = Utils.StringToBytes("setaccess"); | 4460 | packet.AgentData.SessionID = SessionId; |
4461 | packet.MethodData.Invoice = invoice; | ||
4462 | packet.MethodData.Method = Utils.StringToBytes("setaccess"); | ||
4462 | 4463 | ||
4463 | EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + BannedUsers.Count]; | 4464 | EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + BannedUsers.Count]; |
4464 | 4465 | ||
4465 | for (int i = 0; i < (6 + BannedUsers.Count); i++) | 4466 | int j; |
4466 | { | 4467 | for (j = 0; j < (6 + BannedUsers.Count); j++) |
4467 | returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock(); | 4468 | { |
4468 | } | 4469 | returnblock[j] = new EstateOwnerMessagePacket.ParamListBlock(); |
4469 | int j = 0; | 4470 | } |
4471 | j = 0; | ||
4470 | 4472 | ||
4471 | returnblock[j].Parameter = Utils.StringToBytes(estateID.ToString()); j++; | 4473 | returnblock[j].Parameter = Utils.StringToBytes(estateID.ToString()); j++; |
4472 | returnblock[j].Parameter = Utils.StringToBytes(((int)Constants.EstateAccessCodex.EstateBans).ToString()); j++; | 4474 | returnblock[j].Parameter = Utils.StringToBytes(((int)Constants.EstateAccessCodex.EstateBans).ToString()); j++; |
4473 | returnblock[j].Parameter = Utils.StringToBytes("0"); j++; | 4475 | returnblock[j].Parameter = Utils.StringToBytes("0"); j++; |
4474 | returnblock[j].Parameter = Utils.StringToBytes("0"); j++; | 4476 | returnblock[j].Parameter = Utils.StringToBytes("0"); j++; |
4475 | returnblock[j].Parameter = Utils.StringToBytes(BannedUsers.Count.ToString()); j++; | 4477 | returnblock[j].Parameter = Utils.StringToBytes(BannedUsers.Count.ToString()); j++; |
4476 | returnblock[j].Parameter = Utils.StringToBytes("0"); j++; | 4478 | returnblock[j].Parameter = Utils.StringToBytes("0"); j++; |
4477 | 4479 | ||
4478 | foreach (UUID banned in BannedUsers) | 4480 | foreach (UUID banned in BannedUsers) |
4479 | { | 4481 | { |
4480 | returnblock[j].Parameter = banned.GetBytes(); j++; | 4482 | returnblock[j].Parameter = banned.GetBytes(); j++; |
4483 | } | ||
4484 | packet.ParamList = returnblock; | ||
4485 | packet.Header.Reliable = true; | ||
4486 | OutPacket(packet, ThrottleOutPacketType.Task); | ||
4487 | |||
4488 | BannedUsers.Clear(); | ||
4489 | } | ||
4481 | } | 4490 | } |
4482 | packet.ParamList = returnblock; | 4491 | |
4483 | packet.Header.Reliable = false; | ||
4484 | OutPacket(packet, ThrottleOutPacketType.Task); | ||
4485 | } | 4492 | } |
4486 | 4493 | ||
4487 | public void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) | 4494 | public void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) |