Sani Checkpoint Rework
This commit is contained in:
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user