diff options
5 files changed, 36 insertions, 0 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 9df1e00..1c38011 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -298,6 +298,7 @@ namespace OpenSim.Framework | |||
298 | public delegate void EstateBlueBoxMessageRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message); | 298 | public delegate void EstateBlueBoxMessageRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message); |
299 | public delegate void EstateDebugRegionRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, bool scripted, bool collisionEvents, bool physics); | 299 | public delegate void EstateDebugRegionRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, bool scripted, bool collisionEvents, bool physics); |
300 | public delegate void EstateTeleportOneUserHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID prey); | 300 | public delegate void EstateTeleportOneUserHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID prey); |
301 | public delegate void EstateTeleportAllUsersHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID); | ||
301 | public delegate void RegionHandleRequest(IClientAPI remoteClient, UUID regionID); | 302 | public delegate void RegionHandleRequest(IClientAPI remoteClient, UUID regionID); |
302 | public delegate void ParcelInfoRequest(IClientAPI remoteClient, UUID parcelID); | 303 | public delegate void ParcelInfoRequest(IClientAPI remoteClient, UUID parcelID); |
303 | 304 | ||
@@ -518,6 +519,7 @@ namespace OpenSim.Framework | |||
518 | event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; | 519 | event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; |
519 | event EstateDebugRegionRequest OnEstateDebugRegionRequest; | 520 | event EstateDebugRegionRequest OnEstateDebugRegionRequest; |
520 | event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; | 521 | event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; |
522 | event EstateTeleportAllUsersHomeRequest OnEstateTeleportAllUsersHomeRequest; | ||
521 | event UUIDNameRequest OnUUIDGroupNameRequest; | 523 | event UUIDNameRequest OnUUIDGroupNameRequest; |
522 | 524 | ||
523 | event RegionHandleRequest OnRegionHandleRequest; | 525 | event RegionHandleRequest OnRegionHandleRequest; |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index c8923e0..72d2a76 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -965,6 +965,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
965 | public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; | 965 | public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; |
966 | public event EstateDebugRegionRequest OnEstateDebugRegionRequest; | 966 | public event EstateDebugRegionRequest OnEstateDebugRegionRequest; |
967 | public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; | 967 | public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; |
968 | public event EstateTeleportAllUsersHomeRequest OnEstateTeleportAllUsersHomeRequest; | ||
968 | public event RegionHandleRequest OnRegionHandleRequest; | 969 | public event RegionHandleRequest OnRegionHandleRequest; |
969 | public event ParcelInfoRequest OnParcelInfoRequest; | 970 | public event ParcelInfoRequest OnParcelInfoRequest; |
970 | public event ScriptReset OnScriptReset; | 971 | public event ScriptReset OnScriptReset; |
@@ -5877,6 +5878,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5877 | OnEstateTeleportOneUserHomeRequest(this, invoice, SenderID, Prey); | 5878 | OnEstateTeleportOneUserHomeRequest(this, invoice, SenderID, Prey); |
5878 | } | 5879 | } |
5879 | break; | 5880 | break; |
5881 | case "teleporthomeallusers": | ||
5882 | if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(this.AgentId, false)) | ||
5883 | { | ||
5884 | UUID invoice = messagePacket.MethodData.Invoice; | ||
5885 | UUID SenderID = messagePacket.AgentData.AgentID; | ||
5886 | OnEstateTeleportAllUsersHomeRequest(this, invoice, SenderID); | ||
5887 | } | ||
5888 | break; | ||
5880 | case "colliders": | 5889 | case "colliders": |
5881 | handlerLandStatRequest = OnLandStatRequest; | 5890 | handlerLandStatRequest = OnLandStatRequest; |
5882 | if (handlerLandStatRequest != null) | 5891 | if (handlerLandStatRequest != null) |
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs index 3dddc2b..616132b 100644 --- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs | |||
@@ -383,6 +383,28 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
383 | } | 383 | } |
384 | } | 384 | } |
385 | 385 | ||
386 | private void handleEstateTeleportAllUsersHomeRequest(IClientAPI remover_client, UUID invoice, UUID senderID) | ||
387 | { | ||
388 | // Get a fresh list that will not change as people get teleported away | ||
389 | List<ScenePresence> prescences = m_scene.GetScenePresences(); | ||
390 | foreach (ScenePresence p in prescences) | ||
391 | { | ||
392 | if (p.UUID != senderID) | ||
393 | { | ||
394 | // make sure they are still there, we could be working down a long list | ||
395 | ScenePresence s = m_scene.GetScenePresence(p.UUID); | ||
396 | if (s != null) | ||
397 | { | ||
398 | // Also make sure they are actually in the region | ||
399 | if (!s.IsChildAgent) | ||
400 | { | ||
401 | m_scene.TeleportClientHome(s.UUID, s.ControllingClient); | ||
402 | } | ||
403 | } | ||
404 | } | ||
405 | } | ||
406 | } | ||
407 | |||
386 | private void HandleRegionInfoRequest(IClientAPI remote_client) | 408 | private void HandleRegionInfoRequest(IClientAPI remote_client) |
387 | { | 409 | { |
388 | 410 | ||
@@ -723,6 +745,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
723 | client.OnEstateBlueBoxMessageRequest += SendEstateBlueBoxMessage; | 745 | client.OnEstateBlueBoxMessageRequest += SendEstateBlueBoxMessage; |
724 | client.OnEstateDebugRegionRequest += handleEstateDebugRegionRequest; | 746 | client.OnEstateDebugRegionRequest += handleEstateDebugRegionRequest; |
725 | client.OnEstateTeleportOneUserHomeRequest += handleEstateTeleportOneUserHomeRequest; | 747 | client.OnEstateTeleportOneUserHomeRequest += handleEstateTeleportOneUserHomeRequest; |
748 | client.OnEstateTeleportAllUsersHomeRequest += handleEstateTeleportAllUsersHomeRequest; | ||
726 | 749 | ||
727 | client.OnRegionInfoRequest += HandleRegionInfoRequest; | 750 | client.OnRegionInfoRequest += HandleRegionInfoRequest; |
728 | client.OnEstateCovenantRequest += HandleEstateCovenantRequest; | 751 | client.OnEstateCovenantRequest += HandleEstateCovenantRequest; |
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs index 8c76884..9476571 100644 --- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs | |||
@@ -305,6 +305,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
305 | public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; | 305 | public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; |
306 | public event EstateDebugRegionRequest OnEstateDebugRegionRequest; | 306 | public event EstateDebugRegionRequest OnEstateDebugRegionRequest; |
307 | public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; | 307 | public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; |
308 | public event EstateTeleportAllUsersHomeRequest OnEstateTeleportAllUsersHomeRequest; | ||
308 | public event EstateChangeInfo OnEstateChangeInfo; | 309 | public event EstateChangeInfo OnEstateChangeInfo; |
309 | public event ScriptReset OnScriptReset; | 310 | public event ScriptReset OnScriptReset; |
310 | public event GetScriptRunning OnGetScriptRunning; | 311 | public event GetScriptRunning OnGetScriptRunning; |
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 92a96f9..1967318 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -201,6 +201,7 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
201 | public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; | 201 | public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; |
202 | public event EstateDebugRegionRequest OnEstateDebugRegionRequest; | 202 | public event EstateDebugRegionRequest OnEstateDebugRegionRequest; |
203 | public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; | 203 | public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; |
204 | public event EstateTeleportAllUsersHomeRequest OnEstateTeleportAllUsersHomeRequest; | ||
204 | public event ScriptReset OnScriptReset; | 205 | public event ScriptReset OnScriptReset; |
205 | public event GetScriptRunning OnGetScriptRunning; | 206 | public event GetScriptRunning OnGetScriptRunning; |
206 | public event SetScriptRunning OnSetScriptRunning; | 207 | public event SetScriptRunning OnSetScriptRunning; |