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
Charles Krinke 2007-12-12 22:07:40 +00:00
parent 100fb6a0b1
commit a0a189aed2
2 changed files with 21 additions and 14 deletions

View File

@ -292,6 +292,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
public int llListen(int channelID, string name, string ID, string msg)
{
if (ID == "")
{
ID = LLUUID.Zero.ToString();
}
IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>();
return wComm.Listen(m_localID, m_itemID, m_host.UUID, channelID, name, ID, msg);
}

View File

@ -127,18 +127,16 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
{
if (loadQueue.Count == 0 && unloadQueue.Count == 0)
Thread.Sleep(scriptLoadUnloadThread_IdleSleepms);
if (loadQueue.Count > 0)
{
LoadStruct item = loadQueue.Dequeue();
_StartScript(item.localID, item.itemID, item.script);
}
if (unloadQueue.Count > 0)
{
UnloadStruct item = unloadQueue.Dequeue();
_StopScript(item.localID, item.itemID);
}
if (loadQueue.Count > 0)
{
LoadStruct item = loadQueue.Dequeue();
_StartScript(item.localID, item.itemID, item.script);
}
}
}
catch (ThreadAbortException tae)
@ -279,13 +277,18 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
try
{
// Compile (We assume LSL)
ScriptSource = LSLCompiler.CompileFromLSLText(Script);
//Console.WriteLine("Compilation of " + FileName + " done");
// * Insert yield into code
ScriptSource = ProcessYield(ScriptSource);
if (!Script.EndsWith("dll"))
{
// Compile (We assume LSL)
ScriptSource = LSLCompiler.CompileFromLSLText(Script);
//Console.WriteLine("Compilation of " + FileName + " done");
// * Insert yield into code
ScriptSource = ProcessYield(ScriptSource);
}
else
{
ScriptSource = Script;
}
#if DEBUG
long before;