diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api_Base.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api_Base.cs index 26db6afaa9..1404701dec 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api_Base.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api_Base.cs @@ -1042,7 +1042,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void llSetClickAction(int action) { m_host.AddScriptLPS(1); - NotImplemented("llSetClickAction"); + m_host.ClickAction = (byte)action; + if (m_host.ParentGroup != null) m_host.ParentGroup.HasGroupChanged = true; + m_host.ScheduleFullUpdate(); return; } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs index 3194537adc..2c5c0b3401 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs @@ -481,5 +481,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase public const int PARCEL_DETAILS_OWNER = 2; public const int PARCEL_DETAILS_GROUP = 3; public const int PARCEL_DETAILS_AREA = 4; + + // constants for llSetClickAction + public const int CLICK_ACTION_NONE = 0; + public const int CLICK_ACTION_TOUCH = 0; + public const int CLICK_ACTION_SIT = 1; + public const int CLICK_ACTION_BUY = 2; + public const int CLICK_ACTION_PAY = 3; + public const int CLICK_ACTION_OPEN = 4; + public const int CLICK_ACTION_PLAY = 5; + public const int CLICK_ACTION_OPEN_MEDIA = 6; } }