diff --git a/ReallifeGamemode.Server/Events/Death.cs b/ReallifeGamemode.Server/Events/Death.cs index 3aba410d..17bcdb22 100644 --- a/ReallifeGamemode.Server/Events/Death.cs +++ b/ReallifeGamemode.Server/Events/Death.cs @@ -198,6 +198,11 @@ namespace ReallifeGamemode.Server.Events //ChatService.SendMessage(player, "Debug7"); player.ResetData("PilotenBase"); job.StopJob(player); + if(player.HasData("Passager")) + { + player.TriggerEvent("CLIENT:stopFare"); + player.WarpOutOfVehicle(); + } ChatService.SendMessage(player, $"~y~[JOB]~s~ Du hast deinen Job ~o~{job.Name}~s~ beendet."); if (player.GetData("HatRoute") == true) { diff --git a/ReallifeGamemode.Server/Job/BusDriverJob.cs b/ReallifeGamemode.Server/Job/BusDriverJob.cs index e0aca217..e920bc2e 100644 --- a/ReallifeGamemode.Server/Job/BusDriverJob.cs +++ b/ReallifeGamemode.Server/Job/BusDriverJob.cs @@ -497,14 +497,6 @@ namespace ReallifeGamemode.Server.Job CheckPointHandle.DeleteCheckpoints(player); if (!player.HasData("isDead") || player.GetData("isDead") == false) { - if (player.GetUser().JobId == 1)//Taxifahrer - { - //VehicleManager.DeleteVehicle(v); - } - if (player.GetUser().JobId == 2)//Müllmann - { - //VehicleManager.DeleteVehicle(v); - } if (player.GetUser().JobId == 3)//Pilot { if (!player.HasData("PilotenBase") || player.GetData("PilotenBase") == 1) //Sandyshores diff --git a/ReallifeGamemode.Server/Job/TaxiDriverJob.cs b/ReallifeGamemode.Server/Job/TaxiDriverJob.cs index 8d621634..76bea23c 100644 --- a/ReallifeGamemode.Server/Job/TaxiDriverJob.cs +++ b/ReallifeGamemode.Server/Job/TaxiDriverJob.cs @@ -81,14 +81,28 @@ namespace ReallifeGamemode.Server.Job player.SetData("FareKm", km); int targetId = player.GetData("Passager"); if (targetId == 0) return; + using (var dbContext = new DatabaseContext()) { if (player.HasData("hasPassager")) { User target = dbContext.Users.Where(u => u.Id == targetId).FirstOrDefault(); - target.Handmoney -= amount; - player.GetUser(dbContext).Wage += amount; - dbContext.SaveChanges(); + if(target.Handmoney <= 0) + { + player.SetData("hasPassager", false); + player.SendNotification("~r~[Info] ~w~ Dein Kunde hat kein Geld mehr auf der Hand."); + if(player.HasData("Passager")) + { + player.SendNotification("~r~[Info] ~w~ Du hast kein Geld mehr auf der Hand."); + player.TriggerEvent("CLIENT:stopFare"); + player.WarpOutOfVehicle(); + } + } + else { + target.Handmoney -= amount; + player.GetUser(dbContext).Wage += amount; + dbContext.SaveChanges(); + } //target.Player.TriggerEvent("SERVER:SET_HANDMONEY", target.Handmoney); } }