Improved tuning

This commit is contained in:
hydrant
2018-12-02 23:17:10 +01:00
parent 3d25a65848
commit 1ddba0fd2e

View File

@@ -17,7 +17,7 @@ var carModSlotName = [
{ Slot: 5, Name: "Rahmen"}, { Slot: 5, Name: "Rahmen"},
{ Slot: 6, Name: "Kühlergrill"}, { Slot: 6, Name: "Kühlergrill"},
{ Slot: 7, Name: "Motorhaube"}, { Slot: 7, Name: "Motorhaube"},
{ Slot: 8, Name: "Linker Kotflügel"}, { Slot: 8, Name: "Kotflügel"},
{ Slot: 9, Name: "Rechter Kotflügel"}, { Slot: 9, Name: "Rechter Kotflügel"},
{ Slot: 10, Name: "Dach"}, { Slot: 10, Name: "Dach"},
{ Slot: 11, Name: "Motor" }, { Slot: 11, Name: "Motor" },
@@ -48,15 +48,6 @@ var customPartNames = [
} }
] ]
}, },
{
Model: 159274291,
Names: [
{
Slot: 8,
Name: "Kotflügel"
}
]
},
{ {
Model: 223240013, Model: 223240013,
Names: [ Names: [
@@ -103,16 +94,12 @@ var bikeModTypes = [];
const NativeUI = require("nativeui"); const NativeUI = require("nativeui");
const Menu = NativeUI.Menu; const Menu = NativeUI.Menu;
const UIMenuItem = NativeUI.UIMenuItem; const UIMenuItem = NativeUI.UIMenuItem;
const UIMenuListItem = NativeUI.UIMenuListItem;
const UIMenuCheckboxItem = NativeUI.UIMenuCheckboxItem;
const UIMenuSliderItem = NativeUI.UIMenuSliderItem;
const BadgeStyle = NativeUI.BadgeStyle; const BadgeStyle = NativeUI.BadgeStyle;
const Point = NativeUI.Point; const Point = NativeUI.Point;
const ItemsCollection = NativeUI.ItemsCollection;
const Color = NativeUI.Color;
const ListItem = NativeUI.ListItem;
var mainMenu; var mainMenu;
var modMenu;
var closeMenu = false;
mp.events.add('showTuningInfo', () => { mp.events.add('showTuningInfo', () => {
mp.game.ui.setTextComponentFormat('STRING'); mp.game.ui.setTextComponentFormat('STRING');
@@ -128,7 +115,13 @@ mp.events.add('hideTuningInfo', (unbind) => {
mp.gui.chat.show(true); mp.gui.chat.show(true);
if (typeof mainMenu !== "undefined" && unbind) { 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; globalData.InTuning = false;
} }
@@ -153,9 +146,15 @@ mp.events.add("showTuningMenu", () => {
return; return;
} }
if (typeof modMenu !== "undefined" && modMenu.Visible) {
return;
}
globalData.InTuning = true; 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) => { carModTypes.forEach((modType) => {
if (localVehicle.getModSlotName(modType) !== "undefined") { if (localVehicle.getModSlotName(modType) !== "undefined") {
@@ -174,7 +173,7 @@ mp.events.add("showTuningMenu", () => {
} }
}); });
mainMenu.Visible = true; mainMenu.Open();
mainMenu.ItemSelect.on((item) => { mainMenu.ItemSelect.on((item) => {
var modSlot = getSlotId(item.Text); var modSlot = getSlotId(item.Text);
@@ -197,7 +196,7 @@ mp.events.add("showTuningMenu", () => {
var modNum = localVehicle.getNumMods(modSlot); 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++) { for (var i = -1; i < modNum; i++) {
var modItem; var modItem;
@@ -205,9 +204,8 @@ mp.events.add("showTuningMenu", () => {
if (i === -1) { if (i === -1) {
modItem = new UIMenuItem("Serie", ""); modItem = new UIMenuItem("Serie", "");
} else { } else {
var modName = localVehicle.getModTextLabel(modSlot, i); var modName = getModName(localVehicle, modSlot, i);
var realModName = mp.game.ui.getLabelText(modName); modItem = new UIMenuItem(modName, "");
modItem = new UIMenuItem(realModName, "");
} }
if (i === currentMod) { if (i === currentMod) {
@@ -247,6 +245,12 @@ mp.events.add("showTuningMenu", () => {
} }
localVehicle.setMod(modSlot, currentMod); localVehicle.setMod(modSlot, currentMod);
if (closeMenu) {
closeMenu = false;
return;
}
mainMenu.Visible = true; mainMenu.Visible = true;
modMenu.Visible = false; modMenu.Visible = false;
}); });
@@ -338,3 +342,66 @@ function getDoor(model, slot) {
return toReturn; 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;
}