converted jobs to same system as businesses, add option to choose job at cityhall

This commit is contained in:
hydrant
2019-05-16 14:52:19 +02:00
parent 8fd4041b3c
commit aa81fa95a4
18 changed files with 1422 additions and 59 deletions

View File

@@ -15,11 +15,14 @@ export default function (globalData: GlobalData) {
var keyBound = false;
var menu: NativeUI.Menu = null;
var joblist: string[] = [];
mp.events.add("SERVER:CityHall_ShowHelpText", () => {
mp.events.add("SERVER:CityHall_ShowHelpText", (joblista) => {
mp.game.ui.setTextComponentFormat('STRING');
mp.game.ui.addTextComponentSubstringPlayerName('Drücke ~INPUT_CONTEXT~, um das Stadthallen-Menü zu öffnen');
mp.game.ui.displayHelpTextFromStringLabel(0, true, true, -1);
joblist = JSON.parse(joblista);
if (!keyBound) {
keyBound = true;
@@ -29,6 +32,7 @@ export default function (globalData: GlobalData) {
mp.events.add("SERVER:CityHall_ClearHelpText", () => {
mp.game.ui.clearHelp(false);
if (menu) menu.Close();
if (keyBound) {
mp.keys.unbind(0x45, false, keyPressHandler);
keyBound = false;
@@ -45,11 +49,32 @@ export default function (globalData: GlobalData) {
var jobItem = new UIMenuItem("Jobs", "Jobcenter");
menu.AddItem(jobItem);
var jobMenu = new Menu("Jobcenter", "Hartz 4 und der Tag gehoert dir.", new Point(50, 50), null, null);
jobMenu.Visible = false;
var jobMenu = new Menu("Jobcenter", "Suche dir einen neuen Job aus", new Point(50, 50), null, null);
for (var i = 0; i < joblist.length; i++) {
var job = joblist[i];
jobMenu.AddItem(new UIMenuItem(job));
}
var cancelJobItem = new UIMenuItem("Job kuendigen");
cancelJobItem.BackColor = new Color(213, 0, 0);
cancelJobItem.HighlightedBackColor = new Color(229, 57, 53);
jobMenu.AddItem(cancelJobItem);
menu.BindMenuToItem(jobMenu, jobItem);
jobMenu.ItemSelect.on((item: NativeUI.UIMenuItem, index: number) => {
if (item === cancelJobItem) { // Job kündigen
mp.events.callRemote("CLIENT:JobCenter_CancelJob");
} else {
mp.events.callRemote("CLIENT:JobCenter_AcceptJob", index + 1);
}
menu.Close();
});
jobMenu.Visible = false;
var groupCreateItem = new UIMenuItem("Gruppe erstellen", "Erstelle eine neue Gruppe");
groupCreateItem.SetRightLabel("~g~50.000$");
menu.AddItem(groupCreateItem);
@@ -59,6 +84,8 @@ export default function (globalData: GlobalData) {
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
menu.AddItem(cancelItem);
menu.Open();
menu.ItemSelect.on((item: NativeUI.UIMenuItem, index) => {
if (item === groupCreateItem) { // Gruppe
var input = new InputHelper("Wie soll die Gruppe heißen?", globalData);