From cb1faeec0469bd25da93fc85df71c76658a5568c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 9 Nov 2020 23:16:35 +0000 Subject: [PATCH] kick npcs the right way --- OpenSim/Region/Application/OpenSim.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index a71b71017f..cb7e05780e 100755 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -524,11 +524,20 @@ namespace OpenSim presence.Lastname.ToLower().Equals(mainParams[3].ToLower())) { MainConsole.Instance.Output( - String.Format( "Kicking user: {0,-16} {1,-16} {2,-37} in region: {3,-16}", - presence.Firstname, presence.Lastname, presence.UUID, regionInfo.RegionName)); + presence.Firstname, presence.Lastname, presence.UUID, regionInfo.RegionName); - // kick client... + if (presence.IsNPC) + { + INPCModule npcmodule = presence.Scene.RequestModuleInterface(); + if (npcmodule != null) + { + npcmodule.DeleteNPC(presence.UUID, presence.Scene); + return; + } + } + + // kick client... if (alert != null) presence.ControllingClient.Kick(alert); else