let screenRes = mp.game.graphics.getScreenResolution(0, 0); const player = mp.players.local; const NativeUI = require("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; mp.events.add("showFactionInteraction", (userFactionId, userFactionName, isFactionLeader, reviveTaskCount, healTaskCount, fireTaskCount) => { mp.gui.chat.activate(false); globalData.Interaction = true; var rP = ((reviveTaskCount === "0") ? "~r~" : "~g~"); var hP = ((healTaskCount === "0") ? "~r~" : "~g~"); var fP = ((fireTaskCount === "0") ? "~r~" : "~g~"); let factionInteractionMenu = new Menu("Fraktionsinteraktion", userFactionName, new Point(0, screenRes.y / 2)); if (isFactionLeader) { let leaderMenu = new UIMenuItem("Leadermen\u00fc", "Verwaltung der Fraktion"); leaderMenu.SetRightBadge(BadgeStyle.Star); factionInteractionMenu.AddItem(leaderMenu); } let reviveTaskMenu; let healTaskMenu; let fireTaskMenu; switch (userFactionId) { case 2: reviveTaskMenu = new UIMenuItem("Reviveauftr\u00e4ge"); reviveTaskMenu.SetRightLabel(rP + reviveTaskCount) factionInteractionMenu.AddItem(reviveTaskMenu); healTaskMenu = new UIMenuItem("Healauftr\u00e4ge"); healTaskMenu.SetRightLabel(hP + healTaskCount) factionInteractionMenu.AddItem(healTaskMenu); fireTaskMenu = new UIMenuItem("Feuerauftr\u00e4ge"); fireTaskMenu.SetRightLabel(fP + fireTaskCount) factionInteractionMenu.AddItem(fireTaskMenu); break; } let cancelItem = new UIMenuItem("Schlie\u00dfen", "Schlie\u00dft die Fraktionsinteraktion"); cancelItem.BackColor = new Color(213, 0, 0); cancelItem.HighlightedBackColor = new Color(229, 57, 53); factionInteractionMenu.AddItem(cancelItem); factionInteractionMenu.Visible = true; factionInteractionMenu.ItemSelect.on((item) => { switch (item) { case cancelItem: factionInteractionMenu.Visible = false; mp.gui.chat.activate(true); globalData.Interaction = false; break; case reviveTaskMenu: mp.events.callRemote("loadMedicTasks", 0) factionInteractionMenu.Visible = false; mp.gui.chat.activate(true); globalData.Interaction = false; break; } }); factionInteractionMenu.MenuClose.on(() => { mp.gui.chat.activate(true); globalData.Interaction = false; }); }); mp.events.add("showMedicTaskMenu", (type, taskList) => { var tasks = JSON.parse(taskList); mp.gui.chat.activate(false); globalData.Interaction = true; switch (type) { case 0: let reviveTaskMenu = new Menu("Revives", "", new Point(0, screenRes.y / 2)); for (task in tasks) { let aTask = new UIMenuItem(task.Victim); //aTask.SetRightLabel(mp.game.gameplay.getDistanceBetweenCoords(player.position.X, player.position.Y, player.position.Z, task.position.x, task.position.y, task.position.z, true).toString() + "m"); reviveTaskMenu.AddItem(aTask); } let cancelItem = new UIMenuItem("Schlie\u00dfen", "Schlie\u00dft die Fraktionsinteraktion"); cancelItem.BackColor = new Color(213, 0, 0); cancelItem.HighlightedBackColor = new Color(229, 57, 53); reviveTaskMenu.AddItem(cancelItem); reviveTaskMenu.ItemSelect.on((item) => { switch (item) { case cancelItem: reviveTaskMenu.Visible = false; mp.gui.chat.activate(true); globalData.Interaction = false; break; } }); reviveTaskMenu.MenuClose.on(() => { mp.gui.chat.activate(true); globalData.Interaction = false; }); break; case 1: break; case 2: break; } });