diff options
author | Alexander Harkness <bearbin@gmail.com> | 2013-07-27 17:16:04 +0200 |
---|---|---|
committer | Alexander Harkness <bearbin@gmail.com> | 2013-07-27 17:16:04 +0200 |
commit | 0623a4f9be1c21651ea212f7b4d86136a67ddffe (patch) | |
tree | 5a96f13f72fa394bf74d10839a76ec7a1eac9275 /Core/kick.lua | |
parent | Removed all the pre-exising core files. (diff) | |
download | cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar.gz cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar.bz2 cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar.lz cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar.xz cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.tar.zst cuberite-0623a4f9be1c21651ea212f7b4d86136a67ddffe.zip |
Diffstat (limited to '')
-rw-r--r-- | Core/kick.lua | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Core/kick.lua b/Core/kick.lua new file mode 100644 index 000000000..be6215df4 --- /dev/null +++ b/Core/kick.lua @@ -0,0 +1,42 @@ +function HandleKickCommand( Split, Player ) + if( #Split < 2 ) then + Player:SendMessage( cChatColor.Green .. "Usage: /kick [Player] <Reason>" ) + 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
\ No newline at end of file |