reduce the kills sent, hide attachments kills on origin
parent
f8e4805d98
commit
96de2a2fd2
|
@ -1782,10 +1782,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
// Unlike a teleport, here we do not wait for the destination region to confirm the receipt.
|
// Unlike a teleport, here we do not wait for the destination region to confirm the receipt.
|
||||||
m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp);
|
m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp);
|
||||||
|
|
||||||
AgentHasMovedAway(agent, false);
|
AgentHasMovedAway(agent, true);
|
||||||
|
|
||||||
KillEntity(agent.Scene, agent.LocalId);
|
agent.parcelRegionCross();
|
||||||
// agent.parcelRegionCross(false);
|
|
||||||
|
|
||||||
agent.MakeChildAgent();
|
agent.MakeChildAgent();
|
||||||
|
|
||||||
|
|
|
@ -5503,8 +5503,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
if (p.GodLevel < 200)
|
if (p.GodLevel < 200)
|
||||||
killsToSendto.Add(p);
|
killsToSendto.Add(p);
|
||||||
if (GodLevel < 200 && p.ParcelHideThisAvatar)
|
// if (GodLevel < 200 && p.ParcelHideThisAvatar)
|
||||||
killsToSendme.Add(p.LocalId);
|
// killsToSendme.Add(p.LocalId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -5567,89 +5567,34 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
public void parcelRegionCross(bool abort)
|
public void parcelRegionCross()
|
||||||
{
|
{
|
||||||
// if (!ParcelHideThisAvatar)
|
if (!ParcelHideThisAvatar || GodLevel >= 200)
|
||||||
// return;
|
return;
|
||||||
|
|
||||||
List<ScenePresence> allpresences = null;
|
List<ScenePresence> allpresences = null;
|
||||||
allpresences = m_scene.GetScenePresences();
|
allpresences = m_scene.GetScenePresences();
|
||||||
|
|
||||||
// abort no longer complet
|
List<uint> killsToSendme = new List<uint>();
|
||||||
if (abort)
|
|
||||||
|
foreach (ScenePresence p in allpresences)
|
||||||
{
|
{
|
||||||
List<ScenePresence> viewsToSendme = new List<ScenePresence>();
|
if (p.IsDeleted || p == this || p.ControllingClient == null || !p.ControllingClient.IsActive)
|
||||||
|
continue;
|
||||||
|
|
||||||
foreach (ScenePresence p in allpresences)
|
if (p.currentParcelUUID == m_currentParcelUUID)
|
||||||
{
|
{
|
||||||
if (p.IsDeleted || p == this || p.ControllingClient == null || !p.ControllingClient.IsActive)
|
killsToSendme.Add(p.LocalId);
|
||||||
continue;
|
|
||||||
|
|
||||||
if (p.currentParcelUUID == m_currentParcelUUID)
|
|
||||||
{
|
|
||||||
viewsToSendme.Add(p);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (viewsToSendme.Count > 0)
|
|
||||||
{
|
|
||||||
foreach (ScenePresence p in viewsToSendme)
|
|
||||||
{
|
|
||||||
if (p.IsChildAgent)
|
|
||||||
continue;
|
|
||||||
// m_log.Debug("[AVATAR]: viewMe: " + Lastname + " " + p.Lastname);
|
|
||||||
ControllingClient.SendAvatarDataImmediate(p);
|
|
||||||
p.SendAppearanceToAgent(this);
|
|
||||||
p.SendAttachmentsToClient(ControllingClient);
|
|
||||||
if (p.Animator != null)
|
|
||||||
p.Animator.SendAnimPackToClient(ControllingClient);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
if (killsToSendme.Count > 0)
|
||||||
{
|
{
|
||||||
|
try
|
||||||
bool inprivate = ParcelHideThisAvatar && GodLevel < 200;
|
|
||||||
List<uint> killsToSendme = new List<uint>();
|
|
||||||
|
|
||||||
if (inprivate)
|
|
||||||
{
|
{
|
||||||
foreach (ScenePresence p in allpresences)
|
ControllingClient.SendKillObject(killsToSendme);
|
||||||
{
|
|
||||||
if (p.IsDeleted || p == this || p.ControllingClient == null || !p.ControllingClient.IsActive)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (p.currentParcelUUID == m_currentParcelUUID)
|
|
||||||
{
|
|
||||||
m_log.Debug("[AVATAR]: killMe: " + Lastname + " " + p.Lastname);
|
|
||||||
killsToSendme.Add(p.LocalId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
/*
|
catch (NullReferenceException) { }
|
||||||
else
|
|
||||||
{
|
|
||||||
foreach (ScenePresence p in allpresences)
|
|
||||||
{
|
|
||||||
if (p.IsDeleted || p == this || p.ControllingClient == null || !p.ControllingClient.IsActive)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
killsToSendme.Add(p.LocalId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
if (killsToSendme.Count > 0)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
ControllingClient.SendKillObject(killsToSendme);
|
|
||||||
}
|
|
||||||
catch (NullReferenceException) { }
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Scene.AttachmentsModule != null)
|
|
||||||
Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue