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; } }