diff --git a/ReallifeGamemode.Client/Interaction/factioninteraction.ts b/ReallifeGamemode.Client/Interaction/factioninteraction.ts index 387d29b1..89486af5 100644 --- a/ReallifeGamemode.Client/Interaction/factioninteraction.ts +++ b/ReallifeGamemode.Client/Interaction/factioninteraction.ts @@ -34,7 +34,7 @@ export default function factionInteraction(globalData: GlobalData) { mp.events.add("showFactionInteraction", (userFactionId, isDuty, userFactionName, isFactionLeader, reviveTaskCount, healTaskCount, fireTaskCount) => { mp.gui.chat.activate(false); - globalData.Interaction = true; + globalData.InMenu = true; var rP = ((reviveTaskCount === "0") ? "~r~" : "~g~"); var hP = ((healTaskCount === "0") ? "~r~" : "~g~"); @@ -80,20 +80,20 @@ export default function factionInteraction(globalData: GlobalData) { case cancelItem: factionInteractionMenu.Visible = false; mp.gui.chat.activate(true); - globalData.Interaction = false; + globalData.InMenu = false; break; case reviveTaskMenu: mp.events.callRemote("loadMedicTasks", 0) factionInteractionMenu.Visible = false; mp.gui.chat.activate(true); - globalData.Interaction = false; + globalData.InMenu = false; break; } }); factionInteractionMenu.MenuClose.on(() => { mp.gui.chat.activate(true); - globalData.Interaction = false; + globalData.InMenu = false; }); }); @@ -107,7 +107,7 @@ export default function factionInteraction(globalData: GlobalData) { mp.events.call("sortFactionTasks", false); mp.gui.chat.activate(false); - globalData.Interaction = true; + globalData.InMenu = true; switch (type) { case 0: reviveTaskMenu = new Menu("Revives", "\u00c4lteste zu erst", new Point(0, screenRes.y / 2), null, null); @@ -144,7 +144,7 @@ export default function factionInteraction(globalData: GlobalData) { }); reviveTaskMenu.Visible = false; mp.gui.chat.activate(true); - globalData.Interaction = false; + globalData.InMenu = false; ambulanceImagePos = 0.325 taskStart = player.position; taskFinish = tasks[index].Position; diff --git a/ReallifeGamemode.Client/Interaction/playerinteraction.ts b/ReallifeGamemode.Client/Interaction/playerinteraction.ts index 30b79120..c6540801 100644 --- a/ReallifeGamemode.Client/Interaction/playerinteraction.ts +++ b/ReallifeGamemode.Client/Interaction/playerinteraction.ts @@ -50,7 +50,7 @@ export default function playerInteraction(globalData: GlobalData) { mp.events.add("showPlayerInteraction", (nearPlayerArr) => { mp.gui.chat.activate(false); nearbyPlayers = JSON.parse(nearPlayerArr); - globalData.Interaction = true; + globalData.InMenu = true; let playerInteractionMenu = new Menu("Spielerinteraktion", "", new Point(0, screenRes.y / 2), null, null); let playerSelect = new UIMenuListItem("Mit", "~y~W\u00e4hle den Spieler aus.", new ItemsCollection(nearbyPlayers)); playerInteractionMenu.AddItem(playerSelect); @@ -68,17 +68,17 @@ export default function playerInteraction(globalData: GlobalData) { mp.events.callRemote("openTradeInventory", playerSelect.SelectedValue); playerInteractionMenu.Visible = false; mp.gui.chat.activate(true); - globalData.Interaction = false; + globalData.InMenu = false; } else if (item.Text === "Schlie\u00dfen") { playerInteractionMenu.Visible = false; mp.gui.chat.activate(true); - globalData.Interaction = false; + globalData.InMenu = false; } }); playerInteractionMenu.MenuClose.on(() => { mp.gui.chat.activate(true); - globalData.Interaction = false; + globalData.InMenu = false; }); }); diff --git a/ReallifeGamemode.Client/Player/dutycloth.ts b/ReallifeGamemode.Client/Player/dutycloth.ts index 8d6ce8dd..32b12201 100644 --- a/ReallifeGamemode.Client/Player/dutycloth.ts +++ b/ReallifeGamemode.Client/Player/dutycloth.ts @@ -24,7 +24,7 @@ let cancelItem = new UIMenuItem("Abbrechen", ""); cancelItem.BackColor = new Color(213, 0, 0); cancelItem.HighlightedBackColor = new Color(229, 57, 53); -export default function dutyCloth() { +export default function dutyCloth(globalData: GlobalData) { var dutyMenu; @@ -41,69 +41,75 @@ export default function dutyCloth() { //Cloth Menu mp.events.add('showDutyClothMenu', (hatsArr, topsArr, legsArr, shoesArr) => { + if (!globalData.InMenu) { - mp.gui.chat.activate(false); - hats = hatsArr; - tops = topsArr; - legs = legsArr; - shoes = shoesArr; + globalData.InMenu = true; - dutyMenu = new Menu("Dienstkleidung", "Stelle deine Dienstkleidung zusammen", new Point(0, screenRes.y / 2), null, null); + mp.gui.chat.activate(false); + hats = hatsArr; + tops = topsArr; + legs = legsArr; + shoes = shoesArr; - dutyMenu.AddItem(new UIMenuListItem("Hut", "", new ItemsCollection(hats))); - dutyMenu.AddItem(new UIMenuListItem("Top", "", new ItemsCollection(tops))); - dutyMenu.AddItem(new UIMenuListItem("Hose", "", new ItemsCollection(legs))); - dutyMenu.AddItem(new UIMenuListItem("Schuhe", "", new ItemsCollection(shoes))); - dutyMenu.AddItem(saveItem); - dutyMenu.AddItem(cancelItem); - dutyMenu.Visible = true; + dutyMenu = new Menu("Dienstkleidung", "Stelle deine Dienstkleidung zusammen", new Point(0, screenRes.y / 2), null, null); + + dutyMenu.AddItem(new UIMenuListItem("Hut", "", new ItemsCollection(hats))); + dutyMenu.AddItem(new UIMenuListItem("Top", "", new ItemsCollection(tops))); + dutyMenu.AddItem(new UIMenuListItem("Hose", "", new ItemsCollection(legs))); + dutyMenu.AddItem(new UIMenuListItem("Schuhe", "", new ItemsCollection(shoes))); + dutyMenu.AddItem(saveItem); + dutyMenu.AddItem(cancelItem); + dutyMenu.Visible = true; - dutyMenu.ListChange.on((item, index) => { - switch (item.Text) { - case "Hut": - if (item.SelectedItem.DisplayText === "Keinen") { - hat = -1; - mp.events.callRemote("updateDutyProp", 0, -1); - } else { - hat = parseInt(item.SelectedItem.DisplayText); - mp.events.callRemote("updateDutyProp", 0, hat); - } - break; - case "Top": - top = parseInt(item.SelectedItem.DisplayText); - mp.events.callRemote("updateDutyCloth", 11, top); - break; - case "Hose": - leg = parseInt(item.SelectedItem.DisplayText); - mp.events.callRemote("updateDutyCloth", 4, leg); - break; - case "Schuhe": - shoe = parseInt(item.SelectedItem.DisplayText); - mp.events.callRemote("updateDutyCloth", 6, shoe); - break; - } - }); + dutyMenu.ListChange.on((item, index) => { + switch (item.Text) { + case "Hut": + if (item.SelectedItem.DisplayText === "Keinen") { + hat = -1; + mp.events.callRemote("updateDutyProp", 0, -1); + } else { + hat = parseInt(item.SelectedItem.DisplayText); + mp.events.callRemote("updateDutyProp", 0, hat); + } + break; + case "Top": + top = parseInt(item.SelectedItem.DisplayText); + mp.events.callRemote("updateDutyCloth", 11, top); + break; + case "Hose": + leg = parseInt(item.SelectedItem.DisplayText); + mp.events.callRemote("updateDutyCloth", 4, leg); + break; + case "Schuhe": + shoe = parseInt(item.SelectedItem.DisplayText); + mp.events.callRemote("updateDutyCloth", 6, shoe); + break; + } + }); - dutyMenu.ItemSelect.on((item) => { - if (item.Text === "Speichern") { - var slotType = [1, 0, 0, 0]; - var slotId = [0, 11, 4, 6]; - var clothId = [hat, top, leg, shoe]; - mp.events.callRemote("saveCharacterCloth", JSON.stringify(slotType), JSON.stringify(slotId), JSON.stringify(clothId)); - dutyMenu.Visible = false; - mp.gui.chat.activate(true); - } else if (item.Text === "Abbrechen") { + dutyMenu.ItemSelect.on((item) => { + if (item.Text === "Speichern") { + var slotType = [1, 0, 0, 0]; + var slotId = [0, 11, 4, 6]; + var clothId = [hat, top, leg, shoe]; + mp.events.callRemote("saveCharacterCloth", JSON.stringify(slotType), JSON.stringify(slotId), JSON.stringify(clothId)); + dutyMenu.Visible = false; + mp.gui.chat.activate(true); + } else if (item.Text === "Abbrechen") { + dutyMenu.Visible = false; + mp.gui.chat.activate(true); + mp.events.callRemote("defaultCharacterCloth"); + globalData.InMenu = false; + } + }); + + + dutyMenu.MenuClose.on(() => { dutyMenu.Visible = false; mp.gui.chat.activate(true); mp.events.callRemote("defaultCharacterCloth"); - } - }); - - - dutyMenu.MenuClose.on(() => { - dutyMenu.Visible = false; - mp.gui.chat.activate(true); - mp.events.callRemote("defaultCharacterCloth"); - }); + globalData.InMenu = false; + }); + } }); } \ No newline at end of file diff --git a/ReallifeGamemode.Client/Player/keys.ts b/ReallifeGamemode.Client/Player/keys.ts index c662d3ee..edaf872d 100644 --- a/ReallifeGamemode.Client/Player/keys.ts +++ b/ReallifeGamemode.Client/Player/keys.ts @@ -24,28 +24,28 @@ export default function keys(globalData: GlobalData) { //LEFT ARROW (Interaktion mit anderen Spielern) mp.keys.bind(0x25, false, function () { - if (!globalData.InChat && !showInv && !globalData.Interaction) { + if (!globalData.InChat && !showInv && !globalData.InMenu) { mp.events.callRemote("keyPress:LEFT_ARROW"); } }); //UP ARROW (Interaktion mit Spielwelt) mp.keys.bind(0x26, false, function () { - if (!globalData.InChat && !showInv && !globalData.Interaction) { + if (!globalData.InChat && !showInv && !globalData.InMenu) { mp.events.callRemote("keyPress:UP_ARROW"); } }); //RIGHT ARROW (Fraktionsinteraktion) mp.keys.bind(0x27, false, function () { - if (!globalData.InChat && !showInv && !globalData.Interaction) { + if (!globalData.InChat && !showInv && !globalData.InMenu) { mp.events.callRemote("keyPress:RIGHT_ARROW"); } }); //DOWN ARROW (Eigeninteraktion) mp.keys.bind(0x28, false, function () { - if (!globalData.InChat && !showInv && !globalData.Interaction) { + if (!globalData.InChat && !showInv && !globalData.InMenu) { mp.events.callRemote("keyPress:DOWN_ARROW"); } }); diff --git a/ReallifeGamemode.Client/global.d.ts b/ReallifeGamemode.Client/global.d.ts index 359d27a7..e320a608 100644 --- a/ReallifeGamemode.Client/global.d.ts +++ b/ReallifeGamemode.Client/global.d.ts @@ -1,7 +1,7 @@ declare interface GlobalData { InTuning: boolean, HideGui: boolean, - Interaction: boolean, + InMenu: boolean, InChat: boolean, LoggedIn: boolean } diff --git a/ReallifeGamemode.Client/index.ts b/ReallifeGamemode.Client/index.ts index e8e40add..99663896 100644 --- a/ReallifeGamemode.Client/index.ts +++ b/ReallifeGamemode.Client/index.ts @@ -7,7 +7,7 @@ let globalData: GlobalData = { InTuning: false, HideGui: false, - Interaction: false, + InMenu: false, InChat: false, LoggedIn: false };