From eb25db30fd3af5149c8b09a778731089df8312df Mon Sep 17 00:00:00 2001 From: hydrant Date: Mon, 13 Apr 2020 12:01:22 +0200 Subject: [PATCH] =?UTF-8?q?/Revive=20geld=20f=C3=BCr=20sani=20kasse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Commands/FactionCommands.cs | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) 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;