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 3a229c2..df8de19 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -2812,7 +2812,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2812 | public void llCollisionFilter(string name, string id, int accept) | 2812 | public void llCollisionFilter(string name, string id, int accept) |
2813 | { | 2813 | { |
2814 | m_host.AddScriptLPS(1); | 2814 | m_host.AddScriptLPS(1); |
2815 | NotImplemented("llCollisionFilter"); | 2815 | m_host.CollisionFilter.Clear(); |
2816 | if(id != null) | ||
2817 | { | ||
2818 | m_host.CollisionFilter.Add(accept,id); | ||
2819 | } | ||
2820 | else | ||
2821 | { | ||
2822 | m_host.CollisionFilter.Add(accept,name); | ||
2823 | } | ||
2816 | } | 2824 | } |
2817 | 2825 | ||
2818 | public void llTakeControls(int controls, int accept, int pass_on) | 2826 | public void llTakeControls(int controls, int accept, int pass_on) |
@@ -4333,7 +4341,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4333 | public void llPassCollisions(int pass) | 4341 | public void llPassCollisions(int pass) |
4334 | { | 4342 | { |
4335 | m_host.AddScriptLPS(1); | 4343 | m_host.AddScriptLPS(1); |
4336 | NotImplemented("llPassCollisions"); | 4344 | if(pass == 0) |
4345 | { | ||
4346 | m_host.ParentGroup.PassCollision = false; | ||
4347 | } | ||
4348 | else | ||
4349 | { | ||
4350 | m_host.ParentGroup.PassCollision = true; | ||
4351 | } | ||
4337 | } | 4352 | } |
4338 | 4353 | ||
4339 | public LSL_String llGetScriptName() | 4354 | public LSL_String llGetScriptName() |