diff --git a/ReallifeGamemode.Server/Commands/FactionCommands.cs b/ReallifeGamemode.Server/Commands/FactionCommands.cs index 0ffb89eb..8cef84a8 100644 --- a/ReallifeGamemode.Server/Commands/FactionCommands.cs +++ b/ReallifeGamemode.Server/Commands/FactionCommands.cs @@ -1,4 +1,5 @@ using GTANetworkAPI; +using Microsoft.EntityFrameworkCore; using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Models; using ReallifeGamemode.Server.Extensions; @@ -108,7 +109,7 @@ namespace ReallifeGamemode.Server.Commands target.GetUser(dbContext).FactionRankId = fr.Id; - ChatService.SendMessage(player, "!{02FCFF}Du hast " + target.Name + " den Rang '" + fr.Order + "(" + fr.RankName + ")' gegeben."); + ChatService.SendMessage(player, "!{02FCFF}Du hast " + target.Name + " den Rang '" + fr.Order + "(" + fr.RankName + ")' gegeben."); ChatService.SendMessage(target, "!{02FCFF}Du hast von " + player.Name + " den Rang '" + fr.Order + "(" + fr.RankName + ")' erhalten."); dbContext.SaveChanges(); @@ -190,6 +191,7 @@ namespace ReallifeGamemode.Server.Commands return; } + using var dbContext = new DatabaseContext(); var nearPlayers = NAPI.Player.GetPlayersInRadiusOfPlayer(2, player); var deadPlayer = nearPlayers.Where(i => i.GetData("isDead") == true).FirstOrDefault(); if (player == deadPlayer) @@ -197,10 +199,29 @@ namespace ReallifeGamemode.Server.Commands ChatService.ErrorMessage(player, "Du kannst dich nicht selbst wiederbeleben"); return; } + + var deadPlayerUser = deadPlayer.GetUser(dbContext); + + int factionMoney = 100; + + if (deadPlayerUser.Handmoney >= 100) + { + deadPlayerUser.Handmoney -= 100; + } + else + { + factionMoney = deadPlayerUser.Handmoney; + deadPlayerUser.Handmoney = 0; + } + + dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += factionMoney; + dbContext.SaveChanges(); + player.PlayAnimation("amb@medic@standing@kneel@enter", "enter", 0); deadPlayer.TriggerEvent("onPlayerRevived"); - deadPlayer.SendNotification("Du wurdest von ~r~" + player.Name + "~s~ wiederbelebt."); + ChatService.SendMessage(deadPlayer, $"Du wurdest von ~y~{player.Name}~s~ für ~g~{factionMoney.ToMoneyString()} wiederbelebt."); + ChatService.SendMessage(player, $"Du hast ~y~{deadPlayer.Name}~s~ wiederbelebt."); deadPlayer.SetData("isDead", false); NAPI.Player.SpawnPlayer(deadPlayer, deadPlayer.Position); deadPlayer.Health = 50;