Files
Elite-Gaming-FiveM/resources/Fighterjet-HUD/html/script.js
T
2021-12-03 01:05:09 +00:00

204 lines
7.2 KiB
JavaScript

$(document).ready(function() {
// Preparing sounds
var stallAlert = new Audio("./sounds/stall.mp3");
var altitudeAlert = new Audio("./sounds/altitude.mp3");
var missileAlert = new Audio("./sounds/missile.mp3");
// Appending steps in degrees and current direction
for (let i = 0; i < 3; i ++) {
$(".direction").append(`<div class="single-direction bold">N</div>`);
separateDirections();
$(".direction").append(`<div class="single-direction bold">NE</div>`);
separateDirections();
$(".direction").append(`<div class="single-direction bold">E</div>`);
separateDirections();
$(".direction").append(`<div class="single-direction bold">SE</div>`);
separateDirections();
$(".direction").append(`<div class="single-direction bold">S</div>`);
separateDirections();
$(".direction").append(`<div class="single-direction bold">SW</div>`);
separateDirections();
$(".direction").append(`<div class="single-direction bold">W</div>`);
separateDirections();
$(".direction").append(`<div class="single-direction bold">NW</div>`);
separateDirections();
}
// Separate letters
function separateDirections() {
for (let i = 0; i < 3; i++) {
$(".direction").append(`<div class="single-direction">&nbsp;</div>`);
}
}
// Append horizontal Pitch lines
for (let i = 18; i > 0; i--) {
$(".pitch").append(`
<div class="pitchline">
<div class="leftline">
<div class="pitch-number">
${i * 5}
</div>
<div class="line"></div>
</div>
<div class="rightline">
<div class="line"></div>
<div class="pitch-number">
${i * 5}
</div>
</div>
</div>
`)
}
$(".pitch").append(`
<div class="pitchline">
<div class="leftline">
<div class="pitch-number">
${0}
</div>
<div class="line full"></div>
</div>
<div class="rightline">
<div class="line full"></div>
<div class="pitch-number">
${0}
</div>
</div>
</div>
`)
for (let i = 1; i <= 18; i++) {
$(".pitch").append(`
<div class="pitchline">
<div class="leftline">
<div class="pitch-number">
${i * -5}
</div>
<div class="linedown"></div>
</div>
<div class="rightline">
<div class="linedown"></div>
<div class="pitch-number">
${i * -5}
</div>
</div>
</div>
`)
}
// Handle HUD movement
function ChangeYaw(value) {
let deg = value;
let px = (deg * 2.22) - 273;
$(".direction").css("left", `${px}px`);
$("#heading-text").text(deg);
}
ChangeYaw(0);
function ChangeRoll(value) {
let deg = value * -1;
let contr = value;
$(".pitchroll").css("transform", `translate(-50%, -50%) rotate(${deg}deg)`);
$(".pitch-number").css("transform", `rotate(${contr}deg)`);
}
ChangeRoll(0);
function ChangePitch(value) {
let deg = value;
let px = (deg * 13.65) - 1115;
$(".pitch").css("margin-top", `${px}px`);
}
ChangePitch(0);
window.addEventListener('message', function (event) {
if (event.data.action == "show") {
$("#main").fadeIn();
$("#main").removeClass("red");
$("#main").removeClass("orange");
$("#main").removeClass("green");
$("#main").removeClass("blue");
$("#main").addClass(event.data.color);
}
if (event.data.action == "hide") {
$("#main").fadeOut();
}
if (event.data.action == "update") {
$("#speed").text(event.data.speed);
$("#alt").text(event.data.altitude);
let alt = event.data.rawAlt;
alt = (285 - ((alt / 2400) * 285));
$(".altitude-pointer").css("margin-top", `${alt}px`);
if (event.data.gear == "STATIC") {
$(".gear-info").hide();
} else {
$(".gear-info").show();
$("#gear-state").text(event.data.gear);
}
if (event.data.hasWeapon == true) {
if (event.data.weaponType == "missiles") {
$(".gun-crosshair").hide();
$(".missile-info").show();
if (event.data.hasLock == false) {
$(".missile-target").hide();
$(".missile-dist").hide();
} else {
$(".missile-target").show();
$(".missile-dist").show();
$(".missile-dist").text(event.data.targetDist);
}
$(".missile-info").css("left", `${event.data.x_target * 100}%`);
$(".missile-info").css("top", `${event.data.y_target * 100}%`);
} else if (event.data.weaponType == "machinegun") {
$(".missile-info").hide();
$(".gun-crosshair").show();
$(".gun-crosshair").css("left", `${event.data.x_target * 100}%`);
$(".gun-crosshair").css("top", `${event.data.y_target * 100}%`);
}
} else {
$(".missile-info").hide();
$(".gun-crosshair").hide();
}
if (event.data.hasVtol == false) {
$(".vtol-info").hide();
} else {
$(".vtol-info").show();
$("#vtol-state").text(event.data.vtol);
}
ChangeYaw(event.data.yaw);
ChangeRoll(event.data.roll);
ChangePitch(event.data.pitch);
}
if (event.data.action == "stall") {
if (event.data.mode == "start") {
stallAlert.play();
stallAlert.loop = true;
$(".stall-warn").show();
} else if (event.data.mode == "end") {
stallAlert.pause();
stallAlert.currentTime = 0;
$(".stall-warn").hide();
}
}
if (event.data.action == "altitude") {
if (event.data.mode == "start") {
altitudeAlert.play();
altitudeAlert.loop = true;
$(".alt-warn").show();
} else if (event.data.mode == "end") {
altitudeAlert.pause();
altitudeAlert.currentTime = 0;
$(".alt-warn").hide();
}
}
if (event.data.action == "missile") {
if (event.data.mode == "start") {
missileAlert.play();
missileAlert.loop = true;
$(".missile-warn").show();
} else if (event.data.mode == "end") {
missileAlert.pause();
missileAlert.currentTime = 0;
$(".missile-warn").hide();
}
}
});
});