From a3130c8756f61b59dcba6bbd0493b573b34e7bf9 Mon Sep 17 00:00:00 2001 From: nahkampfaffe Date: Mon, 24 Sep 2018 21:21:40 +0200 Subject: [PATCH] added some admin commands --- Server/Commands/Admin.cs | 77 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 3 deletions(-) diff --git a/Server/Commands/Admin.cs b/Server/Commands/Admin.cs index 3a18d086..69cd9cae 100644 --- a/Server/Commands/Admin.cs +++ b/Server/Commands/Admin.cs @@ -213,7 +213,7 @@ namespace reallife_gamemode.Server.Commands foreach (Client currentPlayer in playerlist) { if (currentPlayer.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) { - NAPI.Chat.SendChatMessageToPlayer(currentPlayer, "~b~A-Chat: ~w~" + message); + NAPI.Chat.SendChatMessageToPlayer(currentPlayer, "~r~Admin " + NAPI.Player.GetPlayerName(player) + "~w~: " + message); } } } @@ -261,9 +261,80 @@ namespace reallife_gamemode.Server.Commands { NAPI.Chat.SendChatMessageToPlayer(player, "~w~Unable to change weather"); } - - player.Vehicle.PrimaryColor = 1; } + [Command("freeze", "~m~Benutzung: ~s~/freeze [Player]")] + public void CmdAdminFreeze(Client player, string targetname) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + Client target = ClientService.GetClientByName(targetname); + if (target == null) + { + ChatService.PlayerNotFound(target); + return; + } + target.Freeze(true); + } + + [Command("unfreeze", "~m~Benutzung: ~s~/freeze [Player]")] + public void CmdAdminUnfreeze(Client player, string targetname) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + Client target = ClientService.GetClientByName(targetname); + if (target == null) + { + ChatService.PlayerNotFound(target); + return; + } + target.Freeze(false); + } + + [Command("kick", "~m~Benutzung: ~s~/kick [Player] [Grund]")] + public void CmdAdminKick(Client player, string targetname, string reason) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + Client target = ClientService.GetClientByName(targetname); + if (target == null) + { + ChatService.PlayerNotFound(target); + return; + } + string targetPlayername = NAPI.Player.GetPlayerName(target); + string adminPlayername = NAPI.Player.GetPlayerName(player); + + NAPI.Chat.SendChatMessageToPlayer(target, "~r~KICKINFO: ~w~Du wurdest von " + adminPlayername + " vom Server gekickt: " + reason); + target.Kick(); + NAPI.Chat.SendChatMessageToAll("~y~INFO: ~w~" + targetPlayername + " wurde von " + adminPlayername + " gekickt: " + reason); + } + + [Command("clearchat", "~m~Benutzung: ~s~/clearchat")] + public void CmdAdminClearchat(Client player) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + for (int i=0; i<20; i++) + { + NAPI.Chat.SendChatMessageToAll(""); + } + } } }