mirror of
https://github.com/opensim/opensim.git
synced 2026-05-15 03:15:41 +08:00
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.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user