diff --git a/Client/Tuning/main.js b/Client/Tuning/main.js index 397befa4..c0d4927a 100644 --- a/Client/Tuning/main.js +++ b/Client/Tuning/main.js @@ -17,7 +17,7 @@ var carModSlotName = [ { Slot: 5, Name: "Rahmen"}, { Slot: 6, Name: "Kühlergrill"}, { Slot: 7, Name: "Motorhaube"}, - { Slot: 8, Name: "Linker Kotflügel"}, + { Slot: 8, Name: "Kotflügel"}, { Slot: 9, Name: "Rechter Kotflügel"}, { Slot: 10, Name: "Dach"}, { Slot: 11, Name: "Motor" }, @@ -48,15 +48,6 @@ var customPartNames = [ } ] }, - { - Model: 159274291, - Names: [ - { - Slot: 8, - Name: "Kotflügel" - } - ] - }, { Model: 223240013, Names: [ @@ -103,16 +94,12 @@ var bikeModTypes = []; const NativeUI = require("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; var mainMenu; +var modMenu; +var closeMenu = false; mp.events.add('showTuningInfo', () => { mp.game.ui.setTextComponentFormat('STRING'); @@ -128,7 +115,13 @@ mp.events.add('hideTuningInfo', (unbind) => { mp.gui.chat.show(true); if (typeof mainMenu !== "undefined" && unbind) { - mainMenu.Visible = false; + mainMenu.Close(); + globalData.InTuning = false; + } + + if (typeof modMenu !== "undefined" && modMenu.Visible && unbind) { + closeMenu = true; + modMenu.Close(); globalData.InTuning = false; } @@ -153,9 +146,15 @@ mp.events.add("showTuningMenu", () => { return; } + if (typeof modMenu !== "undefined" && modMenu.Visible) { + return; + } + globalData.InTuning = true; - mainMenu = new Menu("Fahrzeugwerkstatt", "Modifiziere dein Fahrzeug", new Point(50, 50)); + var carName = mp.game.ui.getLabelText(mp.game.vehicle.getDisplayNameFromVehicleModel(localVehicle.model)); + + mainMenu = new Menu("Fahrzeugwerkstatt", carName, new Point(50, 50)); carModTypes.forEach((modType) => { if (localVehicle.getModSlotName(modType) !== "undefined") { @@ -174,7 +173,7 @@ mp.events.add("showTuningMenu", () => { } }); - mainMenu.Visible = true; + mainMenu.Open(); mainMenu.ItemSelect.on((item) => { var modSlot = getSlotId(item.Text); @@ -197,7 +196,7 @@ mp.events.add("showTuningMenu", () => { var modNum = localVehicle.getNumMods(modSlot); - var modMenu = new Menu(item.Text, "Änderung: " + item.Text, new Point(50, 50)); + modMenu = new Menu(item.Text, "Änderung: " + item.Text, new Point(50, 50)); for (var i = -1; i < modNum; i++) { var modItem; @@ -205,9 +204,8 @@ mp.events.add("showTuningMenu", () => { if (i === -1) { modItem = new UIMenuItem("Serie", ""); } else { - var modName = localVehicle.getModTextLabel(modSlot, i); - var realModName = mp.game.ui.getLabelText(modName); - modItem = new UIMenuItem(realModName, ""); + var modName = getModName(localVehicle, modSlot, i); + modItem = new UIMenuItem(modName, ""); } if (i === currentMod) { @@ -247,6 +245,12 @@ mp.events.add("showTuningMenu", () => { } localVehicle.setMod(modSlot, currentMod); + + if (closeMenu) { + closeMenu = false; + return; + } + mainMenu.Visible = true; modMenu.Visible = false; }); @@ -337,4 +341,67 @@ function getDoor(model, slot) { }); return toReturn; +} + +function getModName(vehicle, slot, mod) { + var modName = vehicle.getModTextLabel(slot, mod); + var realModName = mp.game.ui.getLabelText(modName); + + if (slot === 11) { + switch (mod) { + case 0: + realModName = "EMS Verbesserung 1"; + break; + case 1: + realModName = "EMS Verbesserung 2"; + break; + case 2: + realModName = "EMS Verbesserung 3"; + break; + case 3: + realModName = "EMS Verbesserung 4"; + break; + } + } else if (slot === 12) { + switch (mod) { + case 0: + realModName = "Straßenbremsen"; + break; + case 1: + realModName = "Sportbremsen"; + break; + case 2: + realModName = "Rennbremsen"; + break; + } + } else if (slot === 13) { + switch (mod) { + case 0: + realModName = "Straßengetriebe"; + break; + case 1: + realModName = "Sportgetriebe"; + break; + case 2: + realModName = "Renngetriebe"; + break; + } + } else if (slot === 15) { + switch (mod) { + case 0: + realModName = "Tiefere Federung"; + break; + case 1: + realModName = "Straßenfederung"; + break; + case 2: + realModName = "Sportfederung"; + break; + case 3: + realModName = "Rennfederung"; + break; + } + } + + return realModName; } \ No newline at end of file