387 lines
11 KiB
TypeScript
387 lines
11 KiB
TypeScript
/**
|
|
* @overview Life of German Reallife - Gui Infobox infobox.js
|
|
* @author VegaZ
|
|
* @copyright (c) 2008 - 2018 Life of German
|
|
*/
|
|
|
|
import moneyFormat from "../moneyformat";
|
|
|
|
export default function (globalData: IGlobalData): void {
|
|
var currentdate;
|
|
var dateString;
|
|
var timeString;
|
|
|
|
var draw = false;
|
|
var editMode = false;
|
|
var adutyMode = false;
|
|
var adminUnshow = false;
|
|
var adminTSupport = false;
|
|
var noDmZone = false;
|
|
var dutyMode = false;
|
|
let jailTime = 0;
|
|
let att_score = 0;
|
|
let def_score = 0;
|
|
let gangwarTimer = 0;
|
|
let att = null;
|
|
let def = null;
|
|
let countdown = 0;
|
|
var cdTimestamp;
|
|
var countdownText;
|
|
var blackScreenMode = false;
|
|
|
|
let posX = 0.92;
|
|
let posY = 0.45;
|
|
let width = 0.1;
|
|
let height = 0.2;
|
|
let colorR = 0;
|
|
let colorG = 0;
|
|
let colorB = 0;
|
|
let colorA = 72;
|
|
|
|
var day;
|
|
var month;
|
|
var year;
|
|
var hour;
|
|
var minute;
|
|
var second;
|
|
|
|
var nDay;
|
|
var nMonth;
|
|
var nHour;
|
|
var nMinute;
|
|
var nSecond;
|
|
|
|
var playerName;
|
|
var playerId;
|
|
var playerMoney = "5000";
|
|
|
|
mp.events.add("draw", (pName, pId) => {
|
|
playerName = pName;
|
|
playerId = pId;
|
|
draw = true;
|
|
});
|
|
|
|
mp.events.add('toggleADutyMode', (toggle) => {
|
|
adutyMode = toggle;
|
|
});
|
|
|
|
mp.events.add('toggleTSupportMode', (toggle) => {
|
|
adminTSupport = toggle;
|
|
});
|
|
|
|
mp.events.add('toggleAdminUnshowMode', (toggle) => {
|
|
adminUnshow = toggle;
|
|
});
|
|
|
|
mp.events.add("toggleEditMode", (toggle) => {
|
|
editMode = toggle;
|
|
});
|
|
|
|
mp.events.add("toggleDutyMode", (toggle) => {
|
|
dutyMode = toggle;
|
|
});
|
|
|
|
mp.events.add("toggleBlackScreen", (toggle) => {
|
|
blackScreenMode = toggle;
|
|
});
|
|
|
|
mp.events.add("toggleNoDmZone", (toggle) => {
|
|
noDmZone = toggle;
|
|
});
|
|
|
|
mp.events.add("jailTime", (time) => {
|
|
jailTime = JSON.parse(time);
|
|
});
|
|
|
|
mp.events.add("GangwarScore", (attacker, defender, attscore, defscore, gwTimer) => {
|
|
att = attacker;
|
|
def = defender;
|
|
att_score = attscore;
|
|
def_score = defscore;
|
|
gangwarTimer = gwTimer;
|
|
});
|
|
|
|
mp.events.add("countdown", (timer: number, text) => {
|
|
countdown = Math.round(timer);
|
|
cdTimestamp = Date.now();
|
|
countdownText = text;
|
|
});
|
|
|
|
|
|
mp.events.add("toggleUi", (show) => {
|
|
if (show === false) {
|
|
draw = false;
|
|
mp.game.ui.displayRadar(false);
|
|
mp.game.ui.displayHud(false);
|
|
mp.gui.chat.show(false);
|
|
globalData.HideGui = true;
|
|
} else {
|
|
draw = true;
|
|
mp.game.ui.displayRadar(true);
|
|
mp.game.ui.displayHud(true);
|
|
mp.gui.chat.show(true);
|
|
globalData.HideGui = false;
|
|
}
|
|
});
|
|
|
|
mp.events.add("updateMoney", (money) => {
|
|
if (money == undefined)
|
|
money = 0;
|
|
|
|
playerMoney = moneyFormat(money);
|
|
});
|
|
|
|
mp.events.add("render", () => {
|
|
|
|
if (draw === true) {
|
|
currentdate = new Date();
|
|
|
|
day = currentdate.getDate();
|
|
month = currentdate.getMonth();
|
|
year = currentdate.getFullYear();
|
|
|
|
hour = currentdate.getHours();
|
|
minute = currentdate.getMinutes();
|
|
second = currentdate.getSeconds();
|
|
|
|
if (day < 10) {
|
|
nDay = "0" + day;
|
|
} else nDay = day;
|
|
|
|
if (hour < 10) {
|
|
nHour = "0" + hour;
|
|
} else nHour = hour;
|
|
|
|
if (minute < 10) {
|
|
nMinute = "0" + minute;
|
|
} else nMinute = minute;
|
|
|
|
if (second < 10) {
|
|
nSecond = "0" + second;
|
|
} else nSecond = second;
|
|
|
|
switch (month) {
|
|
case 0:
|
|
nMonth = "Jan.";
|
|
break;
|
|
case 1:
|
|
nMonth = "Feb.";
|
|
break;
|
|
case 2:
|
|
nMonth = "Mär.";
|
|
break;
|
|
case 3:
|
|
nMonth = "Apr.";
|
|
break;
|
|
case 4:
|
|
nMonth = "Mai";
|
|
break;
|
|
case 5:
|
|
nMonth = "Jun.";
|
|
break;
|
|
case 6:
|
|
nMonth = "Jul.";
|
|
break;
|
|
case 7:
|
|
nMonth = "Aug.";
|
|
break;
|
|
case 8:
|
|
nMonth = "Sep.";
|
|
break;
|
|
case 9:
|
|
nMonth = "Okt.";
|
|
break;
|
|
case 10:
|
|
nMonth = "Nov.";
|
|
break;
|
|
case 11:
|
|
nMonth = "Dez.";
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
dateString = nDay + ". " + nMonth + " " + year;
|
|
timeString = nHour + ":" + nMinute + ":" + nSecond + " Uhr";
|
|
|
|
mp.game.graphics.requestStreamedTextureDict("digitaloverlay", true);
|
|
//static
|
|
//mp.game.graphics.drawSprite("digitaloverlay", "static1", posX, posY, width, height, 0, 0, 255, 0, 88);
|
|
mp.game.graphics.drawRect(posX, posY, width, height, colorR, colorG, colorB, colorA);
|
|
mp.game.graphics.drawText(playerName + " (" + playerId + ")", [0.92, 0.351],
|
|
{
|
|
font: 4,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.5, 0.5],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
|
|
mp.game.graphics.drawText(timeString + "\n" + dateString, [0.938, 0.381],
|
|
{
|
|
font: 4,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.5, 0.5],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
|
|
mp.game.graphics.drawText("~g~$~s~" + playerMoney, [0.938, 0.441],
|
|
{
|
|
font: 4,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.5, 0.5],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
mp.game.graphics.drawText("~r~Datum: ", [0.891, 0.411],
|
|
{
|
|
font: 4,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.5, 0.5],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
mp.game.graphics.drawText("~r~Uhrzeit: ", [0.89, 0.381],
|
|
{
|
|
font: 4,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.5, 0.5],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
mp.game.graphics.drawText("~y~Bank: ", [0.887, 0.441],
|
|
{
|
|
font: 4,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.5, 0.5],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
|
|
if (jailTime > 0) {
|
|
mp.game.graphics.drawText("~y~Knast: ", [0.889, 0.52],
|
|
{
|
|
font: 4,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.5, 0.5],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
mp.game.graphics.drawText("ca. ~r~" + jailTime + "~w~ Min", [0.935, 0.52],
|
|
{
|
|
font: 4,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.5, 0.5],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
}
|
|
|
|
if (att_score >= 1 && def_score < 200) {
|
|
|
|
let gangwarTimerDraw = (Math.floor(gangwarTimer / 60) + 1);
|
|
if (gangwarTimerDraw > 15 || Number.isNaN(gangwarTimerDraw)) {
|
|
gangwarTimerDraw = 15;
|
|
}
|
|
|
|
mp.game.graphics.drawText("~y~" + def + " " + def_score + " : " + att_score + " " + att + " " + "\nRestzeit: " + gangwarTimerDraw + " Minuten", [0.07, 0.54],
|
|
{
|
|
font: 4,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.5, 0.5],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
mp.game.graphics.drawText("~w~Gangwar", [0.07, 0.500],
|
|
{
|
|
font: 1,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.5, 0.5],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
mp.game.graphics.drawRect(0.0, 0.555, 0.3, 0.11, 0, 0, 0, 70)
|
|
}
|
|
|
|
}
|
|
if (editMode === true) {
|
|
mp.game.graphics.drawText("~r~EDIT-MODE AKTIV", [0.5, 0],
|
|
{
|
|
font: 4,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.7, 0.7],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
}
|
|
if (dutyMode === true) {
|
|
mp.game.graphics.drawText("~r~Duty", [0.92, 0.55],
|
|
{
|
|
font: 2,
|
|
color: [64, 224, 208, 255],
|
|
scale: [0.7, 0.7],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
}
|
|
if (adutyMode === true) {
|
|
var adutyText = "~r~SUPPORT";
|
|
if (adminTSupport) {
|
|
adutyText = "SUPPORT";
|
|
}
|
|
mp.game.graphics.drawText(adutyText, [0.92, 0.6],
|
|
{
|
|
font: 2,
|
|
color: [0, 229, 238, 255],
|
|
scale: [0.7, 0.7],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
}
|
|
if (adminUnshow) {
|
|
mp.game.graphics.drawText("~r~UNSHOW", [0.92, 0.65],
|
|
{
|
|
font: 2,
|
|
color: [0, 255, 255, 255],
|
|
scale: [0.7, 0.7],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
}
|
|
|
|
if (noDmZone) {
|
|
mp.game.graphics.drawText("~r~NoDM Zone", [0.907, 0.741],
|
|
{
|
|
font: 4,
|
|
color: [255, 255, 255, 255],
|
|
scale: [0.8, 0.8],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
}
|
|
|
|
if (countdown > 0) {
|
|
var now = Date.now();
|
|
var diff = Math.trunc((now - cdTimestamp) / 1000);
|
|
var out = countdown - diff;
|
|
if (out < 0) {
|
|
countdown = 0
|
|
} else {
|
|
mp.game.graphics.drawText("~y~" + countdownText + ": " + out + "", [0.5, 0.8],
|
|
{
|
|
font: 7,
|
|
color: [64, 224, 208, 255],
|
|
scale: [1.5, 1.5],
|
|
outline: true,
|
|
centre: false
|
|
})
|
|
}
|
|
}
|
|
|
|
if (blackScreenMode == true) {
|
|
mp.game.graphics.drawRect(0, 0, 10000, 100000, 0, 0, 0, 255);
|
|
}
|
|
});
|
|
}
|