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: 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;
}