diff --git a/ReallifeGamemode.Client/Interaction/factioninteraction.ts b/ReallifeGamemode.Client/Interaction/factioninteraction.ts index f10a8a11..81fee996 100644 --- a/ReallifeGamemode.Client/Interaction/factioninteraction.ts +++ b/ReallifeGamemode.Client/Interaction/factioninteraction.ts @@ -18,7 +18,8 @@ export default function factionInteraction(globalData: IGlobalData) { var sorting = 0; var firstSorting = true; var activeTask = null; - var activeCheckpoint: CheckpointMp; + var activeMarker: MarkerMp; + var activeColshape: ColshapeMp; var taskStart; var taskFinish; var taskRange; @@ -234,7 +235,7 @@ export default function factionInteraction(globalData: IGlobalData) { factionInteractionMenu.AddItem(fireTaskMenuMedic); */ if (activeTask != null) { - if (activeTask.Type == 1 && activeCheckpoint && mp.checkpoints.exists(activeCheckpoint)) { + if (activeTask.Type == 1 && activeColshape && mp.colshapes.exists(activeColshape)) { deleteCheckpointItem = new UIMenuItem("~r~Checkpoint löschen"); factionInteractionMenu.AddItem(deleteCheckpointItem); } @@ -320,13 +321,13 @@ export default function factionInteraction(globalData: IGlobalData) { mp.game.graphics.requestStreamedTextureDict("medicimages", true); mp.events.callRemote("updateMedicTask", 0, tasks[index].Victim); mp.game.ui.setNewWaypoint(tasks[index].Position.x, tasks[index].Position.y); - activeCheckpoint = mp.checkpoints.new(4, new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 2), 3.0, + activeMarker = mp.markers.new(1, new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 1), 3.0, { - direction: new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 5), color: [255, 0, 0, 150], visible: true, dimension: 0 }); + activeColshape = mp.colshapes.newTube(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 1, 2, 3, 0); reviveTaskMenuMedic.Close(); mp.gui.chat.activate(true); globalData.InMenu = false; @@ -374,13 +375,13 @@ export default function factionInteraction(globalData: IGlobalData) { mp.game.graphics.requestStreamedTextureDict("medicimages", true); mp.events.callRemote("updateMedicTask", 1, tasks[index].Victim); mp.game.ui.setNewWaypoint(tasks[index].Position.x, tasks[index].Position.y); - activeCheckpoint = mp.checkpoints.new(4, new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 2), 3.0, + activeMarker = mp.markers.new(1, new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 1), 3.0, { - direction: new mp.Vector3(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 5), color: [255, 0, 0, 150], visible: true, dimension: 0 }); + activeColshape = mp.colshapes.newTube(tasks[index].Position.x, tasks[index].Position.y, tasks[index].Position.z - 1, 2, 3, 0); healTaskMenuMedic.Close(); mp.gui.chat.activate(true); globalData.InMenu = false; @@ -404,19 +405,27 @@ export default function factionInteraction(globalData: IGlobalData) { } }); - mp.events.add('playerEnterCheckpoint', (activeCheckpoint) => { + mp.events.add('playerEnterColshape', (activeColshape) => { if (activeTask.Type == 1) { - activeCheckpoint.destroy(); - activeCheckpoint = null; + activeColshape.destroy(); + activeColshape = null; + if (mp.markers.exists(activeMarker)) { + activeMarker.destroy(); + activeMarker = null; + } activeTask = null; timeLeft = null; } }); mp.events.add("destroyMedicTaskCheckpoint", () => { - if (activeCheckpoint && mp.checkpoints.exists(activeCheckpoint)) { - activeCheckpoint.destroy(); - activeCheckpoint = null; + if (activeColshape && mp.colshapes.exists(activeColshape)) { + activeColshape.destroy(); + activeColshape = null; + if (mp.markers.exists(activeMarker)) { + activeMarker.destroy(); + activeMarker = null; + } activeTask = null; timeLeft = null; } @@ -430,16 +439,13 @@ export default function factionInteraction(globalData: IGlobalData) { mp.events.add('updateHealCheckpoint', (xPos, yPos, zPos) => { if (activeTask && activeTask.Type == 1) { - activeCheckpoint.destroy(); - activeCheckpoint = null; - activeCheckpoint = mp.checkpoints.new(4, new mp.Vector3(xPos, yPos, zPos - 2), 3.0, - { - direction: new mp.Vector3(xPos, yPos, zPos - 5), - color: [255, 0, 0, 150], - visible: true, - dimension: 0 - }); - + if (mp.colshapes.exists(activeColshape) && mp.markers.exists(activeMarker)) { + activeMarker.setCoords2(xPos, yPos, zPos, 0, 0, 0, false); + activeColshape.setCoords2(xPos, yPos, zPos, 0, 0, 0, false); + } + taskFinish.x = xPos; + taskFinish.y = yPos; + taskFinish.z = zPos; mp.game.ui.setNewWaypoint(xPos, yPos); } });