aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/XEngine/XEngine.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs87
1 files changed, 47 insertions, 40 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index 65c7416..23531a9 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -341,11 +341,13 @@ namespace OpenSim.Region.ScriptEngine.XEngine
341 } 341 }
342 342
343 MainConsole.Instance.Commands.AddCommand( 343 MainConsole.Instance.Commands.AddCommand(
344 "scripts", false, "scripts show", "scripts show", "Show script information", 344 "scripts", false, "scripts show", "scripts show [<script-item-uuid>]", "Show script information",
345 "Show information on all scripts known to the script engine", HandleShowScripts); 345 "Show information on all scripts known to the script engine."
346 + "If a <script-item-uuid> is given then only information on that script will be shown.",
347 HandleShowScripts);
346 348
347 MainConsole.Instance.Commands.AddCommand( 349 MainConsole.Instance.Commands.AddCommand(
348 "scripts", false, "show scripts", "show scripts", "Show script information", 350 "scripts", false, "show scripts", "show scripts [<script-item-uuid>]", "Show script information",
349 "Synonym for scripts show command", HandleShowScripts); 351 "Synonym for scripts show command", HandleShowScripts);
350 352
351 MainConsole.Instance.Commands.AddCommand( 353 MainConsole.Instance.Commands.AddCommand(
@@ -376,43 +378,6 @@ namespace OpenSim.Region.ScriptEngine.XEngine
376 (module, cmdparams) => HandleScriptsAction(cmdparams, HandleStartScript)); 378 (module, cmdparams) => HandleScriptsAction(cmdparams, HandleStartScript));
377 } 379 }
378 380
379 public void HandleShowScripts(string module, string[] cmdparams)
380 {
381 lock (m_Scripts)
382 {
383 MainConsole.Instance.OutputFormat(
384 "Showing {0} scripts in {1}", m_Scripts.Count, m_Scene.RegionInfo.RegionName);
385
386 foreach (IScriptInstance instance in m_Scripts.Values)
387 {
388 SceneObjectPart sop = m_Scene.GetSceneObjectPart(instance.ObjectID);
389 string status;
390
391 if (instance.ShuttingDown)
392 {
393 status = "shutting down";
394 }
395 else if (instance.Suspended)
396 {
397 status = "suspended";
398 }
399 else if (!instance.Running)
400 {
401 status = "stopped";
402 }
403 else
404 {
405 status = "running";
406 }
407
408 MainConsole.Instance.OutputFormat(
409 "{0}.{1}, item UUID {2}, prim UUID {3} @ {4} ({5})",
410 instance.PrimName, instance.ScriptName, instance.ItemID, instance.ObjectID,
411 sop.AbsolutePosition, status);
412 }
413 }
414 }
415
416 /// <summary> 381 /// <summary>
417 /// Parse the raw item id into a script instance from the command params if it's present. 382 /// Parse the raw item id into a script instance from the command params if it's present.
418 /// </summary> 383 /// </summary>
@@ -462,6 +427,48 @@ namespace OpenSim.Region.ScriptEngine.XEngine
462 } 427 }
463 } 428 }
464 429
430 public void HandleShowScripts(string module, string[] cmdparams)
431 {
432 if (cmdparams.Length == 2)
433 {
434 lock (m_Scripts)
435 {
436 MainConsole.Instance.OutputFormat(
437 "Showing {0} scripts in {1}", m_Scripts.Count, m_Scene.RegionInfo.RegionName);
438 }
439 }
440
441 HandleScriptsAction(cmdparams, HandleShowScript);
442 }
443
444 private void HandleShowScript(IScriptInstance instance)
445 {
446 SceneObjectPart sop = m_Scene.GetSceneObjectPart(instance.ObjectID);
447 string status;
448
449 if (instance.ShuttingDown)
450 {
451 status = "shutting down";
452 }
453 else if (instance.Suspended)
454 {
455 status = "suspended";
456 }
457 else if (!instance.Running)
458 {
459 status = "stopped";
460 }
461 else
462 {
463 status = "running";
464 }
465
466 MainConsole.Instance.OutputFormat(
467 "{0}.{1}, item UUID {2}, prim UUID {3} @ {4} ({5})",
468 instance.PrimName, instance.ScriptName, instance.ItemID, instance.ObjectID,
469 sop.AbsolutePosition, status);
470 }
471
465 private void HandleSuspendScript(IScriptInstance instance) 472 private void HandleSuspendScript(IScriptInstance instance)
466 { 473 {
467 if (!instance.Suspended) 474 if (!instance.Suspended)