diff --git a/Server/Commands/Admin.cs b/Server/Commands/Admin.cs index 15ae0b12..5c9c86eb 100644 --- a/Server/Commands/Admin.cs +++ b/Server/Commands/Admin.cs @@ -9,7 +9,11 @@ using reallife_gamemode.Server.Util; /** * @overview Life of German Reallife - Admin Commands (Admin.cs) +<<<<<<< HEAD +* @author VegaZ, hydrant, balbo +======= * @author VegaZ, hydrant, xSprite +>>>>>>> 5e0e0d82f2d05dda2954836a69347d4433839f85 * @copyright (c) 2008 - 2018 Life of German */ @@ -58,7 +62,7 @@ namespace reallife_gamemode.Server.Commands Vehicle v = NAPI.Vehicle.CreateVehicle(hash, player.Position, player.Rotation.Z, color1, color2); player.SetIntoVehicle(v.Handle, -1); - player.SendChatMessage("Maxspeed: + " +player.Vehicle.MaxSpeed + ""); + player.SendChatMessage("Maxspeed: + " + player.Vehicle.MaxSpeed + ""); } [Command("fv")] @@ -250,7 +254,7 @@ namespace reallife_gamemode.Server.Commands Client target = ClientService.GetClientByName(name); if (target == null) { - ChatService.PlayerNotFound(target); + ChatService.PlayerNotFound(player); return; } @@ -263,7 +267,7 @@ namespace reallife_gamemode.Server.Commands } target.GiveWeapon(wHash, ammo); - target.SendChatMessage("~b~Du hast von " +player.Name +" eine/n " + wHash + " mit einer Munition von " +ammo + " erhalten."); + target.SendChatMessage("~b~Du hast von " + player.Name + " eine/n " + wHash + " mit einer Munition von " + ammo + " erhalten."); player.SendChatMessage("~b~Du hast " + target.Name + " eine/n " + wHash + " mit einer Munition von " + ammo + " gegeben."); } @@ -284,7 +288,7 @@ namespace reallife_gamemode.Server.Commands Client target = ClientService.GetClientByName(name); if (target == null) { - ChatService.PlayerNotFound(target); + ChatService.PlayerNotFound(player); return; } @@ -310,7 +314,7 @@ namespace reallife_gamemode.Server.Commands Client target = ClientService.GetClientByName(name); if (target == null) { - ChatService.PlayerNotFound(target); + ChatService.PlayerNotFound(player); return; } @@ -336,7 +340,7 @@ namespace reallife_gamemode.Server.Commands Client target = ClientService.GetClientByName(name); if (target == null) { - ChatService.PlayerNotFound(target); + ChatService.PlayerNotFound(player); return; } @@ -387,7 +391,7 @@ namespace reallife_gamemode.Server.Commands Client target = ClientService.GetClientByName(name); if (target == null) { - ChatService.PlayerNotFound(target); + ChatService.PlayerNotFound(player); return; } if (target == player) @@ -395,8 +399,8 @@ namespace reallife_gamemode.Server.Commands ChatService.ErrorMsg(player); return; } - target.SendChatMessage("~y~PM von "+ player.Name + ": " + msg +" "); - player.SendChatMessage("~y~PM an "+ target.Name + ": " + msg + " "); + target.SendChatMessage("~y~PM von " + player.Name + ": " + msg + " "); + player.SendChatMessage("~y~PM an " + target.Name + ": " + msg + " "); } [Command("takeweapon", "~m~Benutzung: ~s~/takeweapon [Spieler]")] @@ -415,7 +419,7 @@ namespace reallife_gamemode.Server.Commands Client target = ClientService.GetClientByName(name); if (target == null) { - ChatService.PlayerNotFound(target); + ChatService.PlayerNotFound(player); return; } player.RemoveAllWeapons(); @@ -441,9 +445,9 @@ namespace reallife_gamemode.Server.Commands foreach (var managedClient in peopleInRange) { managedClient.Health = hp; - managedClient.SendChatMessage("~b~Admin "+ player.Name + " hat im Radius von " + radius + " die HP auf " + hp + " gesetzt."); + managedClient.SendChatMessage("~b~Admin " + player.Name + " hat im Radius von " + radius + " die HP auf " + hp + " gesetzt."); } - player.SendChatMessage("~b~Das Leben von " + peopleInRange.Count + " Spielern wurde auf "+ hp + " gesetzt."); + player.SendChatMessage("~b~Das Leben von " + peopleInRange.Count + " Spielern wurde auf " + hp + " gesetzt."); } [Command("rsetarmor", "~m~Benutzung: ~s~/rsetarmor [Radius] (Armor)")] @@ -488,7 +492,11 @@ namespace reallife_gamemode.Server.Commands return; } - + [Command("val")] + public void Val(Client player) + { + NAPI.Chat.SendChatMessageToAll("Value of " + player.Name + ": " + player.Handle.Value); + } [Command("rgiveweapon", "~m~Benutzung: ~s~/rgiveweapon [Radius] [Waffe] [Munition]")] public void CmdAdminRangeGiveWeapon(Client player, float radius, string weapon, int munition) { @@ -515,9 +523,9 @@ namespace reallife_gamemode.Server.Commands foreach (var managedClient in peopleInRange) { managedClient.GiveWeapon(wHash, munition); - managedClient.SendChatMessage("~b~Admin " +player.Name + " hat im Radius von " + radius + " eine/n " + weapon +" mit " + munition +" Munition vergeben."); + managedClient.SendChatMessage("~b~Admin " + player.Name + " hat im Radius von " + radius + " eine/n " + weapon + " mit " + munition + " Munition vergeben."); } - player.SendChatMessage("~b~Du hast " + peopleInRange.Count +" Spielern eine " + weapon + " mit " + munition + " Munition gegeben"); + player.SendChatMessage("~b~Du hast " + peopleInRange.Count + " Spielern eine " + weapon + " mit " + munition + " Munition gegeben"); } [Command("save", "~m~Benutzung: ~s~/save [Typ = ~g~Blip, ~r~Marker, Ped, Pickup, TextLabel, ~g~Vehicle")] @@ -542,14 +550,247 @@ namespace reallife_gamemode.Server.Commands if (player.IsInVehicle) { Vehicle vehicle = player.Vehicle; - SaveData.SaveVehicleData((VehicleHash) vehicle.Model, vehicle.Position, vehicle.Heading, vehicle.NumberPlate, + SaveData.SaveVehicleData((VehicleHash)vehicle.Model, vehicle.Position, vehicle.Heading, vehicle.NumberPlate, Convert.ToByte(vehicle.PrimaryColor), Convert.ToByte(vehicle.SecondaryColor), vehicle.Locked, vehicle.EngineStatus, Convert.ToByte(vehicle.Dimension)); } else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!"); break; - + + } + + } + + [Command("a", "~m~Benutzung: ~s~/a [Nachricht]")] + public void CmdAdminA(Client player, string message) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + List playerlist = NAPI.Pools.GetAllPlayers(); + foreach (Client currentPlayer in playerlist) + { + if (currentPlayer.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? false) + { + NAPI.Chat.SendChatMessageToPlayer(currentPlayer, "~r~Admin " + NAPI.Player.GetPlayerName(player) + "~w~: " + message); + } + } + } + + + [Command("team", "~m~Benutzung: ~s~/team")] + public void CmdAdminTeam(Client player) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + NAPI.Chat.SendChatMessageToPlayer(player, "Online Teammitglieder:"); + + List playerlist = NAPI.Pools.GetAllPlayers(); + foreach (Client currentPlayer in playerlist) + { + if (currentPlayer.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? false) + { + NAPI.Chat.SendChatMessageToPlayer(player, "~w~" + NAPI.Player.GetPlayerName(currentPlayer)); + } + } + } + + [Command("setweather", "~m~Benutzung: ~s~/setweather [WEATHER]")] + public void CmdAdminSetweather(Client player, string weather) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; } + Weather weatherBefore = NAPI.World.GetWeather(); + NAPI.World.SetWeather(weather); + Weather weatherAfter = NAPI.World.GetWeather(); + + if (!weatherBefore.Equals(weatherAfter)) + { + NAPI.Chat.SendChatMessageToPlayer(player, "~w~Wetter geändert: " + NAPI.World.GetWeather()); + } + else + { + NAPI.Chat.SendChatMessageToPlayer(player, "~w~Wetter konnte nicht geändert werden"); + } + } + + [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(""); + } + } + + [Command("up", "~m~Benutzung: ~s~/up [Wert]")] + public void CmdAdminUp(Client player, int value = 5) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + Vector3 playerPosition = new Vector3(player.Position.X, player.Position.Y, player.Position.Z + value); + player.Position = playerPosition; + } + + [Command("dn", "~m~Benutzung: ~s~/dn [Wert]")] + public void CmdAdminDn(Client player, int value = 5) + { + + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + Vector3 playerPosition = new Vector3(player.Position.X, player.Position.Y, player.Position.Z - value); + player.Position = playerPosition; + } + + [Command("rt", "~m~Benutzung: ~s~/rt [Wert]")] + public void CmdAdminRt(Client player, int value = 5) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + float playerHeading = player.Heading; + + if (playerHeading < 45 || playerHeading >= 315) + { + Vector3 playerPosition = new Vector3(player.Position.X + value, player.Position.Y, player.Position.Z); + player.Position = playerPosition; + + } + else if (playerHeading < 315 && playerHeading >= 225) + { + Vector3 playerPosition = new Vector3(player.Position.X, player.Position.Y - value, player.Position.Z); + player.Position = playerPosition; + } + else if (playerHeading >= 135 && playerHeading < 225) + { + Vector3 playerPosition = new Vector3(player.Position.X - value, player.Position.Y, player.Position.Z); + player.Position = playerPosition; + } + else if (playerHeading >= 45 && playerHeading < 135) + { + Vector3 playerPosition = new Vector3(player.Position.X, player.Position.Y + value, player.Position.Z); + player.Position = playerPosition; + } + } + + [Command("lt", "~m~Benutzung: ~s~/lt [Wert]")] + public void CmdAdminLt(Client player, int value = 5) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + float playerHeading = player.Heading; + + if (playerHeading < 45 || playerHeading >= 315) + { + Vector3 playerPosition = new Vector3(player.Position.X - value, player.Position.Y, player.Position.Z); + player.Position = playerPosition; + + } + else if (playerHeading < 315 && playerHeading >= 225) + { + Vector3 playerPosition = new Vector3(player.Position.X, player.Position.Y + value, player.Position.Z); + player.Position = playerPosition; + } + else if (playerHeading >= 135 && playerHeading < 225) + { + Vector3 playerPosition = new Vector3(player.Position.X + value, player.Position.Y, player.Position.Z); + player.Position = playerPosition; + } + else if (playerHeading >= 45 && playerHeading < 135) + { + Vector3 playerPosition = new Vector3(player.Position.X, player.Position.Y - value, player.Position.Z); + player.Position = playerPosition; + } } } }