add Flugschule and Change Pilotjob

This commit is contained in:
Michael
2019-10-18 22:17:27 +02:00
parent cefa61c48e
commit db4780ee5d
9 changed files with 1666 additions and 14 deletions

View File

@@ -0,0 +1,67 @@
import * as NativeUI from 'NativeUI';
const Menu = NativeUI.Menu;
const UIMenuItem = NativeUI.UIMenuItem;
const UIMenuListItem = NativeUI.UIMenuListItem;
const UIMenuCheckboxItem = NativeUI.UIMenuCheckboxItem;
const BadgeStyle = NativeUI.BadgeStyle;
const Point = NativeUI.Point;
const ItemsCollection = NativeUI.ItemsCollection;
const Color = NativeUI.Color;
let screenRes = mp.game.graphics.getScreenResolution(0, 0);
let sendItem = new UIMenuItem("Starten", "Route starten");
sendItem.BackColor = new Color(13, 71, 161);
sendItem.HighlightedBackColor = new Color(25, 118, 210);
let cancelItem = new UIMenuItem("Abbrechen", "");
cancelItem.BackColor = new Color(213, 0, 0);
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
export default function PilotRouteList(globalData: GlobalData) {
var routeMenu: NativeUI.Menu;
var routeTexts;
var routeText;
mp.events.add('showPilotRouteMenu', (listRoutes) => {
if (!globalData.InMenu) {
globalData.InMenu = true;
routeTexts = JSON.parse(listRoutes);
routeMenu = new Menu("Pilot Job", "", new Point(50, 50), null, null);
routeMenu.AddItem(new UIMenuListItem("Route", "", new ItemsCollection(routeTexts)));
routeMenu.AddItem(sendItem);
routeMenu.AddItem(cancelItem);
routeMenu.Visible = true;
routeText = "Kurz 1";
routeMenu.ListChange.on((item, index) => {
switch (item.Text) {
case "Route":
routeText = String(item.SelectedItem.DisplayText);
break;
}
});
routeMenu.ItemSelect.on((item) => {
if (item.Text === "Starten") {
mp.events.callRemote("startPilotRoute", routeText);
routeMenu.Close();
globalData.InMenu = false;
} else if (item.Text === "Abbrechen") {
routeMenu.Close();
globalData.InMenu = false;
}
});
routeMenu.MenuClose.on(() => {
globalData.InMenu = false;
});
}
});
}

View File

@@ -169,4 +169,10 @@ import drivingSchoolHandle from './util/drivingschool';
drivingSchoolHandle(globalData);
import notificationUtil from './util/notification';
notificationUtil();
notificationUtil();
import planeSchoolHandle from './util/planeschool';
planeSchoolHandle(globalData);
import PilotRouteList from './Jobs/PilotRouteSelect';
PilotRouteList(globalData);

View File

@@ -0,0 +1,71 @@
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', (unbind) => {
mp.game.ui.clearHelp(true);
mp.gui.chat.show(true);
if (keyBound && unbind) {
if (mainMenu) mainMenu.Close();
mp.keys.unbind(0x45, false, keyPressHandler);
keyBound = false;
}
});
mp.events.add('waitPlayerEntersVehicle1', () => {
mp.game.ui.setNewWaypoint(-1114.39, -2333.09);
timerSet = true;
timer = setInterval(timerPlayerInVehicle1, 3000);
});
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');
}
}