diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/DotNetEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs index eeecd21..fb521df 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs | |||
@@ -2162,13 +2162,21 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
2162 | 2162 | ||
2163 | public void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot) | 2163 | public void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot) |
2164 | { | 2164 | { |
2165 | NotImplemented("llSitTarget"); | 2165 | // LSL quaternions can normalize to 0, normal Quaternions can't. |
2166 | if (rot.s == 0 && rot.x == 0 && rot.y == 0 && rot.z == 0) | ||
2167 | rot.z = 1; // ZERO_ROTATION = 0,0,0,1 | ||
2168 | |||
2169 | m_host.SetSitTarget(new Vector3((float)offset.x, (float)offset.y, (float)offset.z), new Quaternion((float)rot.s, (float)rot.x, (float)rot.y, (float)rot.z)); | ||
2166 | } | 2170 | } |
2167 | 2171 | ||
2168 | public string llAvatarOnSitTarget() | 2172 | public string llAvatarOnSitTarget() |
2169 | { | 2173 | { |
2170 | NotImplemented("llAvatarOnSitTarget"); | 2174 | LLUUID AVID = m_host.GetAvatarOnSitTarget(); |
2171 | return ""; | 2175 | |
2176 | if (AVID != LLUUID.Zero) | ||
2177 | return AVID.ToString(); | ||
2178 | else | ||
2179 | return ""; | ||
2172 | } | 2180 | } |
2173 | 2181 | ||
2174 | public void llAddToLandPassList(string avatar, double hours) | 2182 | public void llAddToLandPassList(string avatar, double hours) |