From: Michael Osias <mosias@us.ibm.com>

"This is llDetectedKey for touch_start - it is already implemented for sensor."
Thanks Michael
0.6.0-stable
Justin Clarke Casey 2008-04-09 15:33:04 +00:00
parent f512502e51
commit f9646a0c81
3 changed files with 26 additions and 7 deletions

View File

@ -4442,6 +4442,9 @@ namespace OpenSim.Region.ClientStack
// TODO: handle this packet // TODO: handle this packet
m_log.Warn("[CLIENT]: unhandled InventoryDescent packet"); m_log.Warn("[CLIENT]: unhandled InventoryDescent packet");
break; break;
case PacketType.GetScriptRunning:
m_log.Warn("[CLIENT]: unhandled GetScriptRunning packet");
break;
default: default:
m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString()); m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString());
break; break;

View File

@ -454,6 +454,19 @@ namespace OpenSim.Region.ScriptEngine.Common
return SensedUUID; return SensedUUID;
} }
} }
else
{
ScriptManager sm;
IScript script = null;
if ((sm = m_ScriptEngine.m_ScriptManager) != null)
if (sm.Scripts.ContainsKey(m_localID))
if ((script = sm.GetScript(m_localID, m_itemID)) != null)
if (script.llDetectParams._key[0] != null)
return new LLUUID(
script.llDetectParams._key[0]
);
}
return LLUUID.Zero; return LLUUID.Zero;
} }
@ -1974,7 +1987,7 @@ namespace OpenSim.Region.ScriptEngine.Common
object[] resobj = new object[] object[] resobj = new object[]
{ {
m_host.LinkNum, num, msg, id m_host.LinkNum + 1, num, msg, id
}; };
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@ -2001,7 +2014,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID; partItemID = item.ItemID;
Object[] resobj = new object[] Object[] resobj = new object[]
{ {
m_host.LinkNum, num, msg, id m_host.LinkNum + 1, num, msg, id
}; };
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@ -2029,7 +2042,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID; partItemID = item.ItemID;
Object[] resobj = new object[] Object[] resobj = new object[]
{ {
m_host.LinkNum, num, msg, id m_host.LinkNum + 1, num, msg, id
}; };
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@ -2059,7 +2072,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID; partItemID = item.ItemID;
Object[] resobj = new object[] Object[] resobj = new object[]
{ {
m_host.LinkNum, num, msg, id m_host.LinkNum + 1, num, msg, id
}; };
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@ -2077,7 +2090,7 @@ namespace OpenSim.Region.ScriptEngine.Common
Object[] respObjThis = new object[] Object[] respObjThis = new object[]
{ {
m_host.LinkNum, num, msg, id m_host.LinkNum + 1, num, msg, id
}; };
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@ -2102,7 +2115,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID; partItemID = item.ItemID;
Object[] resObjDef = new object[] Object[] resObjDef = new object[]
{ {
m_host.LinkNum, num, msg, id m_host.LinkNum + 1, num, msg, id
}; };
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue( m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(

View File

@ -90,7 +90,10 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
public void touch_start(uint localID, LLVector3 offsetPos, IClientAPI remoteClient) public void touch_start(uint localID, LLVector3 offsetPos, IClientAPI remoteClient)
{ {
// Add to queue for all scripts in ObjectID object // Add to queue for all scripts in ObjectID object
myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "touch_start", EventQueueManager.llDetectNull, new object[] { (int)1 }); EventQueueManager.Queue_llDetectParams_Struct detstruct = new EventQueueManager.Queue_llDetectParams_Struct();
detstruct._key = new LSL_Types.key[1];
detstruct._key[0] = new LSL_Types.key(remoteClient.AgentId.ToString());
myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "touch_start", detstruct, new object[] { (int)1 });
} }
public void OnRezScript(uint localID, LLUUID itemID, string script) public void OnRezScript(uint localID, LLUUID itemID, string script)