function HandleKickCommand( Split, Player ) if( #Split < 2 ) then Player:SendMessage( cChatColor.Green .. "Usage: /kick [Player] " ) return true end local Reason = "You have been kicked" if( #Split > 2 ) then Reason = table.concat(Split, " ", 3) end if( KickPlayer( Split[2], Reason ) == false ) then Player:SendMessage( cChatColor.Green .. "Could not find player " .. Split[2] ) end return true end --- Kicks a player by name, with the specified reason; returns bool whether found and player's real name function KickPlayer(PlayerName, Reason) local RealName = ""; if (Reason == nil) then Reason = "You have been kicked"; end local FoundPlayerCallback = function(a_Player) RealName = a_Player:GetName() local Server = cRoot:Get():GetServer() LOGINFO( "'" .. RealName .. "' is being kicked for ( "..Reason..") " ) Server:SendMessage("Kicking " .. RealName) a_Player:GetClientHandle():Kick(Reason); end if (not(cRoot:Get():FindAndDoWithPlayer( PlayerName, FoundPlayerCallback))) then -- Could not find player return false; end return true, RealName; -- Player has been kicked end