Fix Medic 3

This commit is contained in:
VegaZ
2021-04-04 15:57:14 +02:00
parent 03617a2336
commit c51fbd3246
2 changed files with 20 additions and 22 deletions

View File

@@ -13,8 +13,6 @@ export default function factionInteraction(globalData: IGlobalData) {
var screenRes = mp.game.graphics.getScreenResolution(0, 0); var screenRes = mp.game.graphics.getScreenResolution(0, 0);
var player = mp.players.local; var player = mp.players.local;
var tasks; var tasks;
var deathSeconds;
var initTasks;
var newTasks; var newTasks;
var sorting = 0; var sorting = 0;
var firstSorting = true; var firstSorting = true;
@@ -40,6 +38,7 @@ export default function factionInteraction(globalData: IGlobalData) {
/*mp.events.add("updateFactionBlips", (type, taskList) => { /*mp.events.add("updateFactionBlips", (type, taskList) => {
}); });
});*/ });*/
mp.events.add("showFactionInteractionLSPD", (userFactionId, isDuty, userFactionName, isFactionLeader) => { mp.events.add("showFactionInteractionLSPD", (userFactionId, isDuty, userFactionName, isFactionLeader) => {
//LSPD //LSPD
@@ -280,13 +279,9 @@ export default function factionInteraction(globalData: IGlobalData) {
}); });
mp.events.add("showMedicTasks", (type, taskList, deathTimes) => { mp.events.add("showMedicTasks", (type, taskList) => {
tasks = JSON.parse(taskList); tasks = JSON.parse(taskList);
deathSeconds = JSON.parse(deathTimes);
if (sorting === 0) {
initTasks = tasks;
}
//mp.events.call("sortFactionTasks", false); //mp.events.call("sortFactionTasks", false);
@@ -407,6 +402,7 @@ export default function factionInteraction(globalData: IGlobalData) {
} }
}); });
/*
mp.events.add("sortFactionTasks", (sortByKey) => { mp.events.add("sortFactionTasks", (sortByKey) => {
if (firstSorting) { if (firstSorting) {
sortText = "Nach Uhrzeit"; sortText = "Nach Uhrzeit";
@@ -462,7 +458,7 @@ export default function factionInteraction(globalData: IGlobalData) {
} }
} }
} }
}); });*/
function getDistance1(index) { function getDistance1(index) {
return mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, newTasks[index].Position.x, newTasks[index].Position.y, newTasks[index].Position.z, true).toFixed(2); return mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, newTasks[index].Position.x, newTasks[index].Position.y, newTasks[index].Position.z, true).toFixed(2);
@@ -530,11 +526,11 @@ export default function factionInteraction(globalData: IGlobalData) {
var currentDate = new Date(); var currentDate = new Date();
if (deadRespawned == false) { if (deadRespawned == false) {
timeLeft = Math.round(Math.abs(Math.floor(currentDate.getTime() / 1000) - activeTask.TimeLeft - 60)); //timeLeft = Math.round(Math.abs(Math.floor(currentDate.getTime() / 1000) - activeTask.TimeLeft - 60));
if (timeLeft < 1) mp.events.call("cutMedicEarnings"); if (activeTask.TimeLeft < 60) mp.events.call("cutMedicEarnings");
} else { } else {
timeLeft = Math.round(Math.abs(Math.floor(currentDate.getTime() / 1000) - activeTask.TimeLeft - 120)); timeLeft = Math.round(Math.abs(Math.floor(currentDate.getTime() / 1000) - activeTask.TimeLeft - 120));
if (timeLeft < 1) mp.events.call("destroyMedicTaskCheckpoint"); if (activeTask.TimeLeft < 1) mp.events.call("destroyMedicTaskCheckpoint");
} }
if (deadRespawned == false) { if (deadRespawned == false) {

View File

@@ -75,9 +75,17 @@ namespace ReallifeGamemode.Server.Factions.Medic
public static void UpdateTaskTimeLeft() public static void UpdateTaskTimeLeft()
{ {
DateTime actualTime = DateTime.Now; DateTime actualTime = DateTime.Now;
if (ReviveTasks.Count != 0)
{
foreach (var task in ReviveTasks) foreach (var task in ReviveTasks)
{ {
task.TimeLeft = (Int32)(((DateTimeOffset)task.Time).ToUnixTimeSeconds() - ((DateTimeOffset)actualTime).ToUnixTimeSeconds() - reviveTaskTime); if (task.MedicName != null)
{
var taskTimeLeft = (Int32)(((DateTimeOffset)task.Time).ToUnixTimeSeconds() - ((DateTimeOffset)actualTime).ToUnixTimeSeconds() - reviveTaskTime);
task.TimeLeft = taskTimeLeft;
PlayerService.GetPlayerByNameOrId(task.MedicName).TriggerEvent("setTaskTimeLeft", taskTimeLeft);
}
}
} }
} }
@@ -87,21 +95,15 @@ namespace ReallifeGamemode.Server.Factions.Medic
switch (type) switch (type)
{ {
case 0: case 0:
List<long> deathTimes = new List<long>(); player.TriggerEvent("showMedicTasks", 0, JsonConvert.SerializeObject(ReviveTasks));
foreach(var task in ReviveTasks)
{
deathTimes.Add(((DateTimeOffset)task.Time).ToUnixTimeSeconds());
}
player.TriggerEvent("showMedicTasks", 0, JsonConvert.SerializeObject(ReviveTasks), JsonConvert.SerializeObject(deathTimes));
break; break;
case 1: case 1:
player.TriggerEvent("showMedicTasks", 1, JsonConvert.SerializeObject(HealTasks), null); player.TriggerEvent("showMedicTasks", 1, JsonConvert.SerializeObject(HealTasks));
break; break;
case 2: case 2:
player.TriggerEvent("showMedicTasks", 2, JsonConvert.SerializeObject(FireTasks), null); player.TriggerEvent("showMedicTasks", 2, JsonConvert.SerializeObject(FireTasks));
break; break;
} }
} }