Fix job route blip blink bug
This commit is contained in:
@@ -12,6 +12,11 @@ let localPlayerWorking = false;
|
||||
let jobRouteLocationBlip = null;
|
||||
let jobRouteLocationSphere = null;
|
||||
|
||||
let jobBlipBlinkAmount = 0;
|
||||
let jobBlipBlinkTimes = 10;
|
||||
let jobBlipBlinkInterval = 500;
|
||||
let jobBlipBlinkTimer = null;
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
class JobData {
|
||||
@@ -65,7 +70,7 @@ function showJobRouteLocation(position, colour) {
|
||||
}
|
||||
|
||||
// Blinking is bugged if player hit the spot before it stops blinking.
|
||||
//blinkJobRouteLocationBlip(10, position, colour);
|
||||
blinkJobRouteLocationBlip(10, position, colour);
|
||||
jobRouteLocationBlip = game.createBlip(position, 0, 2, colour);
|
||||
}
|
||||
}
|
||||
@@ -74,30 +79,43 @@ function showJobRouteLocation(position, colour) {
|
||||
|
||||
function enteredJobRouteSphere() {
|
||||
logToConsole(LOG_DEBUG, `[VRR.Job] Entered job route sphere`);
|
||||
tellServerPlayerArrivedAtJobRouteLocation();
|
||||
|
||||
destroyTimer(jobBlipBlinkTimer);
|
||||
jobBlipBlinkAmount = 0;
|
||||
jobBlipBlinkTimes = 0;
|
||||
|
||||
destroyElement(jobRouteLocationSphere);
|
||||
destroyElement(jobRouteLocationBlip);
|
||||
jobRouteLocationSphere = null;
|
||||
jobRouteLocationBlip = null;
|
||||
|
||||
tellServerPlayerArrivedAtJobRouteLocation();
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
function blinkJobRouteLocationBlip(times, position, colour) {
|
||||
for(let i = 1 ; i <= times ; i++) {
|
||||
setTimeout(function() {
|
||||
jobBlipBlinkTimes = times;
|
||||
jobBlipBlinkTimer = setInterval(function() {
|
||||
if(jobRouteLocationBlip != null) {
|
||||
destroyElement(jobRouteLocationBlip);
|
||||
jobRouteLocationBlip = null;
|
||||
} else {
|
||||
jobRouteLocationBlip = game.createBlip(position, 0, 2, colour);
|
||||
}
|
||||
|
||||
if(jobBlipBlinkAmount >= jobBlipBlinkTimes) {
|
||||
if(jobRouteLocationBlip != null) {
|
||||
destroyElement(jobRouteLocationBlip);
|
||||
jobRouteLocationBlip = null;
|
||||
} else {
|
||||
jobRouteLocationBlip = game.createBlip(position, 0, 2, colour);
|
||||
}
|
||||
}, 500*i);
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
jobRouteLocationBlip = game.createBlip(position, 0, 2, colour);
|
||||
}, 500*times+1);
|
||||
jobBlipBlinkAmount = 0;
|
||||
jobBlipBlinkTimes = 0;
|
||||
jobRouteLocationBlip = game.createBlip(position, 0, 2, colour);
|
||||
destroyTimer(jobBlipBlinkTimer);
|
||||
}
|
||||
}, jobBlipBlinkInterval);
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
Reference in New Issue
Block a user