aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs27
1 files changed, 19 insertions, 8 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 7d90a68..515d0ea 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -3912,7 +3912,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3912 return false; 3912 return false;
3913 } 3913 }
3914 3914
3915 public void SendEstateManagersList(UUID invoice, UUID[] EstateManagers, uint estateID) 3915 public void SendEstateList(UUID invoice, int code, UUID[] Data, uint estateID)
3916
3916 { 3917 {
3917 EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket(); 3918 EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
3918 packet.AgentData.TransactionID = UUID.Random(); 3919 packet.AgentData.TransactionID = UUID.Random();
@@ -3921,26 +3922,36 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3921 packet.MethodData.Invoice = invoice; 3922 packet.MethodData.Invoice = invoice;
3922 packet.MethodData.Method = Utils.StringToBytes("setaccess"); 3923 packet.MethodData.Method = Utils.StringToBytes("setaccess");
3923 3924
3924 EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + EstateManagers.Length]; 3925 EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + Data.Length];
3925 3926
3926 for (int i = 0; i < (6 + EstateManagers.Length); i++) 3927 for (int i = 0; i < (6 + Data.Length); i++)
3927 { 3928 {
3928 returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock(); 3929 returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock();
3929 } 3930 }
3930 int j = 0; 3931 int j = 0;
3931 3932
3932 returnblock[j].Parameter = Utils.StringToBytes(estateID.ToString()); j++; 3933 returnblock[j].Parameter = Utils.StringToBytes(estateID.ToString()); j++;
3933 returnblock[j].Parameter = Utils.StringToBytes(((int)Constants.EstateAccessCodex.EstateManagers).ToString()); j++; 3934 returnblock[j].Parameter = Utils.StringToBytes(code.ToString()); j++;
3935 returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
3934 returnblock[j].Parameter = Utils.StringToBytes("0"); j++; 3936 returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
3935 returnblock[j].Parameter = Utils.StringToBytes("0"); j++; 3937 returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
3936 returnblock[j].Parameter = Utils.StringToBytes("0"); j++; 3938 returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
3937 returnblock[j].Parameter = Utils.StringToBytes(EstateManagers.Length.ToString()); j++; 3939
3938 for (int i = 0; i < EstateManagers.Length; i++) 3940 j = 2; // Agents
3941 if ((code & 2) != 0)
3942 j = 3; // Groups
3943 if ((code & 8) != 0)
3944 j = 5; // Managers
3945
3946 returnblock[j].Parameter = Utils.StringToBytes(Data.Length.ToString());
3947 j = 6;
3948
3949 for (int i = 0; i < Data.Length; i++)
3939 { 3950 {
3940 returnblock[j].Parameter = EstateManagers[i].GetBytes(); j++; 3951 returnblock[j].Parameter = Data[i].GetBytes(); j++;
3941 } 3952 }
3942 packet.ParamList = returnblock; 3953 packet.ParamList = returnblock;
3943 packet.Header.Reliable = false; 3954 packet.Header.Reliable = true;
3944 OutPacket(packet, ThrottleOutPacketType.Task); 3955 OutPacket(packet, ThrottleOutPacketType.Task);
3945 } 3956 }
3946 3957