diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 29 |
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: |