diff --git a/Server/Commands/Admin.cs b/Server/Commands/Admin.cs index b4a0e348..c9a1301b 100644 --- a/Server/Commands/Admin.cs +++ b/Server/Commands/Admin.cs @@ -811,6 +811,42 @@ namespace reallife_gamemode.Server.Commands } } + + [Command("spec", "~m~Benutzung: ~s~/spec [Player]")] + public void CmdAdminSpectate(Client player, string name) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + Client target = ClientService.GetClientByName(name); + if (target == null) + { + ChatService.PlayerNotFound(player); + return; + } + if (target == player) + { + ChatService.ErrorMsg(player); + return; + } + + bool spec = player.GetData("spec"); + + if (spec == false) + { + NAPI.Player.SetPlayerToSpectatePlayer(player, target); + player.SetData("spec", true); + } + else + { + NAPI.Player.UnspectatePlayer(player); + player.SetData("spec", false); + } + + } + [Command("ip", "~m~Benutzung: ~s~/ip [Spieler]")] public void CmdAdminIp(Client player, string targetname) { diff --git a/Server/Events/Connect.cs b/Server/Events/Connect.cs index a2916f66..52164028 100644 --- a/Server/Events/Connect.cs +++ b/Server/Events/Connect.cs @@ -32,10 +32,13 @@ namespace reallife_gamemode.Server.Events { if (currentPlayer.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? false) { - player.SendChatMessage("~m~*** "+player.Name+"["+player.SocialClubName+"] [ID:"+player.Handle.Value+"] ("+player.Address+")"); + if (player.GetData("isLoggedIn")) + { + player.SendChatMessage("~m~*** "+player.Name+"["+player.SocialClubName+"] [ID:"+player.Handle.Value+"] ("+player.Address+")"); + } } } } } -} +} \ No newline at end of file diff --git a/Server/Events/Login.cs b/Server/Events/Login.cs index a6534280..8006307e 100644 --- a/Server/Events/Login.cs +++ b/Server/Events/Login.cs @@ -43,6 +43,7 @@ namespace reallife_gamemode.Server.Events NAPI.Player.SpawnPlayer(player, Main.DEFAULT_SPAWN_POSITION, Main.DEFAULT_SPAWN_HEADING); player.SetData("isLoggedIn", true); + player.SetData("spec", true); player.TriggerEvent("draw"); } }