diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index dbadecc74f..6829befe61 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -661,13 +661,13 @@ namespace OpenSim break; case "users": - IList agents = m_sceneManager.GetCurrentSceneAvatars(); + IList agents = m_sceneManager.GetCurrentScenePresences(); m_console.Notice(String.Format("\nAgents connected: {0}\n", agents.Count)); m_console.Notice( - String.Format("{0,-16}{1,-16}{2,-37}{3,-16}", "Firstname", "Lastname", - "Agent ID","Region")); + String.Format("{0,-16}{1,-16}{2,-37}{3,-11}{4,-16}", "Firstname", "Lastname", + "Agent ID", "Root/Child", "Region")); foreach (ScenePresence presence in agents) { @@ -685,11 +685,12 @@ namespace OpenSim m_console.Notice( String.Format( - "{0,-16}{1,-16}{2,-37}{3,-16}", - presence.Firstname, - presence.Lastname, - presence.UUID, - regionName)); + "{0,-16}{1,-16}{2,-37}{3,-11}{4,-16}", + presence.Firstname, + presence.Lastname, + presence.UUID, + presence.IsChildAgent ? "Child" : "Root", + regionName)); } m_console.Notice(""); diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs index 046dab39a4..5546618ee8 100644 --- a/OpenSim/Region/Environment/Scenes/SceneManager.cs +++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs @@ -435,6 +435,19 @@ namespace OpenSim.Region.Environment.Scenes return avatars; } + public List GetCurrentScenePresences() + { + List presences = new List(); + + ForEachCurrentScene(delegate(Scene scene) + { + List scenePresences = scene.GetScenePresences(); + presences.AddRange(scenePresences); + }); + + return presences; + } + public RegionInfo GetRegionInfo(ulong regionHandle) { foreach (Scene scene in m_localScenes)