avoid siting a avatar at 0,0,0
parent
34dce801b2
commit
38fb28bd68
|
@ -3335,11 +3335,16 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
Velocity = Vector3.Zero;
|
Velocity = Vector3.Zero;
|
||||||
m_AngularVelocity = Vector3.Zero;
|
m_AngularVelocity = Vector3.Zero;
|
||||||
|
|
||||||
|
m_requestedSitTargetID = 0;
|
||||||
|
part.AddSittingAvatar(this);
|
||||||
|
|
||||||
|
ParentPart = part;
|
||||||
|
ParentID = part.LocalId;
|
||||||
|
|
||||||
Vector3 cameraAtOffset = part.GetCameraAtOffset();
|
Vector3 cameraAtOffset = part.GetCameraAtOffset();
|
||||||
Vector3 cameraEyeOffset = part.GetCameraEyeOffset();
|
Vector3 cameraEyeOffset = part.GetCameraEyeOffset();
|
||||||
bool forceMouselook = part.GetForceMouselook();
|
bool forceMouselook = part.GetForceMouselook();
|
||||||
|
|
||||||
|
|
||||||
if (!part.IsRoot)
|
if (!part.IsRoot)
|
||||||
{
|
{
|
||||||
Orientation = part.RotationOffset * Orientation;
|
Orientation = part.RotationOffset * Orientation;
|
||||||
|
@ -3367,12 +3372,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
part.ParentGroup.UUID, offset, Orientation, true, cameraAtOffset, cameraEyeOffset, forceMouselook);
|
part.ParentGroup.UUID, offset, Orientation, true, cameraAtOffset, cameraEyeOffset, forceMouselook);
|
||||||
|
|
||||||
|
|
||||||
m_requestedSitTargetID = 0;
|
|
||||||
part.AddSittingAvatar(this);
|
|
||||||
|
|
||||||
ParentPart = part;
|
|
||||||
ParentID = part.LocalId;
|
|
||||||
|
|
||||||
SendAvatarDataToAllAgents();
|
SendAvatarDataToAllAgents();
|
||||||
|
|
||||||
if (status == 3)
|
if (status == 3)
|
||||||
|
@ -5560,6 +5559,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public void HandleForceReleaseControls(IClientAPI remoteClient, UUID agentID)
|
public void HandleForceReleaseControls(IClientAPI remoteClient, UUID agentID)
|
||||||
{
|
{
|
||||||
|
foreach (ScriptControllers c in scriptedcontrols.Values)
|
||||||
|
{
|
||||||
|
SceneObjectGroup sog = m_scene.GetSceneObjectGroup(c.objectID);
|
||||||
|
if(sog != null && !sog.IsDeleted && sog.RootPart.PhysActor != null)
|
||||||
|
sog.RootPart.PhysActor.OnPhysicsRequestingCameraData -= physActor_OnPhysicsRequestingCameraData;
|
||||||
|
}
|
||||||
|
|
||||||
IgnoredControls = ScriptControlled.CONTROL_ZERO;
|
IgnoredControls = ScriptControlled.CONTROL_ZERO;
|
||||||
lock (scriptedcontrols)
|
lock (scriptedcontrols)
|
||||||
{
|
{
|
||||||
|
@ -5568,6 +5574,26 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
ControllingClient.SendTakeControls(int.MaxValue, false, false);
|
ControllingClient.SendTakeControls(int.MaxValue, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void HandleRevokePermissions(UUID objectID, uint permissions )
|
||||||
|
{
|
||||||
|
|
||||||
|
// still skeleton code
|
||||||
|
if((permissions & (16 | 0x8000 )) == 0) //PERMISSION_TRIGGER_ANIMATION | PERMISSION_OVERRIDE_ANIMATIONS
|
||||||
|
return;
|
||||||
|
if(objectID == m_scene.RegionInfo.RegionID) // for all objects
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SceneObjectPart part = m_scene.GetSceneObjectPart(objectID);
|
||||||
|
if(part != null)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void ClearControls()
|
public void ClearControls()
|
||||||
{
|
{
|
||||||
IgnoredControls = ScriptControlled.CONTROL_ZERO;
|
IgnoredControls = ScriptControlled.CONTROL_ZERO;
|
||||||
|
|
Loading…
Reference in New Issue