diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 25 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs | 5 |
2 files changed, 23 insertions, 7 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 1968f8e..03851b6 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | |||
@@ -454,6 +454,19 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
454 | return SensedUUID; | 454 | return SensedUUID; |
455 | } | 455 | } |
456 | } | 456 | } |
457 | else | ||
458 | { | ||
459 | ScriptManager sm; | ||
460 | IScript script = null; | ||
461 | |||
462 | if ((sm = m_ScriptEngine.m_ScriptManager) != null) | ||
463 | if (sm.Scripts.ContainsKey(m_localID)) | ||
464 | if ((script = sm.GetScript(m_localID, m_itemID)) != null) | ||
465 | if (script.llDetectParams._key[0] != null) | ||
466 | return new LLUUID( | ||
467 | script.llDetectParams._key[0] | ||
468 | ); | ||
469 | } | ||
457 | return LLUUID.Zero; | 470 | return LLUUID.Zero; |
458 | } | 471 | } |
459 | 472 | ||
@@ -1974,7 +1987,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
1974 | 1987 | ||
1975 | object[] resobj = new object[] | 1988 | object[] resobj = new object[] |
1976 | { | 1989 | { |
1977 | m_host.LinkNum, num, msg, id | 1990 | m_host.LinkNum + 1, num, msg, id |
1978 | }; | 1991 | }; |
1979 | 1992 | ||
1980 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 1993 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
@@ -2001,7 +2014,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
2001 | partItemID = item.ItemID; | 2014 | partItemID = item.ItemID; |
2002 | Object[] resobj = new object[] | 2015 | Object[] resobj = new object[] |
2003 | { | 2016 | { |
2004 | m_host.LinkNum, num, msg, id | 2017 | m_host.LinkNum + 1, num, msg, id |
2005 | }; | 2018 | }; |
2006 | 2019 | ||
2007 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 2020 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
@@ -2029,7 +2042,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
2029 | partItemID = item.ItemID; | 2042 | partItemID = item.ItemID; |
2030 | Object[] resobj = new object[] | 2043 | Object[] resobj = new object[] |
2031 | { | 2044 | { |
2032 | m_host.LinkNum, num, msg, id | 2045 | m_host.LinkNum + 1, num, msg, id |
2033 | }; | 2046 | }; |
2034 | 2047 | ||
2035 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 2048 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
@@ -2059,7 +2072,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
2059 | partItemID = item.ItemID; | 2072 | partItemID = item.ItemID; |
2060 | Object[] resobj = new object[] | 2073 | Object[] resobj = new object[] |
2061 | { | 2074 | { |
2062 | m_host.LinkNum, num, msg, id | 2075 | m_host.LinkNum + 1, num, msg, id |
2063 | }; | 2076 | }; |
2064 | 2077 | ||
2065 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 2078 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
@@ -2077,7 +2090,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
2077 | 2090 | ||
2078 | Object[] respObjThis = new object[] | 2091 | Object[] respObjThis = new object[] |
2079 | { | 2092 | { |
2080 | m_host.LinkNum, num, msg, id | 2093 | m_host.LinkNum + 1, num, msg, id |
2081 | }; | 2094 | }; |
2082 | 2095 | ||
2083 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 2096 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
@@ -2102,7 +2115,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
2102 | partItemID = item.ItemID; | 2115 | partItemID = item.ItemID; |
2103 | Object[] resObjDef = new object[] | 2116 | Object[] resObjDef = new object[] |
2104 | { | 2117 | { |
2105 | m_host.LinkNum, num, msg, id | 2118 | m_host.LinkNum + 1, num, msg, id |
2106 | }; | 2119 | }; |
2107 | 2120 | ||
2108 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( | 2121 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( |
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs index 763cc76..2f2b384 100644 --- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs +++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs | |||
@@ -90,7 +90,10 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
90 | public void touch_start(uint localID, LLVector3 offsetPos, IClientAPI remoteClient) | 90 | public void touch_start(uint localID, LLVector3 offsetPos, IClientAPI remoteClient) |
91 | { | 91 | { |
92 | // Add to queue for all scripts in ObjectID object | 92 | // Add to queue for all scripts in ObjectID object |
93 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "touch_start", EventQueueManager.llDetectNull, new object[] { (int)1 }); | 93 | EventQueueManager.Queue_llDetectParams_Struct detstruct = new EventQueueManager.Queue_llDetectParams_Struct(); |
94 | detstruct._key = new LSL_Types.key[1]; | ||
95 | detstruct._key[0] = new LSL_Types.key(remoteClient.AgentId.ToString()); | ||
96 | myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "touch_start", detstruct, new object[] { (int)1 }); | ||
94 | } | 97 | } |
95 | 98 | ||
96 | public void OnRezScript(uint localID, LLUUID itemID, string script) | 99 | public void OnRezScript(uint localID, LLUUID itemID, string script) |