diff --git a/ReallifeGamemode.Client/Interaction/factioninteraction.ts b/ReallifeGamemode.Client/Interaction/factioninteraction.ts index 392030df..facb710b 100644 --- a/ReallifeGamemode.Client/Interaction/factioninteraction.ts +++ b/ReallifeGamemode.Client/Interaction/factioninteraction.ts @@ -313,7 +313,7 @@ export default function factionInteraction(globalData: IGlobalData) { } else { if (tasks[index].MedicName === "none") { mp.game.graphics.requestStreamedTextureDict("medicimages", true); - mp.events.callRemote("updateMedicTask", 0, index); + mp.events.callRemote("updateMedicTask", 0, tasks[index].Victim); mp.game.ui.setNewWaypoint(tasks[index].Position.x, tasks[index].Position.y); activeCheckpoint = mp.checkpoints.new(1, new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 2), 3.0, { @@ -367,7 +367,7 @@ export default function factionInteraction(globalData: IGlobalData) { } else { if (tasks[index].MedicName === "none") { mp.game.graphics.requestStreamedTextureDict("medicimages", true); - mp.events.callRemote("updateMedicTask", 1, index); + mp.events.callRemote("updateMedicTask", 1, tasks[index].Victim); mp.game.ui.setNewWaypoint(tasks[index].Position.x, tasks[index].Position.y); activeCheckpoint = mp.checkpoints.new(1, new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 2), 3.0, { diff --git a/ReallifeGamemode.Server/Factions/Medic/Medic.cs b/ReallifeGamemode.Server/Factions/Medic/Medic.cs index f4050385..1f12a5a3 100644 --- a/ReallifeGamemode.Server/Factions/Medic/Medic.cs +++ b/ReallifeGamemode.Server/Factions/Medic/Medic.cs @@ -192,27 +192,27 @@ namespace ReallifeGamemode.Server.Factions.Medic } [RemoteEvent("updateMedicTask")] - public void UpdateMedicTasks(Player player, int type, int index) + public void UpdateMedicTasks(Player player, int type, string victim) { - Player target = PlayerService.GetPlayerByNameOrId(ReviveTasks[index].Victim); + Player target = PlayerService.GetPlayerByNameOrId(victim); switch (type) { case 0: - - ReviveTasks[index].MedicName = player.Name; - ChatService.BroadcastFaction("~y~[MEDIC] ~w~" + player.Name + " hat den Reviveauftrag von " + ReviveTasks[index].Victim + " angenommen.", new List() { 2 }); + var reviveTask = ReviveTasks.FirstOrDefault(t => t.Victim == victim); + reviveTask.MedicName = player.Name; + ChatService.BroadcastFaction("~y~[MEDIC] ~w~" + player.Name + " hat den Reviveauftrag von " + victim + " angenommen.", new List() { 2 }); target.SendNotification("~w~Sanitäter~g~ " + player.Name + "~w~ eilt zur Rettung."); - break; case 1: - HealTasks[index].MedicName = player.Name; - ChatService.BroadcastFaction("~y~[MEDIC] ~w~" + player.Name + " hat den Healauftrag von " + ReviveTasks[index].Victim + " angenommen.", new List() { 2 }); + var healTask = ReviveTasks.FirstOrDefault(t => t.Victim == victim); + healTask.MedicName = player.Name; + ChatService.BroadcastFaction("~y~[MEDIC] ~w~" + player.Name + " hat den Healauftrag von " + victim + " angenommen.", new List() { 2 }); target.SendNotification("~w~Sanitäter~g~ " + player.Name + "~w~ hat deinen Auftrag angenommen."); break; case 2: - FireTasks[index].MedicName = player.Name; + //FireTasks[index].MedicName = player.Name; break; } } diff --git a/ReallifeGamemode.Server/Managers/InteractionManager.cs b/ReallifeGamemode.Server/Managers/InteractionManager.cs index 5d6875fc..5557ee5e 100644 --- a/ReallifeGamemode.Server/Managers/InteractionManager.cs +++ b/ReallifeGamemode.Server/Managers/InteractionManager.cs @@ -772,13 +772,13 @@ namespace ReallifeGamemode.Server.Managers if (!player.IsLoggedIn()) return; List players = NAPI.Pools.GetAllPlayers(); - var listPlayers = players.Where(p => p.GetUser().Wanteds > 0) - .Select(p => new - { - Id = p.Handle.Value, - p.Name, - wanted = p.GetUser().Wanteds, - }); + var listPlayers = players + .Select(p => new + { + Id = p.Handle.Value, + p.Name, + wanted = p.GetUser()?.Wanteds, + }).Where(u => u.wanted > 0).ToList(); if (listPlayers.Count() > 0) player.TriggerEvent("showWantedlist", JsonConvert.SerializeObject(listPlayers));