diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 85ee29d..7e68cc7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -697,10 +697,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
697 | CheckThreatLevel(ThreatLevel.None, "osGetAgents"); | 697 | CheckThreatLevel(ThreatLevel.None, "osGetAgents"); |
698 | 698 | ||
699 | LSL_List result = new LSL_List(); | 699 | LSL_List result = new LSL_List(); |
700 | foreach (ScenePresence avatar in World.GetAvatars()) | 700 | World.ForEachScenePresence(delegate(ScenePresence sp) |
701 | { | 701 | { |
702 | result.Add(avatar.Name); | 702 | if (!sp.IsChildAgent) |
703 | } | 703 | result.Add(sp.Name); |
704 | }); | ||
704 | return result; | 705 | return result; |
705 | } | 706 | } |
706 | 707 | ||
@@ -1985,19 +1986,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1985 | CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar"); | 1986 | CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar"); |
1986 | if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID)) | 1987 | if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID)) |
1987 | { | 1988 | { |
1988 | foreach (ScenePresence presence in World.GetAvatars()) | 1989 | World.ForEachScenePresence(delegate(ScenePresence sp) |
1989 | { | 1990 | { |
1990 | if ((presence.Firstname == FirstName) && | 1991 | if (!sp.IsChildAgent && |
1991 | presence.Lastname == SurName) | 1992 | sp.Firstname == FirstName && |
1993 | sp.Lastname == SurName) | ||
1992 | { | 1994 | { |
1993 | // kick client... | 1995 | // kick client... |
1994 | if (alert != null) | 1996 | if (alert != null) |
1995 | presence.ControllingClient.Kick(alert); | 1997 | sp.ControllingClient.Kick(alert); |
1996 | 1998 | ||
1997 | // ...and close on our side | 1999 | // ...and close on our side |
1998 | presence.Scene.IncomingCloseAgent(presence.UUID); | 2000 | sp.Scene.IncomingCloseAgent(sp.UUID); |
1999 | } | 2001 | } |
2000 | } | 2002 | }); |
2001 | } | 2003 | } |
2002 | } | 2004 | } |
2003 | 2005 | ||