Sani Checkpoint Rework

This commit is contained in:
VegaZ
2021-04-09 00:32:29 +02:00
parent cb020aa007
commit 40d9b92dfe

View File

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