diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 3b3ec3d..facee5c 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -2570,6 +2570,51 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2570 | this.OutPacket(packet, ThrottleOutPacketType.Task); | 2570 | this.OutPacket(packet, ThrottleOutPacketType.Task); |
2571 | } | 2571 | } |
2572 | 2572 | ||
2573 | public void sendBannedUserList(LLUUID invoice, List<RegionBanListItem> banlist, uint estateID) | ||
2574 | { | ||
2575 | RegionBanListItem[] bl = banlist.ToArray(); | ||
2576 | |||
2577 | LLUUID[] BannedUsers = new LLUUID[bl.Length]; | ||
2578 | |||
2579 | |||
2580 | for (int i = 0; i < bl.Length; i++) | ||
2581 | { | ||
2582 | if (bl[i] == null) | ||
2583 | continue; | ||
2584 | BannedUsers[i] = bl[i].bannedUUID; | ||
2585 | } | ||
2586 | |||
2587 | EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket(); | ||
2588 | packet.AgentData.TransactionID = LLUUID.Random(); | ||
2589 | packet.AgentData.AgentID = this.AgentId; | ||
2590 | packet.AgentData.SessionID = this.SessionId; | ||
2591 | packet.MethodData.Invoice = invoice; | ||
2592 | packet.MethodData.Method = Helpers.StringToField("setaccess"); | ||
2593 | |||
2594 | EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + BannedUsers.Length]; | ||
2595 | |||
2596 | for (int i = 0; i < (6 + BannedUsers.Length); i++) | ||
2597 | { | ||
2598 | returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock(); | ||
2599 | } | ||
2600 | int j = 0; | ||
2601 | |||
2602 | returnblock[j].Parameter = Helpers.StringToField(estateID.ToString()); j++; | ||
2603 | returnblock[j].Parameter = Helpers.StringToField(((int)Constants.EstateAccessCodex.EstateBans).ToString()); j++; | ||
2604 | returnblock[j].Parameter = Helpers.StringToField("0"); j++; | ||
2605 | returnblock[j].Parameter = Helpers.StringToField("0"); j++; | ||
2606 | returnblock[j].Parameter = Helpers.StringToField(BannedUsers.Length.ToString()); j++; | ||
2607 | returnblock[j].Parameter = Helpers.StringToField("0"); j++; | ||
2608 | |||
2609 | for (int i = 0; i < BannedUsers.Length; i++) | ||
2610 | { | ||
2611 | returnblock[j].Parameter = BannedUsers[i].GetBytes(); j++; | ||
2612 | } | ||
2613 | packet.ParamList = returnblock; | ||
2614 | packet.Header.Reliable = false; | ||
2615 | this.OutPacket(packet, ThrottleOutPacketType.Task); | ||
2616 | } | ||
2617 | |||
2573 | public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) | 2618 | public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) |
2574 | { | 2619 | { |
2575 | RegionInfoPacket rinfopack = new RegionInfoPacket(); | 2620 | RegionInfoPacket rinfopack = new RegionInfoPacket(); |