From 81fc9f6c6e6bfe8bf68067f858769b7d350c9b77 Mon Sep 17 00:00:00 2001 From: VegaZ Date: Sat, 13 Feb 2021 17:26:09 +0100 Subject: [PATCH] Rework deathdate in ReviveTasks --- .../Interaction/factioninteraction.ts | 14 +++++++++----- .../Commands/AdminCommands.cs | 19 +++++++++++++++++++ .../Factions/Medic/Medic.cs | 13 ++++++++++--- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/ReallifeGamemode.Client/Interaction/factioninteraction.ts b/ReallifeGamemode.Client/Interaction/factioninteraction.ts index 227fef86..9ffbd25d 100644 --- a/ReallifeGamemode.Client/Interaction/factioninteraction.ts +++ b/ReallifeGamemode.Client/Interaction/factioninteraction.ts @@ -13,6 +13,7 @@ export default function factionInteraction(globalData: IGlobalData) { var screenRes = mp.game.graphics.getScreenResolution(0, 0); var player = mp.players.local; var tasks; + var deathSeconds; var initTasks; var newTasks; var sorting = 0; @@ -37,10 +38,12 @@ export default function factionInteraction(globalData: IGlobalData) { var factionInteractionMenu; var healTaskMenuMedic; var reviveTaskMenuMedic; - + var insDate; /*mp.events.add("updateFactionBlips", (type, taskList) => { + }); });*/ + mp.events.add("showFactionInteractionLSPD", (userFactionId, isDuty, userFactionName, isFactionLeader) => { //LSPD let ticketTaskMenuLSPD; @@ -284,9 +287,10 @@ export default function factionInteraction(globalData: IGlobalData) { }); - mp.events.add("showMedicTasks", (type, taskList) => { + mp.events.add("showMedicTasks", (type, taskList, deathTimes) => { tasks = JSON.parse(taskList); + deathSeconds = JSON.parse(deathTimes); if (sorting === 0) { initTasks = tasks; } @@ -332,7 +336,7 @@ export default function factionInteraction(globalData: IGlobalData) { dimension: 0 }); reviveTaskMenuMedic.Close(); - deathTime = tasks[index].Time; + deathTime = deathSeconds[index]; mp.gui.chat.activate(true); globalData.InMenu = false; ambulanceImagePos = 0.325 @@ -523,10 +527,10 @@ export default function factionInteraction(globalData: IGlobalData) { var currentDate = new Date(); if (deadRespawned == false) { - timeLeft = Math.round(Math.abs(deathTime.getTime() - 30 - Math.floor(currentDate.getTime() / 1000))); + timeLeft = Math.round(Math.abs(deathTime - 30 - Math.floor(currentDate.getTime() / 1000))); if (timeLeft < 1) mp.events.call("cutMedicEarnings"); } else { - timeLeft = Math.round(Math.abs(deathTime.getTime() - 60 - Math.floor(currentDate.getTime() / 1000))); + timeLeft = Math.round(Math.abs(deathTime - 60 - Math.floor(currentDate.getTime() / 1000))); if (timeLeft < 1) mp.events.call("destroyMedicTaskCheckpoint"); } diff --git a/ReallifeGamemode.Server/Commands/AdminCommands.cs b/ReallifeGamemode.Server/Commands/AdminCommands.cs index a6e349a1..f5614a63 100644 --- a/ReallifeGamemode.Server/Commands/AdminCommands.cs +++ b/ReallifeGamemode.Server/Commands/AdminCommands.cs @@ -161,6 +161,25 @@ namespace ReallifeGamemode.Server.Commands #region Mapping / Entwicklung + [Command("fakedeath", "~m~Benutzung: ~s~/fakedeath")] //Für Testing + public void CmdFakeDeath(Player player) + { + MedicTask reviveTask = new MedicTask() + { + Victim = "Test", + Position = new Vector3(1157.56f, -1510.56f, 34.8434f), + CauseOfDeath = "FAKE", + Caller = null, + Description = "Gestorben", + Time = DateTime.Now, + Type = MedicTaskType.REVIVE, + MedicName = "none", + }; + Int32[] deathTimes = new Int32[] { 1613155414, 1613155340, 1613155222 }; + player.SendChatMessage("SERVER: " + reviveTask.Time.ToString()); + player.TriggerEvent("serializeString", JsonConvert.SerializeObject(reviveTask), JsonConvert.SerializeObject(deathTimes)); + } + [Command("team", "~m~Benutzung: ~s~/team")] public void CmdAdminTeam(Player player) { diff --git a/ReallifeGamemode.Server/Factions/Medic/Medic.cs b/ReallifeGamemode.Server/Factions/Medic/Medic.cs index 989f7e9d..8e17da37 100644 --- a/ReallifeGamemode.Server/Factions/Medic/Medic.cs +++ b/ReallifeGamemode.Server/Factions/Medic/Medic.cs @@ -7,6 +7,7 @@ using ReallifeGamemode.Services; using ReallifeGamemode.Database.Entities; using ReallifeGamemode.Database.Models; using Microsoft.EntityFrameworkCore; +using System; /** * @overview Life of German Reallife - Server Factions Medic Medic.cs @@ -76,15 +77,21 @@ namespace ReallifeGamemode.Server.Factions.Medic switch (type) { case 0: - player.TriggerEvent("showMedicTasks", 0, JsonConvert.SerializeObject(ReviveTasks)); + List deathTimes = new List(); + foreach(var task in ReviveTasks) + { + deathTimes.Add(((DateTimeOffset)task.Time).ToUnixTimeSeconds()); + } + + player.TriggerEvent("showMedicTasks", 0, JsonConvert.SerializeObject(ReviveTasks), JsonConvert.SerializeObject(deathTimes)); break; case 1: - player.TriggerEvent("showMedicTasks", 1, JsonConvert.SerializeObject(HealTasks)); + player.TriggerEvent("showMedicTasks", 1, JsonConvert.SerializeObject(HealTasks), null); break; case 2: - player.TriggerEvent("showMedicTasks", 2, JsonConvert.SerializeObject(FireTasks)); + player.TriggerEvent("showMedicTasks", 2, JsonConvert.SerializeObject(FireTasks), null); break; } }