Files
reallife-gamemode/ReallifeGamemode.Client/util/planeschool.ts
2019-10-31 15:52:23 +01:00

100 lines
2.8 KiB
TypeScript

import * as NativeUI from 'NativeUI';
const Menu = NativeUI.Menu;
const UIMenuItem = NativeUI.UIMenuItem;
const UIMenuListItem = NativeUI.UIMenuListItem;
const UIMenuCheckboxItem = NativeUI.UIMenuCheckboxItem;
const UIMenuSliderItem = NativeUI.UIMenuSliderItem;
const BadgeStyle = NativeUI.BadgeStyle;
const Point = NativeUI.Point;
const ItemsCollection = NativeUI.ItemsCollection;
const Color = NativeUI.Color;
const ListItem = NativeUI.ListItem;
export default function planeSchoolHandle(globalData: GlobalData) {
var keyBound = false;
var mainMenu: NativeUI.Menu;
let send = new UIMenuItem("Pruefung starten", "");
var timer;
var timerCheckpoint;
var timerSet = false;
var Player;
var timeToWait = 0;
var checkPoint;
var counter = 0;
var waitFinished = false;
mp.events.add('planeSchoolMenu', () => {
mp.game.ui.setTextComponentFormat('STRING');
mp.game.ui.addTextComponentSubstringPlayerName('Drücke ~INPUT_CONTEXT~, um das Flugschulmenü zu öffnen');
mp.game.ui.displayHelpTextFromStringLabel(0, true, true, -1);
mp.keys.bind(0x45, false, keyPressHandler);
keyBound = true;
});
mp.events.add('removeplaneSchoolMenu', () => {
mp.game.ui.clearHelp(true);
if (mainMenu != null) {
mainMenu.Close();
}
if (keyBound) {
keyBound = false;
mp.keys.unbind(0x45, false, keyPressHandler);
}
});
mp.events.add('waitPlayerEntersVehicle1', () => {
mp.game.ui.setNewWaypoint(-1114.39, -2333.09);
timerSet = true;
timer = setInterval(timerPlayerInVehicle1, 3000);
});
var renderedText = null;
var textTime;
var render = false;
var massage;
function ClearText() {
render = false;
clearInterval(textTime);
}
mp.events.add('render', () =>{
if (render) {
renderedText = mp.game.graphics.drawText(massage, [0.5, 0.85], {
font: 4,
centre: true,
color: [255, 255, 145, 185],
scale: [0.5, 0.5],
outline: true
});
}
});
mp.events.add('renderTextOnScreen', (msg) => {
clearInterval(textTime);
massage = msg;
render = true;
textTime = setInterval(ClearText, 7000)
});
mp.events.add('stopTimer', () => {
timerSet = false;
clearInterval(timer);
});
function timerPlayerInVehicle1() {
if (timerSet) {
mp.events.callRemote('timerCheckVehicle1');
}
};
function keyPressHandler() {
if (globalData.InChat || globalData.InInput || globalData.InMenu) return;
mp.events.call('removeplaneSchoolMenu', false);
mp.events.callRemote('startplaneSchool');
}
}