Thanks to Alondria for:
llResetScript() is now functional. With this patch, Kan-script 0000003 should run. Noted the llListen(0,"","","") errored due to "" != UUID - patched to set to NULL_KEY which then works to listen to everything.afrisby
parent
100fb6a0b1
commit
a0a189aed2
|
@ -292,6 +292,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
||||||
|
|
||||||
public int llListen(int channelID, string name, string ID, string msg)
|
public int llListen(int channelID, string name, string ID, string msg)
|
||||||
{
|
{
|
||||||
|
if (ID == "")
|
||||||
|
{
|
||||||
|
ID = LLUUID.Zero.ToString();
|
||||||
|
}
|
||||||
IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>();
|
IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>();
|
||||||
return wComm.Listen(m_localID, m_itemID, m_host.UUID, channelID, name, ID, msg);
|
return wComm.Listen(m_localID, m_itemID, m_host.UUID, channelID, name, ID, msg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,18 +127,16 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
{
|
{
|
||||||
if (loadQueue.Count == 0 && unloadQueue.Count == 0)
|
if (loadQueue.Count == 0 && unloadQueue.Count == 0)
|
||||||
Thread.Sleep(scriptLoadUnloadThread_IdleSleepms);
|
Thread.Sleep(scriptLoadUnloadThread_IdleSleepms);
|
||||||
|
|
||||||
if (loadQueue.Count > 0)
|
|
||||||
{
|
|
||||||
LoadStruct item = loadQueue.Dequeue();
|
|
||||||
_StartScript(item.localID, item.itemID, item.script);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (unloadQueue.Count > 0)
|
if (unloadQueue.Count > 0)
|
||||||
{
|
{
|
||||||
UnloadStruct item = unloadQueue.Dequeue();
|
UnloadStruct item = unloadQueue.Dequeue();
|
||||||
_StopScript(item.localID, item.itemID);
|
_StopScript(item.localID, item.itemID);
|
||||||
}
|
}
|
||||||
|
if (loadQueue.Count > 0)
|
||||||
|
{
|
||||||
|
LoadStruct item = loadQueue.Dequeue();
|
||||||
|
_StartScript(item.localID, item.itemID, item.script);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (ThreadAbortException tae)
|
catch (ThreadAbortException tae)
|
||||||
|
@ -279,13 +277,18 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
if (!Script.EndsWith("dll"))
|
||||||
|
{
|
||||||
// Compile (We assume LSL)
|
// Compile (We assume LSL)
|
||||||
ScriptSource = LSLCompiler.CompileFromLSLText(Script);
|
ScriptSource = LSLCompiler.CompileFromLSLText(Script);
|
||||||
//Console.WriteLine("Compilation of " + FileName + " done");
|
//Console.WriteLine("Compilation of " + FileName + " done");
|
||||||
// * Insert yield into code
|
// * Insert yield into code
|
||||||
ScriptSource = ProcessYield(ScriptSource);
|
ScriptSource = ProcessYield(ScriptSource);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ScriptSource = Script;
|
||||||
|
}
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
long before;
|
long before;
|
||||||
|
|
Loading…
Reference in New Issue