From 97d8f3e860b043c7c3f473130698aad9b5713c1a Mon Sep 17 00:00:00 2001 From: VegaZ Date: Mon, 12 Apr 2021 18:34:50 +0200 Subject: [PATCH 01/12] Remove NoClip Notification --- ReallifeGamemode.Client/Player/freecam.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReallifeGamemode.Client/Player/freecam.ts b/ReallifeGamemode.Client/Player/freecam.ts index 2dbe1fbe..b21748d1 100644 --- a/ReallifeGamemode.Client/Player/freecam.ts +++ b/ReallifeGamemode.Client/Player/freecam.ts @@ -24,7 +24,7 @@ LCtrl: 17, Shift: 16 }; - mp.game.graphics.notify('~r~NoClip ~w~by ~b~Morbo'); + //mp.game.graphics.notify('~r~NoClip ~w~by ~b~Morbo'); var isNoClip = false; var noClipCamera; var shiftModifier = false; From 5ba5eec242bff9717943ff0f23da21ac38f98816 Mon Sep 17 00:00:00 2001 From: hydrant Date: Mon, 12 Apr 2021 19:48:54 +0200 Subject: [PATCH 02/12] [HOTFIX] fix crash when medic with healtask logs out --- ReallifeGamemode.Server/Factions/Medic/Medic.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ReallifeGamemode.Server/Factions/Medic/Medic.cs b/ReallifeGamemode.Server/Factions/Medic/Medic.cs index 9fac5d0f..7bb2fd2d 100644 --- a/ReallifeGamemode.Server/Factions/Medic/Medic.cs +++ b/ReallifeGamemode.Server/Factions/Medic/Medic.cs @@ -182,6 +182,12 @@ namespace ReallifeGamemode.Server.Factions.Medic { var medic = PlayerService.GetPlayerByNameOrId(task.MedicName); var victim = PlayerService.GetPlayerByNameOrId(task.Victim); + + if(medic == null || victim == null) + { + continue; + } + task.Position = victim.Position; medic.TriggerEvent("updateHealCheckpoint", victim.Position.X, victim.Position.Y, victim.Position.Z); } From 5f24506df4f00d452dbae7710990067de68d3ffa Mon Sep 17 00:00:00 2001 From: hydrant Date: Mon, 12 Apr 2021 19:49:15 +0200 Subject: [PATCH 03/12] =?UTF-8?q?[HOTFIX]=20m=C3=BCllmann=20server=20crash?= =?UTF-8?q?=20danke=20siga?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReallifeGamemode.Server/Job/RefuseCollectorJob.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs b/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs index b970da03..b682e78e 100644 --- a/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs +++ b/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs @@ -180,7 +180,11 @@ namespace ReallifeGamemode.Server.Job public void MuellmannJobBeenden(Player player) { - JobBase job = JobManager.GetJob(player.GetUser().JobId ?? -1); + if(player == null || !player.IsLoggedIn()) + { + return; + } + player.TriggerEvent("SERVER:MuellmannStatusFalse"); player.TriggerEvent("SERVER:MuellmannBCSEntfernen"); From b6bbe59b271db7ec1fc622867fda882aaa9e9eed Mon Sep 17 00:00:00 2001 From: hydrant Date: Mon, 12 Apr 2021 19:54:06 +0200 Subject: [PATCH 04/12] [HOTFIX] frakcar verkaufen --- .../Managers/InteractionManager.cs | 64 +++++++++---------- 1 file changed, 29 insertions(+), 35 deletions(-) diff --git a/ReallifeGamemode.Server/Managers/InteractionManager.cs b/ReallifeGamemode.Server/Managers/InteractionManager.cs index 7906e1f2..71a4e92c 100644 --- a/ReallifeGamemode.Server/Managers/InteractionManager.cs +++ b/ReallifeGamemode.Server/Managers/InteractionManager.cs @@ -260,13 +260,13 @@ namespace ReallifeGamemode.Server.Managers UpdateCharacterCloth.LoadCharacterDefaults(targetPlayer); ChatService.SendMessage(targetPlayer, "!{02FCFF}Du wurdest von " + player.Name + " aus der Fraktion geworfen."); FactionHelper.ResetPlayer(targetPlayer, targetUser, dbContext); - } + } Medic.UpdateDutyMedics(); targetUser.FactionRankId = null; targetUser.FactionId = null; targetUser.SetBlipAndNametagColor(); - - ChatService.SendMessage(player, "!{02FCFF}Du hast " + targetUser.Name + " aus der Fraktion geworfen."); + + ChatService.SendMessage(player, "!{02FCFF}Du hast " + targetUser.Name + " aus der Fraktion geworfen."); dbContext.SaveChanges(); } @@ -449,7 +449,7 @@ namespace ReallifeGamemode.Server.Managers [RemoteEvent("CLIENT:InteractionMenu_PlayerVehicleInteraction")] public void PlayerVehicleInteraction(Player player, int id, string selection) { - using var dbContext = new DatabaseContext(true); + using var dbContext = new DatabaseContext(); var user = player.GetUser(dbContext); var userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault(); @@ -467,7 +467,7 @@ namespace ReallifeGamemode.Server.Managers else if (selection == "Verkaufen") { var vehPrice = userVehicle.Price; - var backPrice = (int)(vehPrice * 0.6); + var backPrice = (int)(vehPrice * 0.4); user.BankAccount.Balance += backPrice; @@ -483,9 +483,25 @@ namespace ReallifeGamemode.Server.Managers [RemoteEvent("CLIENT:InteractionMenu_FactionVehicleInteraction")] public void FactionVehicleInteraction(Player player, int id, string selection) { - using var dbContext = new DatabaseContext(true); + using var dbContext = new DatabaseContext(); var user = player.GetUser(dbContext); + if(user.FactionId == null) + { + return; + } + + if(!user.FactionLeader) + { + return; + } + + if(user.Faction.StateOwned) + { + ChatService.ErrorMessage(player, "Der Fuhrpark der Staatsfraktionen kann über die Leaderverwaltung geändert werden"); + return; + } + var factionVehicle = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).FirstOrDefault(); if (factionVehicle == null) { @@ -498,46 +514,24 @@ namespace ReallifeGamemode.Server.Managers { player.TriggerEvent("SERVER:Util_setWaypoint", veh.Position.X, veh.Position.Y); } - } - - [RemoteEvent("CLIENT:InteractionMenu_FactionVehicleInteractionSell")] - public void FactionVehicleInteractionSell(Player player, int id, string selection) - { - using var dbContext = new DatabaseContext(true); - var user = player.GetUser(dbContext); - - var factionVehicle = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).FirstOrDefault(); - if (factionVehicle == null) + else if (selection == "Verkaufen") { - ChatService.ErrorMessage(player, "Das Fahrzeug wurde nicht gefunden"); - } - - GTANetworkAPI.Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(factionVehicle); - - if (selection == "Verkaufen") - { - if (dbContext.FactionVehicles.ToList().Where(f => f.GetOwners().Contains(user.FactionId.Value)).Count() <= 6) + var price = dbContext.ShopVehicles.Where(v => v.Model == factionVehicle.Model && v.Active).Select(s => new { s.Price }).FirstOrDefault(); + if (price == null) { - ChatService.ErrorMessage(player, "Die Fraktion muss mindestens 6 Fahrzeuge besitzen"); + ChatService.ErrorMessage(player, "Das Fahrzeug konnte nicht verkauft werden. Bitte melde dich bei der Leaderverwaltung"); return; } - - if (factionVehicle.Model == VehicleHash.Policet || factionVehicle.Model == VehicleHash.Burrito3) - { - ChatService.ErrorMessage(player, "Der WT kann nicht verkauft werden"); - return; - } - - var backPrice = factionVehicle.BuyPrice; + var backPrice = (int)(price.Price * 1.5 * 0.4); user.Faction.BankAccount.Balance += backPrice; - ChatService.SendMessage(player, $"~b~[INFO]~s~ Deine Fraktion hat durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten."); + ChatService.SendMessage(player, $"~b~[INFO]~s~ Die Fraktionskasse ~g~{backPrice.ToMoneyString()}~s~ erhalten."); dbContext.FactionVehicles.Remove(factionVehicle); dbContext.SaveChanges(); - veh.Delete(); + veh?.Delete(); } } From 24bc6aa49b95e82c90e2bdc1d36c9022ebc00b97 Mon Sep 17 00:00:00 2001 From: hydrant Date: Mon, 12 Apr 2021 19:54:26 +0200 Subject: [PATCH 05/12] [HOTFIX] fix wt einsteigen --- .../WeaponDeal/WeaponDealManager.cs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/ReallifeGamemode.Server/WeaponDeal/WeaponDealManager.cs b/ReallifeGamemode.Server/WeaponDeal/WeaponDealManager.cs index e2aa0781..692f018e 100644 --- a/ReallifeGamemode.Server/WeaponDeal/WeaponDealManager.cs +++ b/ReallifeGamemode.Server/WeaponDeal/WeaponDealManager.cs @@ -17,18 +17,13 @@ namespace ReallifeGamemode.Server.WeaponDeal private const int WEAPON_AMOUNT_COP_STUNGUN = 4; public static bool checkWeaponDbyVehicle(Vehicle vehicle) { - if (!vehicle.HasData("WeaponDealLoad") || vehicle.GetData("WeaponDealLoad") == false) + if ((vehicle.HasData("WeaponDealLoad") && vehicle.GetData("WeaponDealLoad") == true) || + (vehicle.HasData("weaponDeal") && vehicle.GetData("weaponDeal") == true)) { - return false; - } - - - if(!vehicle.HasData("weaponDeal") || vehicle.GetData("weapionDeal") == false) - { - return false; + return true; } - return true; + return false; } [RemoteEvent("startWeaponDeal")] @@ -48,7 +43,7 @@ namespace ReallifeGamemode.Server.WeaponDeal Vehicle fVeh = VehicleManager.GetVehicleFromServerVehicle(factionVehicle); - if (fVeh.HasData("weaponDeal") && fVeh.GetData("weaponDeal") == true) + if (checkWeaponDbyVehicle(fVeh)) { ChatService.ErrorMessage(client, "Es läuft aktuell schon ein Waffentransport"); return; From 1820e203af263f4ac467958e3a4b0d6cea84d3e2 Mon Sep 17 00:00:00 2001 From: hydrant Date: Mon, 12 Apr 2021 19:56:28 +0200 Subject: [PATCH 06/12] [HOTFIX] vehicle door --- ReallifeGamemode.Client/vehiclesync/door.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ReallifeGamemode.Client/vehiclesync/door.ts b/ReallifeGamemode.Client/vehiclesync/door.ts index 9db5da9d..0470c118 100644 --- a/ReallifeGamemode.Client/vehiclesync/door.ts +++ b/ReallifeGamemode.Client/vehiclesync/door.ts @@ -1,13 +1,22 @@ export default function door() { mp.events.add("CLIENT:SetDoorOpen", (door, lose, permanent) => { - mp.players.local.vehicle.setDoorOpen(door, lose, permanent); + var vehicle = mp.players.local.vehicle; + if (vehicle && mp.vehicles.exists(vehicle)) { + vehicle.setDoorOpen(door, lose, permanent); + } }); mp.events.add("CLIENT:SetDoorShut", (door, permanent) => { - mp.players.local.vehicle.setDoorShut(door, permanent); + var vehicle = mp.players.local.vehicle; + if (vehicle && mp.vehicles.exists(vehicle)) { + mp.players.local.vehicle.setDoorShut(door, permanent); + } }); mp.events.add("CLIENT:SetDoorShutDelayed", (door, permanent, time) => { setTimeout(function () { - mp.players.local.vehicle.setDoorShut(door, permanent); + var vehicle = mp.players.local.vehicle; + if (vehicle && mp.vehicles.exists(vehicle)) { + vehicle.setDoorShut(door, permanent); + } }, time) }); } \ No newline at end of file From b7849b0316945acb080c7ebc17125cb3f905cc03 Mon Sep 17 00:00:00 2001 From: hydrant Date: Mon, 12 Apr 2021 20:00:45 +0200 Subject: [PATCH 07/12] fix frakcar verkaufen --- .../Managers/InteractionManager.cs | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/ReallifeGamemode.Server/Managers/InteractionManager.cs b/ReallifeGamemode.Server/Managers/InteractionManager.cs index 71a4e92c..b822d2da 100644 --- a/ReallifeGamemode.Server/Managers/InteractionManager.cs +++ b/ReallifeGamemode.Server/Managers/InteractionManager.cs @@ -491,17 +491,6 @@ namespace ReallifeGamemode.Server.Managers return; } - if(!user.FactionLeader) - { - return; - } - - if(user.Faction.StateOwned) - { - ChatService.ErrorMessage(player, "Der Fuhrpark der Staatsfraktionen kann über die Leaderverwaltung geändert werden"); - return; - } - var factionVehicle = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).FirstOrDefault(); if (factionVehicle == null) { @@ -516,6 +505,17 @@ namespace ReallifeGamemode.Server.Managers } else if (selection == "Verkaufen") { + if (!user.FactionLeader) + { + return; + } + + if (user.Faction.StateOwned) + { + ChatService.ErrorMessage(player, "Der Fuhrpark der Staatsfraktionen kann über die Leaderverwaltung geändert werden"); + return; + } + var price = dbContext.ShopVehicles.Where(v => v.Model == factionVehicle.Model && v.Active).Select(s => new { s.Price }).FirstOrDefault(); if (price == null) { From 65676ac2a8c902b485405a544c8f6fe698bc1f88 Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 12 Apr 2021 20:02:42 +0200 Subject: [PATCH 08/12] fix report --- ReallifeGamemode.Server/Report/Report.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ReallifeGamemode.Server/Report/Report.cs b/ReallifeGamemode.Server/Report/Report.cs index 3c0ba2c7..d6d36725 100644 --- a/ReallifeGamemode.Server/Report/Report.cs +++ b/ReallifeGamemode.Server/Report/Report.cs @@ -33,11 +33,14 @@ namespace ReallifeGamemode.Server.Report return; } - if (listReports.Count == 0) + int openReports = listReports.FindAll(e => (e.isAssigned() == false)).Count; + + if (openReports == 0) { ChatService.ErrorMessage(client, "Im Moment gibt es keine Tickets."); return; } + User user = client.GetUser(); List listPlayers = new List(); List listTicketnames = new List(); From 3ada5ed2adc9739f3a6e775e861b2ff1314b6ef7 Mon Sep 17 00:00:00 2001 From: Fabian Date: Mon, 12 Apr 2021 20:13:09 +0200 Subject: [PATCH 09/12] ja --- ReallifeGamemode.Server/Report/Report.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ReallifeGamemode.Server/Report/Report.cs b/ReallifeGamemode.Server/Report/Report.cs index d6d36725..344da53a 100644 --- a/ReallifeGamemode.Server/Report/Report.cs +++ b/ReallifeGamemode.Server/Report/Report.cs @@ -33,9 +33,7 @@ namespace ReallifeGamemode.Server.Report return; } - int openReports = listReports.FindAll(e => (e.isAssigned() == false)).Count; - - if (openReports == 0) + if (listReports.FindAll(e => (e.isAssigned() == false)).Count == 0) { ChatService.ErrorMessage(client, "Im Moment gibt es keine Tickets."); return; From 1b9ecc14eb5205c20a896cc60efdc2f554038f03 Mon Sep 17 00:00:00 2001 From: hydrant Date: Mon, 12 Apr 2021 20:21:29 +0200 Subject: [PATCH 10/12] [HOTFIX] fib aufzug nativeui --- ReallifeGamemode.Server/Events/Key.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReallifeGamemode.Server/Events/Key.cs b/ReallifeGamemode.Server/Events/Key.cs index 92737c1e..84f8acc2 100644 --- a/ReallifeGamemode.Server/Events/Key.cs +++ b/ReallifeGamemode.Server/Events/Key.cs @@ -497,7 +497,7 @@ namespace ReallifeGamemode.Server.Events List stages = new List(); foreach (var e in PositionManager.ElevatorPoints) { - if (e.Position.DistanceTo2D(player.Position) <= 25 && e.Position.DistanceTo(player.Position) > 1.5) + if (e.Position.DistanceTo2D(player.Position) <= 30 && e.Position.DistanceTo(player.Position) > 1.5) { stages.Add(e.Stage); } From 17079b313280e69bd58462b2b1ad33470d2e1810 Mon Sep 17 00:00:00 2001 From: hydrant Date: Mon, 12 Apr 2021 20:21:45 +0200 Subject: [PATCH 11/12] frakcar verkaufen mind. 6 cars --- ReallifeGamemode.Server/Managers/InteractionManager.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ReallifeGamemode.Server/Managers/InteractionManager.cs b/ReallifeGamemode.Server/Managers/InteractionManager.cs index b822d2da..b8012632 100644 --- a/ReallifeGamemode.Server/Managers/InteractionManager.cs +++ b/ReallifeGamemode.Server/Managers/InteractionManager.cs @@ -516,6 +516,13 @@ namespace ReallifeGamemode.Server.Managers return; } + var factionVehicleCount = dbContext.FactionVehicles.ToList().Where(v => v.Id == id && v.GetOwners().Contains(user.FactionId.Value)).Count(); + if(factionVehicleCount <= 6) + { + ChatService.ErrorMessage(player, "Die Fraktion braucht mindestens 6 Fahrzeuge"); + return; + } + var price = dbContext.ShopVehicles.Where(v => v.Model == factionVehicle.Model && v.Active).Select(s => new { s.Price }).FirstOrDefault(); if (price == null) { From e6f116f744da9cf1076c554bd109c197b8ecfc5d Mon Sep 17 00:00:00 2001 From: hydrant Date: Mon, 12 Apr 2021 23:42:30 +0200 Subject: [PATCH 12/12] [HOTFIX] assault smg damage --- ReallifeGamemode.Client/util/weapondamage.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ReallifeGamemode.Client/util/weapondamage.ts b/ReallifeGamemode.Client/util/weapondamage.ts index 0838a977..1907a03a 100644 --- a/ReallifeGamemode.Client/util/weapondamage.ts +++ b/ReallifeGamemode.Client/util/weapondamage.ts @@ -93,6 +93,11 @@ meelemodifier = 0.1; modifier = 1; + break; + case 0xEFE7E2DF: // Assault SMG + meelemodifier = 1; + modifier = 0.259 + break; default: modifier = 1;