From d55ceb53c474330d5893b77bd9959cf2cf22c747 Mon Sep 17 00:00:00 2001 From: hydrant Date: Sun, 9 May 2021 22:32:23 +0200 Subject: [PATCH] reparieren bei fremden auto erlauben --- ReallifeGamemode.Server/Managers/TuningManager.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ReallifeGamemode.Server/Managers/TuningManager.cs b/ReallifeGamemode.Server/Managers/TuningManager.cs index 3cd7824e..4f0f2ccd 100644 --- a/ReallifeGamemode.Server/Managers/TuningManager.cs +++ b/ReallifeGamemode.Server/Managers/TuningManager.cs @@ -36,7 +36,7 @@ namespace ReallifeGamemode.Server.Managers colShape.OnEntityEnterColShape += (cs, c) => { using var dbContext = new DatabaseContext(); - if (c.IsInVehicle && c.VehicleSeat == 0 && IsPlayerAllowedToTuneVehicle(c, c.Vehicle, dbContext)) + if (c.IsInVehicle && c.VehicleSeat == 0) { c.TriggerEvent("showTuningInfo"); } @@ -53,7 +53,7 @@ namespace ReallifeGamemode.Server.Managers tuningGarages.Add(colShape); } - private static bool IsPlayerAllowedToTuneVehicle(Player c, Vehicle vehicle, DatabaseContext dbContext) + private static bool IsPlayerAllowedToTuneVehicle(Player c, ServerVehicle serverVehicle, DatabaseContext dbContext) { User user = c.GetUser(); if (user == null) @@ -61,7 +61,6 @@ namespace ReallifeGamemode.Server.Managers return false; } - ServerVehicle serverVehicle = vehicle.GetServerVehicle(dbContext); if (serverVehicle == null) { return false; @@ -120,13 +119,20 @@ namespace ReallifeGamemode.Server.Managers bool onlyRepair = false; - ServerVehicle serverVehicle = vehicle.GetServerVehicle(); + using var dbContext = new DatabaseContext(); + + ServerVehicle serverVehicle = vehicle.GetServerVehicle(dbContext); if (serverVehicle is FactionVehicle factionVehicle && factionVehicle.BuyPrice == 0) { player.SendNotification("~r~Dieses Fahrzeug kann aktuell leider nicht getunt werden"); onlyRepair = true; } + if (!IsPlayerAllowedToTuneVehicle(player, serverVehicle, dbContext)) + { + onlyRepair = true; + } + player.TriggerEvent("showTuningMenu", false, GetVehicleBasePrice(player.Vehicle), onlyRepair); }