diff options
author | UbitUmarov | 2014-08-21 22:42:45 +0100 |
---|---|---|
committer | UbitUmarov | 2014-08-21 22:42:45 +0100 |
commit | 6674548af006484da0d213f2775b9406a163f31f (patch) | |
tree | ce39d712afc5e44db4d41b6dea68e8b2467e0be2 /OpenSim | |
parent | some cleanup.. (diff) | |
download | opensim-SC-6674548af006484da0d213f2775b9406a163f31f.zip opensim-SC-6674548af006484da0d213f2775b9406a163f31f.tar.gz opensim-SC-6674548af006484da0d213f2775b9406a163f31f.tar.bz2 opensim-SC-6674548af006484da0d213f2775b9406a163f31f.tar.xz |
replace AgentHasMovedAway + KillEntity by a hacked version on teleports
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 11 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 11 |
2 files changed, 17 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index d5eca03..781fc40 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -981,10 +981,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
981 | 981 | ||
982 | // May need to logout or other cleanup | 982 | // May need to logout or other cleanup |
983 | // AgentHasMovedAway(sp, logout); | 983 | // AgentHasMovedAway(sp, logout); |
984 | AgentHasMovedAway(sp, true); // until logout use is checked | 984 | // AgentHasMovedAway(sp, true); // until logout use is checked |
985 | 985 | ||
986 | // Well, this is it. The agent is over there. | 986 | // Well, this is it. The agent is over there. |
987 | KillEntity(sp.Scene, sp.LocalId); | 987 | // KillEntity(sp.Scene, sp.LocalId); |
988 | |||
989 | sp.HasMovedAway(); | ||
988 | 990 | ||
989 | // Now let's make it officially a child agent | 991 | // Now let's make it officially a child agent |
990 | sp.MakeChildAgent(); | 992 | sp.MakeChildAgent(); |
@@ -1147,12 +1149,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1147 | // abandoned without proper close by viewer but then re-used by an incoming connection. | 1149 | // abandoned without proper close by viewer but then re-used by an incoming connection. |
1148 | sp.CloseChildAgents(newRegionX, newRegionY); | 1150 | sp.CloseChildAgents(newRegionX, newRegionY); |
1149 | 1151 | ||
1152 | sp.HasMovedAway(); | ||
1150 | // May need to logout or other cleanup | 1153 | // May need to logout or other cleanup |
1151 | // AgentHasMovedAway(sp, logout); | 1154 | // AgentHasMovedAway(sp, logout); |
1152 | AgentHasMovedAway(sp, true); | 1155 | // AgentHasMovedAway(sp, true); |
1153 | 1156 | ||
1154 | // Well, this is it. The agent is over there. | 1157 | // Well, this is it. The agent is over there. |
1155 | KillEntity(sp.Scene, sp.LocalId); | 1158 | // KillEntity(sp.Scene, sp.LocalId); |
1156 | 1159 | ||
1157 | // Now let's make it officially a child agent | 1160 | // Now let's make it officially a child agent |
1158 | sp.MakeChildAgent(); | 1161 | sp.MakeChildAgent(); |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index c46a5ad..f9266b4 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -5652,7 +5652,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
5652 | 5652 | ||
5653 | public void parcelRegionCross() | 5653 | public void parcelRegionCross() |
5654 | { | 5654 | { |
5655 | if (!ParcelHideThisAvatar || IsChildAgent || GodLevel >= 200) | 5655 | if (!ParcelHideThisAvatar || GodLevel >= 200) |
5656 | return; | 5656 | return; |
5657 | 5657 | ||
5658 | List<ScenePresence> allpresences = null; | 5658 | List<ScenePresence> allpresences = null; |
@@ -5846,6 +5846,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
5846 | } | 5846 | } |
5847 | } | 5847 | } |
5848 | 5848 | ||
5849 | public void HasMovedAway() | ||
5850 | { | ||
5851 | List<ScenePresence> allpresences = m_scene.GetScenePresences(); | ||
5852 | foreach (ScenePresence p in allpresences) | ||
5853 | SendKillTo(p); | ||
5854 | if (Scene.AttachmentsModule != null) | ||
5855 | Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true); | ||
5856 | } | ||
5857 | |||
5849 | public void SendKillTo(ScenePresence p) | 5858 | public void SendKillTo(ScenePresence p) |
5850 | { | 5859 | { |
5851 | foreach (SceneObjectGroup sog in m_attachments) | 5860 | foreach (SceneObjectGroup sog in m_attachments) |