diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index f86c7e73e1..444cafc56f 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -75,8 +75,8 @@ LSL Devs Testers * Ai Austin -* Ckrinke * CharlieO (LSL) +* Ckrinke * openlifegrid.com diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index a74f304ea9..74935b2632 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs @@ -4691,8 +4691,18 @@ namespace OpenSim.Region.ScriptEngine.Common public LSL_Types.Vector3 llGetAgentSize(string id) { m_host.AddScriptLPS(1); - NotImplemented("llGetAgentSize"); - return new LSL_Types.Vector3(); + ScenePresence avatar = World.GetScenePresence(id); + LSL_Types.Vector3 agentSize; + if (avatar == null) + { + agentSize = BuiltIn_Commands_BaseClass.ZERO_VECTOR; + } + else + { + PhysicsVector size = avatar.PhysicsActor.Size; + agentSize = new LSL_Types.Vector3(size.X, size.Y, size.Z); + } + return agentSize; } public LSL_Types.LSLInteger llSameGroup(string agent) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 249b4dd0ad..986439484d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -4536,8 +4536,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Types.Vector3 llGetAgentSize(string id) { m_host.AddScriptLPS(1); - NotImplemented("llGetAgentSize"); - return new LSL_Types.Vector3(); + ScenePresence avatar = World.GetScenePresence(id); + LSL_Types.Vector3 agentSize; + if (avatar == null) + { + agentSize = ScriptBaseClass.ZERO_VECTOR; + } + else + { + PhysicsVector size = avatar.PhysicsActor.Size; + agentSize = new LSL_Types.Vector3(size.X, size.Y, size.Z); + } + return agentSize; } public LSL_Types.LSLInteger llSameGroup(string agent)