Files
reallife-gamemode/ReallifeGamemode.Client/util/checkpoint.ts

40 lines
1.3 KiB
TypeScript

import * as NativeUI from 'NativeUI';
import InputHelper from '../inputhelper';
export default function checkpointHandle(globalData: GlobalData) {
var count = 0;
var myVar;
var posCp;
var Player;
var activeCheckpoint;
var inCheckpoint = false;
mp.events.add('setCheckPoint', (position, player) => {
inCheckpoint = false;
posCp = position;
Player = player;
activeCheckpoint = mp.markers.new(1, posCp, 3.0, {
color: [255, 0, 0, 150],
visible: true,
dimension: 0
});
//mp.events.call("SERVER:Util_setWaypoint", posCp.X, posCp.Z);
mp.game.ui.setNewWaypoint(posCp.x, posCp.y);
myVar = setInterval(myTimer, 100);
});
function myTimer() {
let dist = mp.game.gameplay.getDistanceBetweenCoords(Player.position.x, Player.position.y, 0, posCp.x, posCp.y, 0, false);
if (dist <= 2 && !inCheckpoint) {
mp.game.audio.playSoundFrontend(1, "Beep_Red", "DLC_HEIST_HACKING_SNAKE_SOUNDS", true);
inCheckpoint = true;
activeCheckpoint.visible = false;
clearInterval(myVar);
mp.events.callRemote("playerInCheckpoint");
} else if (dist > 2) {
inCheckpoint = false;
}
}
}