diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 6102504..d242506 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -2752,7 +2752,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2752 | public void llCollisionFilter(string name, string id, int accept) | 2752 | public void llCollisionFilter(string name, string id, int accept) |
2753 | { | 2753 | { |
2754 | m_host.AddScriptLPS(1); | 2754 | m_host.AddScriptLPS(1); |
2755 | NotImplemented("llCollisionFilter"); | 2755 | m_host.CollisionFilter.Clear(); |
2756 | if(id != null) | ||
2757 | { | ||
2758 | m_host.CollisionFilter.Add(accept,id); | ||
2759 | } | ||
2760 | else | ||
2761 | { | ||
2762 | m_host.CollisionFilter.Add(accept,name); | ||
2763 | } | ||
2756 | } | 2764 | } |
2757 | 2765 | ||
2758 | public void llTakeControls(int controls, int accept, int pass_on) | 2766 | public void llTakeControls(int controls, int accept, int pass_on) |
@@ -4232,7 +4240,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4232 | public void llPassCollisions(int pass) | 4240 | public void llPassCollisions(int pass) |
4233 | { | 4241 | { |
4234 | m_host.AddScriptLPS(1); | 4242 | m_host.AddScriptLPS(1); |
4235 | NotImplemented("llPassCollisions"); | 4243 | if(pass == 0) |
4244 | { | ||
4245 | m_host.ParentGroup.PassCollision = false; | ||
4246 | } | ||
4247 | else | ||
4248 | { | ||
4249 | m_host.ParentGroup.PassCollision = true; | ||
4250 | } | ||
4236 | } | 4251 | } |
4237 | 4252 | ||
4238 | public LSL_String llGetScriptName() | 4253 | public LSL_String llGetScriptName() |