aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs7
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs29
2 files changed, 30 insertions, 6 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
index 94fd940..6879ebb 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
@@ -317,8 +317,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
317 comms.DeleteListener(itemID); 317 comms.DeleteListener(itemID);
318 318
319 IXMLRPC xmlrpc = engine.World.RequestModuleInterface<IXMLRPC>(); 319 IXMLRPC xmlrpc = engine.World.RequestModuleInterface<IXMLRPC>();
320 xmlrpc.DeleteChannels(itemID); 320 if (xmlrpc != null)
321 xmlrpc.CancelSRDRequests(itemID); 321 {
322 xmlrpc.DeleteChannels(itemID);
323 xmlrpc.CancelSRDRequests(itemID);
324 }
322 325
323 // Remove Sensors 326 // Remove Sensors
324 m_SensorRepeat[engine].UnSetSenseRepeaterEvents(localID, itemID); 327 m_SensorRepeat[engine].UnSetSenseRepeaterEvents(localID, itemID);
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 07b7123..3a9d0ff 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3013,7 +3013,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3013 } 3013 }
3014 3014
3015 bool result = money.ObjectGiveMoney( 3015 bool result = money.ObjectGiveMoney(
3016 m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount); 3016 m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount,UUID.Zero);
3017 3017
3018 if (result) 3018 if (result)
3019 return 1; 3019 return 1;
@@ -6384,7 +6384,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6384 } 6384 }
6385 else 6385 else
6386 { 6386 {
6387 agentSize = new LSL_Vector(0.45, 0.6, avatar.Appearance.AvatarHeight); 6387// agentSize = new LSL_Vector(0.45f, 0.6f, avatar.Appearance.AvatarHeight);
6388 Vector3 s = avatar.Appearance.AvatarSize;
6389 agentSize = new LSL_Vector(s.X, s.Y, s.Z);
6388 } 6390 }
6389 return agentSize; 6391 return agentSize;
6390 } 6392 }
@@ -8598,8 +8600,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
8598 // and standing avatar since server 1.36 8600 // and standing avatar since server 1.36
8599 LSL_Vector lower; 8601 LSL_Vector lower;
8600 LSL_Vector upper; 8602 LSL_Vector upper;
8603
8604 Vector3 box = presence.Appearance.AvatarBoxSize * 0.5f;
8605
8601 if (presence.Animator.Animations.ImplicitDefaultAnimation.AnimID 8606 if (presence.Animator.Animations.ImplicitDefaultAnimation.AnimID
8602 == DefaultAvatarAnimations.AnimsUUID["SIT_GROUND_CONSTRAINED"]) 8607 == DefaultAvatarAnimations.AnimsUUID["SIT_GROUND_CONSTRAINED"])
8608/*
8603 { 8609 {
8604 // This is for ground sitting avatars 8610 // This is for ground sitting avatars
8605 float height = presence.Appearance.AvatarHeight / 2.66666667f; 8611 float height = presence.Appearance.AvatarHeight / 2.66666667f;
@@ -8617,6 +8623,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
8617 // Adjust to the documented error offsets (see LSL Wiki) 8623 // Adjust to the documented error offsets (see LSL Wiki)
8618 lower += new LSL_Vector(0.05f, 0.05f, 0.05f); 8624 lower += new LSL_Vector(0.05f, 0.05f, 0.05f);
8619 upper -= new LSL_Vector(0.05f, 0.05f, 0.05f); 8625 upper -= new LSL_Vector(0.05f, 0.05f, 0.05f);
8626*/
8627 {
8628 // This is for ground sitting avatars TODO!
8629 lower = new LSL_Vector(-box.X - 0.1125, -box.Y, box.Z * -1.0f);
8630 upper = new LSL_Vector(box.X + 0.1125, box.Y, box.Z * -1.0f);
8631 }
8632 else
8633 {
8634 // This is for standing/flying avatars
8635 lower = new LSL_Vector(-box.X, -box.Y, -box.Z);
8636 upper = new LSL_Vector(box.X, box.Y, box.Z);
8637 }
8620 8638
8621 if (lower.x > upper.x) 8639 if (lower.x > upper.x)
8622 lower.x = upper.x; 8640 lower.x = upper.x;
@@ -12536,7 +12554,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
12536 } 12554 }
12537 12555
12538 bool result = money.ObjectGiveMoney( 12556 bool result = money.ObjectGiveMoney(
12539 m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount); 12557 m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount,UUID.Zero);
12540 12558
12541 if (result) 12559 if (result)
12542 { 12560 {
@@ -12938,7 +12956,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
12938 12956
12939 case (int)ScriptBaseClass.PRIM_SIZE: 12957 case (int)ScriptBaseClass.PRIM_SIZE:
12940 // as in llGetAgentSize above 12958 // as in llGetAgentSize above
12941 res.Add(new LSL_Vector(0.45f, 0.6f, avatar.Appearance.AvatarHeight)); 12959// res.Add(new LSL_Vector(0.45f, 0.6f, avatar.Appearance.AvatarHeight));
12960 Vector3 s = avatar.Appearance.AvatarSize;
12961 res.Add(new LSL_Vector(s.X, s.Y, s.Z));
12962
12942 break; 12963 break;
12943 12964
12944 case (int)ScriptBaseClass.PRIM_ROTATION: 12965 case (int)ScriptBaseClass.PRIM_ROTATION: