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
m_log.Warn("[CLIENT]: unhandled InventoryDescent packet");
break;
case PacketType.GetScriptRunning:
m_log.Warn("[CLIENT]: unhandled GetScriptRunning packet");
break;
default:
m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString());
break;

View File

@ -454,6 +454,19 @@ namespace OpenSim.Region.ScriptEngine.Common
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;
}
@ -1974,7 +1987,7 @@ namespace OpenSim.Region.ScriptEngine.Common
object[] resobj = new object[]
{
m_host.LinkNum, num, msg, id
m_host.LinkNum + 1, num, msg, id
};
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@ -2001,7 +2014,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID;
Object[] resobj = new object[]
{
m_host.LinkNum, num, msg, id
m_host.LinkNum + 1, num, msg, id
};
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@ -2029,7 +2042,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID;
Object[] resobj = new object[]
{
m_host.LinkNum, num, msg, id
m_host.LinkNum + 1, num, msg, id
};
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@ -2059,7 +2072,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID;
Object[] resobj = new object[]
{
m_host.LinkNum, num, msg, id
m_host.LinkNum + 1, num, msg, id
};
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@ -2077,7 +2090,7 @@ namespace OpenSim.Region.ScriptEngine.Common
Object[] respObjThis = new object[]
{
m_host.LinkNum, num, msg, id
m_host.LinkNum + 1, num, msg, id
};
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@ -2102,7 +2115,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID;
Object[] resObjDef = new object[]
{
m_host.LinkNum, num, msg, id
m_host.LinkNum + 1, num, msg, id
};
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)
{
// 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)