on TPs to nearby regions, only send kills if needed by parcel privacy
							parent
							
								
									92b0b27caf
								
							
						
					
					
						commit
						620443f858
					
				|  | @ -986,7 +986,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
|             // Well, this is it. The agent is over there. | ||||
| //            KillEntity(sp.Scene, sp.LocalId); | ||||
| 
 | ||||
|             sp.HasMovedAway(); | ||||
|             bool nearRegion = sp.KnownRegions.ContainsKey(destinationHandle); | ||||
|             sp.HasMovedAway(nearRegion); | ||||
| 
 | ||||
|             // Now let's make it officially a child agent | ||||
|             sp.MakeChildAgent(); | ||||
|  | @ -1141,7 +1142,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
|              | ||||
|             m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); | ||||
| 
 | ||||
|             sp.HasMovedAway(); | ||||
|             bool nearRegion = sp.KnownRegions.ContainsKey(destinationHandle); | ||||
|             sp.HasMovedAway(nearRegion); | ||||
| 
 | ||||
|             // Need to signal neighbours whether child agents may need closing irrespective of whether this | ||||
|             // one needed closing.  We also need to close child agents as quickly as possible to avoid complicated | ||||
|  | @ -1784,9 +1786,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
|             m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp); | ||||
| 
 | ||||
|             // this may need the attachments | ||||
|             agent.parcelRegionCross(); | ||||
| 
 | ||||
|             AgentHasMovedAway(agent, true); | ||||
|             agent.HasMovedAway(true); | ||||
| //            agent.parcelRegionCross(); | ||||
| 
 | ||||
| //            AgentHasMovedAway(agent, true); | ||||
| 
 | ||||
|             agent.MakeChildAgent(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -5962,7 +5962,27 @@ namespace OpenSim.Region.Framework.Scenes | |||
|             } | ||||
|         } | ||||
| 
 | ||||
|         public void HasMovedAway() | ||||
|         public void HasMovedAway(bool nearRegion) | ||||
|         { | ||||
| 
 | ||||
|             if (nearRegion) | ||||
|             { | ||||
|                 if (!ParcelHideThisAvatar || GodLevel >= 200) | ||||
|                     return; | ||||
| 
 | ||||
|                 List<ScenePresence> allpresences = m_scene.GetScenePresences(); | ||||
|                 foreach (ScenePresence p in allpresences) | ||||
|                 { | ||||
|                     if (p.IsDeleted || p == this || p.IsChildAgent || p.ControllingClient == null || !p.ControllingClient.IsActive) | ||||
|                         continue; | ||||
| 
 | ||||
|                     if (p.currentParcelUUID == m_currentParcelUUID) | ||||
|                     { | ||||
|                         p.SendKillTo(this); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 List<ScenePresence> allpresences = m_scene.GetScenePresences(); | ||||
|                 foreach (ScenePresence p in allpresences) | ||||
|  | @ -5973,7 +5993,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|                     if (!p.IsChildAgent) | ||||
|                         p.SendKillTo(this); | ||||
|                 } | ||||
| 
 | ||||
|             } | ||||
|             if (Scene.AttachmentsModule != null) | ||||
|                 Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true); | ||||
|         } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 UbitUmarov
						UbitUmarov