Files
2021-05-07 00:38:25 +02:00

403 lines
12 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 spawnschutz = 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("toggleSpawnschutz", (toggle) => {
spawnschutz = 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~DM freie Zone", [0.92, 0.7],
{
font: 2,
color: [255, 255, 255, 255],
scale: [0.7, 0.7],
outline: true,
centre: false
})
}
if (spawnschutz) {
mp.game.graphics.drawText("~r~Spawnschutz", [0.92, 0.75],
{
font: 2,
color: [255, 255, 255, 255],
scale: [0.7, 0.7],
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);
}
});
}