diff --git a/ReallifeGamemode.Server/Commands/FactionCommands.cs b/ReallifeGamemode.Server/Commands/FactionCommands.cs index e66ea3c3..a9c9e70b 100644 --- a/ReallifeGamemode.Server/Commands/FactionCommands.cs +++ b/ReallifeGamemode.Server/Commands/FactionCommands.cs @@ -219,7 +219,7 @@ namespace ReallifeGamemode.Server.Commands targetUser.GiveWanteds(player, amount, reason); } - [Command("clear", "~m~Benutzung: ~s~/clear [Name / ID] [Grund]")] + [Command("clear", "~m~Benutzung: ~s~/clear [Name / ID] [Grund]", GreedyArg = true)] public void CmdFactionClear(Client player, string nameOrId, string reason) { @@ -245,13 +245,21 @@ namespace ReallifeGamemode.Server.Commands ChatService.ErrorMessage(player, "Der Spieler hat keine Wanteds"); return; } - + ChatService.SendMessage(target, "Deine Akte wurde von "+ player.Name + " gelöscht. Grund:" + reason); + foreach (var copPlayer in NAPI.Pools.GetAllPlayers()) + { + User copUser = copPlayer.GetUser(); + if ((copUser.FactionId == 1 || copUser.FactionId == 3)) + { + ChatService.SendMessage(copPlayer, "~r~HQ: Die Akte von " + user.Name + " wurde von "+ player.Name +" gelöscht. Grund: " + reason + "."); + } + } targetUser.Wanteds = 0; dbContext.SaveChanges(); } } - [Command("release", "~m~Benutzung: ~s~/release [Name / ID] [Grund]")] + [Command("release", "~m~Benutzung: ~s~/release [Name / ID] [Grund]", GreedyArg = true)] public void CmdFactionJailRelease(Client player, string nameOrId, string reason) { User user = player.GetUser(); @@ -280,6 +288,15 @@ namespace ReallifeGamemode.Server.Commands if (targetUser.JailTime > 0) { Jail.Release_Jail(target, reason); + ChatService.SendMessage(target, "~r~Du wurdest von "+ player.Name +" aus dem Knast befreit"); + foreach (var copPlayer in NAPI.Pools.GetAllPlayers()) + { + User copUser = copPlayer.GetUser(); + if ((copUser.FactionId == 1 || copUser.FactionId == 3)) + { + ChatService.SendMessage(copPlayer, "~r~HQ: " + user.Name + " wurde von " + player.Name + " aus dem Knast entlassen. Grund: " + reason + "."); + } + } } else { diff --git a/ReallifeGamemode.Server/Extensions/ClientExtension.cs b/ReallifeGamemode.Server/Extensions/ClientExtension.cs index a5abfc5a..52acaaf4 100644 --- a/ReallifeGamemode.Server/Extensions/ClientExtension.cs +++ b/ReallifeGamemode.Server/Extensions/ClientExtension.cs @@ -108,11 +108,13 @@ namespace ReallifeGamemode.Server.Extensions User copUser = copPlayer.GetUser(); if((copUser.FactionId == 1 || copUser.FactionId == 3) && cop != null) { - ChatService.SendMessage(copPlayer, "~r~HQ: Straftat gemeldet von" + cop.Name + ". Grund: " + reason + ". Straftäter: "+ user.Name + "."); + ChatService.SendMessage(copPlayer, "~r~HQ: Straftat gemeldet von " + cop.Name + " mit Fahndungslevel "+ amount +". Grund: " + reason + ". Straftäter: "+ user.Name + "."); + ChatService.SendMessage(copPlayer, "~r~HQ: Der Straftäter: " + user.Name + " wird nun mit "+ user.Wanteds +" gesucht."); } else if((copUser.FactionId == 1 || copUser.FactionId == 3) && cop == null) { ChatService.SendMessage(copPlayer, "~r~HQ: " + user.Name + " hat eine Straftat begangen. Grund: " + reason + "."); + ChatService.SendMessage(copPlayer, "~r~HQ: Der Straftäter: " + user.Name + " wird nun mit " + user.Wanteds + " gesucht."); } } diff --git a/ReallifeGamemode.Server/Finance/Economy.cs b/ReallifeGamemode.Server/Finance/Economy.cs index 6db7dd57..e0541f8c 100644 --- a/ReallifeGamemode.Server/Finance/Economy.cs +++ b/ReallifeGamemode.Server/Finance/Economy.cs @@ -199,6 +199,11 @@ namespace ReallifeGamemode.Server.Finance if (user.PaydayTimer <= 0) { Economy.SetPaycheck(player, user.Wage); + using (var dbContext = new DatabaseContext()) + { + player.GetUser(dbContext).PaydayTimer = 60; + dbContext.SaveChanges(); + } return; } if (user.PaydayTimer > 0) @@ -210,10 +215,7 @@ namespace ReallifeGamemode.Server.Finance } } } - - } } - } } diff --git a/ReallifeGamemode.Server/Wanted/Jail.cs b/ReallifeGamemode.Server/Wanted/Jail.cs index 58790365..1eabcba9 100644 --- a/ReallifeGamemode.Server/Wanted/Jail.cs +++ b/ReallifeGamemode.Server/Wanted/Jail.cs @@ -42,6 +42,20 @@ namespace ReallifeGamemode.Server.Wanted { if (cop.GetData("duty") && copClient.Position.DistanceTo2D(client.Position) <= 200 && (!copClient.HasData("isDead") || copClient.GetData("isDead") != true)) { + using (var dbContext = new DatabaseContext()) + { + if(!client.HasData("isDead") || client.GetData("isDead") == false) + { + client.GetUser(dbContext).JailTime = (user.Wanteds * 54) / 2; // 54 sec for each wanted star -> in total 45min for 50 Wanteds + } + else + { + client.GetUser(dbContext).JailTime = (user.Wanteds * 54); + } + client.GetUser(dbContext).Wanteds = 0; + dbContext.SaveChanges(); + } + client.SetData("isDead", false); client.RemoveAllWeapons(); Random rnd = new Random(); @@ -58,13 +72,16 @@ namespace ReallifeGamemode.Server.Wanted Medic.RemoveTaskFromList(task); client.Health = 100; - using (var dbContext = new DatabaseContext()) + foreach (var copPlayer in NAPI.Pools.GetAllPlayers()) { - client.GetUser(dbContext).JailTime = user.Wanteds * 54; // 54 sec for each wanted star -> in total 45min for 50 Wanteds - client.GetUser(dbContext).Wanteds = 0; - dbContext.SaveChanges(); + User copUser = copPlayer.GetUser(); + if ((copUser.FactionId == 1 || copUser.FactionId == 3)) + { + ChatService.SendMessage(copPlayer, "~r~HQ: " + user.Name + " wurde im Knast zugewiesen."); + } } + ChatService.SendMessage(client, "Du bist im Gefängnis für " + user.JailTime + " sekunden."); Jailtime[user.Id] = user.Wanteds * 54; // 54 sec for each wanted star -> in total 45min for 50 Wanteds } }