diff --git a/ReallifeGamemode.Server/Commands/AdminCommands.cs b/ReallifeGamemode.Server/Commands/AdminCommands.cs index f119dafc..b22dc6a9 100644 --- a/ReallifeGamemode.Server/Commands/AdminCommands.cs +++ b/ReallifeGamemode.Server/Commands/AdminCommands.cs @@ -944,76 +944,6 @@ namespace ReallifeGamemode.Server.Commands //Peter.freezePosition(true); } - [Command("setskill", "~m~Benutzung: ~s~/setskill [Playerid] [Bus/Pilot] [Menge]")] - public void CmdAdminSetSkill(Player player, string name, string Skill, int SkillLevel) - { - if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) - { - ChatService.NotAuthorized(player); - return; - } - Player target = PlayerService.GetPlayerByNameOrId(name); - if (target == null || !target.IsLoggedIn()) - { - ChatService.PlayerNotFound(player); - return; - } - if (SkillLevel < 0) - { - ChatService.SendMessage(player, "~r~Skilllevel kann nicht unter 0 sein"); - return; - } - switch (Skill.ToLower()) - { - case "bus": - { - using (var dbContext = new DatabaseContext()) - { - target.GetUser(dbContext).BusSkill = SkillLevel; - dbContext.SaveChanges(); - } - break; - } - case "pilot": - { - using (var dbContext = new DatabaseContext()) - { - target.GetUser(dbContext).PilotSkill = SkillLevel; - dbContext.SaveChanges(); - } - } - break; - } - ChatService.SendMessage(player, $"~w~Du hast den ~y~{Skill}-Skill ~w~von ~y~{target.Name} ~w~auf ~g~{SkillLevel} ~w~gesetzt."); - ChatService.SendMessage(target, $"~w~{player.Name} hat deinen ~y~{Skill}-Skill ~w~auf ~g~{SkillLevel} ~w~gesetzt."); - } - [Command("setjob", "~m~Benutzung: ~s~/setjob [Playerid] [JobID 1=Taxifahrer, 2=Müllmann, 3=Pilot, 4=Busfahrer]")] - public void CmdAdminSetJob(Player player, string name, int JobID) - { - if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) - { - ChatService.NotAuthorized(player); - return; - } - Player target = PlayerService.GetPlayerByNameOrId(name); - if (target == null || !target.IsLoggedIn()) - { - ChatService.PlayerNotFound(player); - return; - } - if (JobManager.GetJob(JobID) == null) - { - ChatService.ErrorMessage(player, "Dieser job existiert nicht"); - return; - } - using (var dbContext = new DatabaseContext()) - { - target.GetUser(dbContext).JobId = JobID; - dbContext.SaveChanges(); - } - ChatService.SendMessage(player, $"~w~Du hast die ~y~JobID ~w~von ~y~{target.Name} ~w~auf ~g~{JobID} ~w~gesetzt."); - ChatService.SendMessage(target, $"~w~{player.Name} hat deine ~y~JobID ~w~auf ~g~{JobID} ~w~gesetzt."); - } [Command("gotox", "~m~Benutzung: ~s~/gotox [X] [Y] [Z]")] public void CmdAdminGotoxyz(Player player, float x, float y, float z) @@ -1570,36 +1500,6 @@ namespace ReallifeGamemode.Server.Commands targetVeh.Trailer?.Delete(); } - [Command("vlivery", "~m~Benutzung: ~s~/vlivery [Livery]")] - public void CmdAdminVlivery(Player player, int livery) - { - if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) - { - ChatService.NotAuthorized(player); - return; - } - - if (!player.IsInVehicle) - { - ChatService.ErrorMessage(player, "Du sitzt momentan nicht in einem Fahrzeug"); - return; - } - - Vehicle playerVeh = player.Vehicle; - - playerVeh.Livery = livery; - - using (var dbContext = new DatabaseContext()) - { - ServerVehicle serverVeh = VehicleManager.GetServerVehicleFromVehicle(playerVeh, dbContext); - if (serverVeh != null) - { - serverVeh.Livery = livery; - dbContext.SaveChanges(); - } - } - } - [Command("vcolor", "~m~Benutzung: ~s~/vcolor [Farb-ID1] [Farb-ID2]")] public void CmdAdminColor(Player player, int color1, int color2) { @@ -1661,24 +1561,6 @@ namespace ReallifeGamemode.Server.Commands ChatService.SendMessage(player, "~b~Du hast " + target.Name + " eine/n " + hash + " mit einer Munition von " + ammo + " gegeben."); } - [Command("vmod", "~m~Benutzung: ~s~/vmod [Slot] [Mod ID]")] - public void CmdAdminVmod(Player player, int slot, int mod) - { - if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) - { - ChatService.NotAuthorized(player); - return; - } - - if (!player.IsInVehicle) - { - ChatService.ErrorMessage(player, "Du sitzt momentan nicht in einem Fahrzeug"); - return; - } - - player.Vehicle.SetMod(slot, mod); - } - [Command("aneon", "~m~Benutzung: ~s~/aneon [R][G][B]")] public void CmdAdminNeon(Player player, int r, int g, int b) { @@ -1718,48 +1600,86 @@ namespace ReallifeGamemode.Server.Commands NAPI.Vehicle.SetVehicleTyreSmokeColor(veh, new Color(r, g, b)); } - [Command("rsethp", "~m~Benutzung: ~s~/rsethp [Radius] (Leben)")] - public void CmdAdminRangeSetHP(Player player, float radius, int hp = 100) + #endregion Admin + + #region ALevel1337 + + [Command("setskill", "~m~Benutzung: ~s~/setskill [Playerid] [Bus/Pilot] [Menge]")] + public void CmdAdminSetSkill(Player player, string name, string Skill, int SkillLevel) { - if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) { ChatService.NotAuthorized(player); return; } - var peopleInRange = NAPI.Player.GetPlayersInRadiusOfPlayer(radius, player); - - foreach (var managedPlayer in peopleInRange) + Player target = PlayerService.GetPlayerByNameOrId(name); + if (target == null || !target.IsLoggedIn()) { - if (!managedPlayer.IsLoggedIn()) return; - managedPlayer.Health = hp; - ChatService.SendMessage(managedPlayer, "~b~Admin " + player.Name + " hat im Radius von " + radius + " die HP auf " + hp + " gesetzt."); + ChatService.PlayerNotFound(player); + return; } - ChatService.SendMessage(player, "~b~Das Leben von " + peopleInRange.Count + " Spielern wurde auf " + hp + " gesetzt."); + if (SkillLevel < 0) + { + ChatService.SendMessage(player, "~r~Skilllevel kann nicht unter 0 sein"); + return; + } + switch (Skill.ToLower()) + { + case "bus": + { + using (var dbContext = new DatabaseContext()) + { + target.GetUser(dbContext).BusSkill = SkillLevel; + dbContext.SaveChanges(); + } + break; + } + case "pilot": + { + using (var dbContext = new DatabaseContext()) + { + target.GetUser(dbContext).PilotSkill = SkillLevel; + dbContext.SaveChanges(); + } + } + break; + } + ChatService.SendMessage(player, $"~w~Du hast den ~y~{Skill}-Skill ~w~von ~y~{target.Name} ~w~auf ~g~{SkillLevel} ~w~gesetzt."); + ChatService.SendMessage(target, $"~w~{player.Name} hat deinen ~y~{Skill}-Skill ~w~auf ~g~{SkillLevel} ~w~gesetzt."); } - [Command("rsetap", "~m~Benutzung: ~s~/rsetap [Radius] (Armor)")] - public void CmdAdminRangeSetAP(Player player, float radius, int Armor = 100) + [Command("setjob", "~m~Benutzung: ~s~/setjob [Playerid] [JobID 1=Taxifahrer, 2=Müllmann, 3=Pilot, 4=Busfahrer]")] + public void CmdAdminSetJob(Player player, string name, int JobID) { - if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) { ChatService.NotAuthorized(player); return; } - var peopleInRange = NAPI.Player.GetPlayersInRadiusOfPlayer(radius, player); - - foreach (var managedPlayer in peopleInRange) + Player target = PlayerService.GetPlayerByNameOrId(name); + if (target == null || !target.IsLoggedIn()) { - if (!managedPlayer.IsLoggedIn()) return; - managedPlayer.Armor = Armor; - ChatService.SendMessage(managedPlayer, "~b~Admin " + player.Name + " hat im Radius von " + radius + " die Rüstung auf " + Armor + " gesetzt."); + ChatService.PlayerNotFound(player); + return; } - ChatService.SendMessage(player, "~b~Die Rüstung von " + peopleInRange.Count + " Spielern wurde auf " + Armor + " gesetzt."); + if (JobManager.GetJob(JobID) == null) + { + ChatService.ErrorMessage(player, "Dieser job existiert nicht"); + return; + } + using (var dbContext = new DatabaseContext()) + { + target.GetUser(dbContext).JobId = JobID; + dbContext.SaveChanges(); + } + ChatService.SendMessage(player, $"~w~Du hast die ~y~JobID ~w~von ~y~{target.Name} ~w~auf ~g~{JobID} ~w~gesetzt."); + ChatService.SendMessage(target, $"~w~{player.Name} hat deine ~y~JobID ~w~auf ~g~{JobID} ~w~gesetzt."); } [Command("rgiveweapon", "~m~Benutzung: ~s~/rgiveweapon [Radius] [Waffe] [Munition]")] public void CmdAdminRangeGiveWeapon(Player player, float radius, string weapon, int munition) { - if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) { ChatService.NotAuthorized(player); return; @@ -1792,38 +1712,48 @@ namespace ReallifeGamemode.Server.Commands ChatService.SendMessage(player, "~b~Du hast " + peopleInRange.Count + " Spielern eine " + weapon + " mit " + munition + " Munition gegeben"); } - [Command("settime", "~m~Benutzung: ~s~/settime [Stunde] (Minuten) (Sekunden)")] - public void CmdAdminSetTime(Player player, int hour, int min = 0, int sec = 0) + [Command("rsetap", "~m~Benutzung: ~s~/rsetap [Radius] (Armor)")] + public void CmdAdminRangeSetAP(Player player, float radius, int Armor = 100) { - if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) { ChatService.NotAuthorized(player); return; } + var peopleInRange = NAPI.Player.GetPlayersInRadiusOfPlayer(radius, player); - if (hour > 23 || min > 59 || sec > 59) + foreach (var managedPlayer in peopleInRange) { - ChatService.ErrorMessage(player, "Es wurde eine ungültige Zeit eingegeben"); + if (!managedPlayer.IsLoggedIn()) return; + managedPlayer.Armor = Armor; + ChatService.SendMessage(managedPlayer, "~b~Admin " + player.Name + " hat im Radius von " + radius + " die Rüstung auf " + Armor + " gesetzt."); + } + ChatService.SendMessage(player, "~b~Die Rüstung von " + peopleInRange.Count + " Spielern wurde auf " + Armor + " gesetzt."); + } + + [Command("rsethp", "~m~Benutzung: ~s~/rsethp [Radius] (Leben)")] + public void CmdAdminRangeSetHP(Player player, float radius, int hp = 100) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) + { + ChatService.NotAuthorized(player); return; } + var peopleInRange = NAPI.Player.GetPlayersInRadiusOfPlayer(radius, player); - if (hour == -1) + foreach (var managedPlayer in peopleInRange) { - ChatService.SendMessage(player, "Es wird nun wieder die Echtzeit genutzt."); - TimeManager.StartTimeManager(); - return; + if (!managedPlayer.IsLoggedIn()) return; + managedPlayer.Health = hp; + ChatService.SendMessage(managedPlayer, "~b~Admin " + player.Name + " hat im Radius von " + radius + " die HP auf " + hp + " gesetzt."); } - string broadcastMsg = $"Serverzeit wurde auf ~g~{hour:D2}:{min:D2}:{sec:D2} ~s~gesetzt!"; - NAPI.Notification.SendNotificationToAll(broadcastMsg); - TimeManager.PauseTimeManager(new TimeSpan(hour, min, sec)); - NAPI.World.SetTime(hour, min, sec); - return; + ChatService.SendMessage(player, "~b~Das Leben von " + peopleInRange.Count + " Spielern wurde auf " + hp + " gesetzt."); } [Command("setweather", "~m~Benutzung: ~s~/setweather [Wetter]")] public void CmdAdminSetweather(Player player, string weather) { - if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) { ChatService.NotAuthorized(player); return; @@ -1860,10 +1790,38 @@ namespace ReallifeGamemode.Server.Commands } } + [Command("settime", "~m~Benutzung: ~s~/settime [Stunde] (Minuten) (Sekunden)")] + public void CmdAdminSetTime(Player player, int hour, int min = 0, int sec = 0) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + if (hour > 23 || min > 59 || sec > 59) + { + ChatService.ErrorMessage(player, "Es wurde eine ungültige Zeit eingegeben"); + return; + } + + if (hour == -1) + { + ChatService.SendMessage(player, "Es wird nun wieder die Echtzeit genutzt."); + TimeManager.StartTimeManager(); + return; + } + string broadcastMsg = $"Serverzeit wurde auf ~g~{hour:D2}:{min:D2}:{sec:D2} ~s~gesetzt!"; + NAPI.Notification.SendNotificationToAll(broadcastMsg); + TimeManager.PauseTimeManager(new TimeSpan(hour, min, sec)); + NAPI.World.SetTime(hour, min, sec); + return; + } + [Command("showtuningmenu", "~m~Benutzung: ~s~/showtuningmenu", Alias = "stm")] public void CmdAdminShowtuningmenu(Player player) { - if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) + if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) { ChatService.NotAuthorized(player); return; @@ -1880,9 +1838,54 @@ namespace ReallifeGamemode.Server.Commands } } - #endregion Admin + [Command("vmod", "~m~Benutzung: ~s~/vmod [Slot] [Mod ID]")] + public void CmdAdminVmod(Player player, int slot, int mod) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + if (!player.IsInVehicle) + { + ChatService.ErrorMessage(player, "Du sitzt momentan nicht in einem Fahrzeug"); + return; + } + + player.Vehicle.SetMod(slot, mod); + } + + [Command("vlivery", "~m~Benutzung: ~s~/vlivery [Livery]")] + public void CmdAdminVlivery(Player player, int livery) + { + if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true) + { + ChatService.NotAuthorized(player); + return; + } + + if (!player.IsInVehicle) + { + ChatService.ErrorMessage(player, "Du sitzt momentan nicht in einem Fahrzeug"); + return; + } + + Vehicle playerVeh = player.Vehicle; + + playerVeh.Livery = livery; + + using (var dbContext = new DatabaseContext()) + { + ServerVehicle serverVeh = VehicleManager.GetServerVehicleFromVehicle(playerVeh, dbContext); + if (serverVeh != null) + { + serverVeh.Livery = livery; + dbContext.SaveChanges(); + } + } + } - #region ALevel1337 [Command("wepmod", "~m~Benutzung: ~s~/wepmod [Variable]")] public void CmdWeaponModifier(Player player, float modifier) {