From c20f7d6171a9df151c3ccde063336338da9ae322 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Sun, 25 May 2008 20:50:45 +0000 Subject: * A hacky Top Scripts display. It isn't accurate as far as ms accounting, however you can use it to help find out what scripts are causing your simulator to cry. * Access it from the Estate tools/Debug tab. --- OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 8 ++++---- .../Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs | 1 + .../Common/ScriptEngineBase/AsyncCommandPlugins/Timer.cs | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/ScriptEngine') diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 3fa65f5..fbfb400 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs @@ -474,7 +474,7 @@ namespace OpenSim.Region.ScriptEngine.Common public void llSensor(string name, string id, int type, double range, double arc) { - m_host.AddScriptLPS(1); + m_host.AddScriptLPS(300); LLUUID keyID = LLUUID.Zero; LLUUID.TryParse(id, out keyID); @@ -1818,7 +1818,7 @@ namespace OpenSim.Region.ScriptEngine.Common public void llSleep(double sec) { - m_host.AddScriptLPS(1); + m_host.AddScriptLPS((int)(sec * 100)); Thread.Sleep((int)(sec * 1000)); } @@ -2582,7 +2582,7 @@ namespace OpenSim.Region.ScriptEngine.Common public void llResetScript() { - m_host.AddScriptLPS(1); + m_host.AddScriptLPS(800); m_ScriptEngine.m_ScriptManager.ResetScript(m_localID, m_itemID); } @@ -4279,7 +4279,7 @@ namespace OpenSim.Region.ScriptEngine.Common ScriptManager sm; IScript script = null; - m_host.AddScriptLPS(1); + m_host.AddScriptLPS(8000); // These functions are supposed to be robust, // so get the state one step at a time. diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs index 13c9d25..82bd3ac 100644 --- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs +++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs @@ -316,6 +316,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase.AsyncCommandPlugin m_CmdManager.m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(ts.localID, ts.itemID, "sensor", EventQueueManager.llDetectNull, new object[] { new LSL_Types.LSLInteger(SensedObjects.Length) }); } + m_CmdManager.m_ScriptEngine.World.EventManager.TriggerTimerEvent(ts.localID, ts.interval); } } } diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/Timer.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/Timer.cs index 6f88e11..f6de3c6 100644 --- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/Timer.cs +++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/Timer.cs @@ -126,6 +126,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase.AsyncCommandPlugin // Add it to queue m_CmdManager.m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(ts.localID, ts.itemID, "timer", EventQueueManager.llDetectNull, null); + m_CmdManager.m_ScriptEngine.World.EventManager.TriggerTimerEvent(ts.localID, ((double)ts.interval / 10000000)); // set next interval //ts.next = DateTime.Now.ToUniversalTime().AddSeconds(ts.interval); -- cgit v1.1