65 lines
1.9 KiB
JavaScript
65 lines
1.9 KiB
JavaScript
// ===========================================================================
|
|
// Vortrex's Roleplay Resource
|
|
// https://github.com/VortrexFTW/gtac_roleplay
|
|
// ===========================================================================
|
|
// FILE: gps.js
|
|
// DESC: Provides GPS functions and usage
|
|
// TYPE: Client (JavaScript)
|
|
// ===========================================================================
|
|
|
|
let gpsBlip = null;
|
|
let gpsBlipBlinkTimes = 0;
|
|
let gpsBlipBlinkAmount = 0;
|
|
let gpsBlipBlinkInterval = 500;
|
|
let gpsBlipBlinkTimer = null;
|
|
|
|
// ===========================================================================
|
|
|
|
function showGPSLocation(position, colour) {
|
|
logToConsole(LOG_DEBUG, `[VRR.GPS] Showing gps location`);
|
|
if(getMultiplayerMod() == VRR_MPMOD_GTAC) {
|
|
if(getGame() == VRR_GAME_GTA_SA) {
|
|
// Server-side spheres don't show in GTA SA for some reason.
|
|
gpsSphere = game.createPickup(1318, position, 1);
|
|
} else {
|
|
gpsSphere = game.createSphere(position, 3);
|
|
gpsSphere.colour = colour;
|
|
}
|
|
|
|
if(gpsBlip != null) {
|
|
destroyElement(gpsBlip);
|
|
}
|
|
|
|
// Blinking is bugged if player hit the spot before it stops blinking.
|
|
blinkGPSBlip(10, position, colour);
|
|
gpsBlip = game.createBlip(position, 0, 2, colour);
|
|
}
|
|
}
|
|
|
|
// ===========================================================================
|
|
|
|
function blinkGPSBlip(times, position, colour) {
|
|
gpsBlipBlinkTimes = times;
|
|
gpsBlipBlinkTimer = setInterval(function() {
|
|
if(gpsBlip != null) {
|
|
destroyElement(gpsBlip);
|
|
gpsBlip = null;
|
|
} else {
|
|
gpsBlip = game.createBlip(position, 0, 2, colour);
|
|
}
|
|
|
|
if(gpsBlipBlinkAmount >= gpsBlipBlinkTimes) {
|
|
if(gpsBlip != null) {
|
|
destroyElement(gpsBlip);
|
|
gpsBlip = null;
|
|
}
|
|
|
|
gpsBlipBlinkAmount = 0;
|
|
gpsBlipBlinkTimes = 0;
|
|
gpsBlip = game.createBlip(position, 0, 2, colour);
|
|
clearInterval(gpsBlipBlinkTimer);
|
|
}
|
|
}, gpsBlipBlinkInterval);
|
|
}
|
|
|
|
// ===========================================================================
|