Autos ohne kaufpreis nicht tunen
This commit is contained in:
@@ -208,7 +208,7 @@ export default function tuning(globalData: IGlobalData) {
|
||||
var currentActiveModItem = new Array<VehicleModMenuItem>();
|
||||
var currentSelectedItem: VehicleModMenuItem = null;
|
||||
|
||||
mp.events.add("showTuningMenu", (noMoney, basePrice) => {
|
||||
mp.events.add("showTuningMenu", (noMoney, basePrice, onlyRepair: boolean) => {
|
||||
mp.events.call("hideTuningInfo", false);
|
||||
mp.gui.chat.show(false);
|
||||
|
||||
@@ -230,127 +230,129 @@ export default function tuning(globalData: IGlobalData) {
|
||||
repairItem.BackColor = new Color(94, 94, 94);
|
||||
repairItem.HighlightedBackColor = new Color(105, 105, 105);
|
||||
|
||||
carModTypes.forEach((modType) => {
|
||||
var mod: number = null;
|
||||
if (!onlyRepair) {
|
||||
carModTypes.forEach((modType) => {
|
||||
var mod: number = null;
|
||||
|
||||
if (modType === 22) { // Lichter
|
||||
var hlColor = localVehicle.getVariable("headlightColor");
|
||||
if (typeof hlColor !== "number" || isNaN(hlColor) || hlColor < 0 || hlColor === 255) {
|
||||
mod = -1;
|
||||
} else if (hlColor === 13) mod = 0;
|
||||
else mod = hlColor + 1;
|
||||
} else if (modType === 18) { // Turbo
|
||||
var toggle = localVehicle.isToggleModOn(modType);
|
||||
mod = toggle ? 0 : -1;
|
||||
} else if (modType == -1) { // Lackierungen
|
||||
var colorItem = new UIMenuItem("Lackierungen");
|
||||
var colorMenu = getColorMenu();
|
||||
if (modType === 22) { // Lichter
|
||||
var hlColor = localVehicle.getVariable("headlightColor");
|
||||
if (typeof hlColor !== "number" || isNaN(hlColor) || hlColor < 0 || hlColor === 255) {
|
||||
mod = -1;
|
||||
} else if (hlColor === 13) mod = 0;
|
||||
else mod = hlColor + 1;
|
||||
} else if (modType === 18) { // Turbo
|
||||
var toggle = localVehicle.isToggleModOn(modType);
|
||||
mod = toggle ? 0 : -1;
|
||||
} else if (modType == -1) { // Lackierungen
|
||||
var colorItem = new UIMenuItem("Lackierungen");
|
||||
var colorMenu = getColorMenu();
|
||||
|
||||
mainMenu.AddItem(colorItem);
|
||||
mainMenu.BindMenuToItem(colorMenu, colorItem);
|
||||
mainMenu.AddItem(colorItem);
|
||||
mainMenu.BindMenuToItem(colorMenu, colorItem);
|
||||
|
||||
return;
|
||||
} else if (modType == -2) {
|
||||
var wheelsItem = new UIMenuItem("Reifen");
|
||||
var wheelsMenu = getWheelsMenu(localVehicle);
|
||||
return;
|
||||
} else if (modType == -2) {
|
||||
var wheelsItem = new UIMenuItem("Reifen");
|
||||
var wheelsMenu = getWheelsMenu(localVehicle);
|
||||
|
||||
mainMenu.AddItem(wheelsItem);
|
||||
mainMenu.BindMenuToItem(wheelsMenu, wheelsItem);
|
||||
return;
|
||||
}
|
||||
mainMenu.AddItem(wheelsItem);
|
||||
mainMenu.BindMenuToItem(wheelsMenu, wheelsItem);
|
||||
return;
|
||||
}
|
||||
|
||||
var num = localVehicle.getNumMods(modType);
|
||||
var num = localVehicle.getNumMods(modType);
|
||||
|
||||
if (num === 0 && modType !== 18 && modType !== 22 && modType !== -1) return;
|
||||
if (num === 0 && modType !== 18 && modType !== 22 && modType !== -1) return;
|
||||
|
||||
var modName = localVehicle.getModSlotName(modType) || "nix gefunden";
|
||||
modName = mp.game.ui.getLabelText(modName);
|
||||
var modName = localVehicle.getModSlotName(modType) || "nix gefunden";
|
||||
modName = mp.game.ui.getLabelText(modName);
|
||||
|
||||
if (modName === "NULL") {
|
||||
for (var x = 0; x < carModSlotName.length; x++) {
|
||||
var tmpSlot = carModSlotName[x];
|
||||
if (tmpSlot.Slot == modType) {
|
||||
modName = tmpSlot.Name;
|
||||
break;
|
||||
if (modName === "NULL") {
|
||||
for (var x = 0; x < carModSlotName.length; x++) {
|
||||
var tmpSlot = carModSlotName[x];
|
||||
if (tmpSlot.Slot == modType) {
|
||||
modName = tmpSlot.Name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mod === null) {
|
||||
mod = localVehicle.getMod(modType);
|
||||
}
|
||||
|
||||
var modNum = localVehicle.getNumMods(modType);
|
||||
if (modType === 18) modNum = 1;
|
||||
if (modType === 22) modNum = 14;
|
||||
|
||||
var modMenu = new Menu(modName, carName, new Point(0, screenRes.y / 3), null, null);
|
||||
|
||||
modMenu.Visible = false;
|
||||
|
||||
var menuItem = new UIMenuItem(modName);
|
||||
mainMenu.AddItem(menuItem);
|
||||
mainMenu.BindMenuToItem(modMenu, menuItem);
|
||||
|
||||
currentMod[modType] = mod;
|
||||
|
||||
for (var x = -1; x < modNum; x++) {
|
||||
var price = noMoney ? 0 : getModSlotPrice(modType, basePrice, x);
|
||||
var modText = "";
|
||||
if (x === -1) {
|
||||
modText = "Serie";
|
||||
} else {
|
||||
modText = mp.game.ui.getLabelText(localVehicle.getModTextLabel(modType, x));
|
||||
if (modText === "NULL") modText = getModName(localVehicle, modType, x);
|
||||
if (mod === null) {
|
||||
mod = localVehicle.getMod(modType);
|
||||
}
|
||||
var item = new VehicleModMenuItem(modText);
|
||||
item.price = price;
|
||||
modMenu.AddItem(item);
|
||||
|
||||
if (x === mod) {
|
||||
item.SetRightBadge(BadgeStyle.Car);
|
||||
currentActiveModItem[modType] = item;
|
||||
modMenu.CurrentSelection = x;
|
||||
}
|
||||
else {
|
||||
item.SetRightLabel("$" + moneyformat(price));
|
||||
}
|
||||
}
|
||||
var modNum = localVehicle.getNumMods(modType);
|
||||
if (modType === 18) modNum = 1;
|
||||
if (modType === 22) modNum = 14;
|
||||
|
||||
modMenu.IndexChange.on((index: number) => {
|
||||
if (modType === 18) return;
|
||||
if (modType === 22) {
|
||||
setHeadlightsColor(localVehicle, index);
|
||||
return;
|
||||
var modMenu = new Menu(modName, carName, new Point(0, screenRes.y / 3), null, null);
|
||||
|
||||
modMenu.Visible = false;
|
||||
|
||||
var menuItem = new UIMenuItem(modName);
|
||||
mainMenu.AddItem(menuItem);
|
||||
mainMenu.BindMenuToItem(modMenu, menuItem);
|
||||
|
||||
currentMod[modType] = mod;
|
||||
|
||||
for (var x = -1; x < modNum; x++) {
|
||||
var price = noMoney ? 0 : getModSlotPrice(modType, basePrice, x);
|
||||
var modText = "";
|
||||
if (x === -1) {
|
||||
modText = "Serie";
|
||||
} else {
|
||||
modText = mp.game.ui.getLabelText(localVehicle.getModTextLabel(modType, x));
|
||||
if (modText === "NULL") modText = getModName(localVehicle, modType, x);
|
||||
}
|
||||
var item = new VehicleModMenuItem(modText);
|
||||
item.price = price;
|
||||
modMenu.AddItem(item);
|
||||
|
||||
if (x === mod) {
|
||||
item.SetRightBadge(BadgeStyle.Car);
|
||||
currentActiveModItem[modType] = item;
|
||||
modMenu.CurrentSelection = x;
|
||||
}
|
||||
else {
|
||||
item.SetRightLabel("$" + moneyformat(price));
|
||||
}
|
||||
}
|
||||
localVehicle.setMod(modType, index - 1);
|
||||
|
||||
modMenu.IndexChange.on((index: number) => {
|
||||
if (modType === 18) return;
|
||||
if (modType === 22) {
|
||||
setHeadlightsColor(localVehicle, index);
|
||||
return;
|
||||
}
|
||||
localVehicle.setMod(modType, index - 1);
|
||||
});
|
||||
|
||||
modMenu.MenuOpen.on(() => {
|
||||
if (modType === 22) {
|
||||
localVehicle.setLights(2);
|
||||
}
|
||||
});
|
||||
|
||||
modMenu.ItemSelect.on((item: VehicleModMenuItem, index: number) => {
|
||||
if (currentMod[modType] == index - 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
currentSelectedItem = item;
|
||||
mp.events.callRemote("setVehicleMod", modType, index, price);
|
||||
});
|
||||
|
||||
modMenu.MenuClose.on(() => {
|
||||
if (modType === 18) return;
|
||||
if (modType === 22) {
|
||||
localVehicle.setLights(1);
|
||||
setHeadlightsColor(localVehicle, currentMod[22] + 1);
|
||||
return;
|
||||
}
|
||||
localVehicle.setMod(modType, currentMod[modType]);
|
||||
});
|
||||
});
|
||||
|
||||
modMenu.MenuOpen.on(() => {
|
||||
if (modType === 22) {
|
||||
localVehicle.setLights(2);
|
||||
}
|
||||
});
|
||||
|
||||
modMenu.ItemSelect.on((item: VehicleModMenuItem, index: number) => {
|
||||
if (currentMod[modType] == index - 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
currentSelectedItem = item;
|
||||
mp.events.callRemote("setVehicleMod", modType, index, price);
|
||||
});
|
||||
|
||||
modMenu.MenuClose.on(() => {
|
||||
if (modType === 18) return;
|
||||
if (modType === 22) {
|
||||
localVehicle.setLights(1);
|
||||
setHeadlightsColor(localVehicle, currentMod[22] + 1);
|
||||
return;
|
||||
}
|
||||
localVehicle.setMod(modType, currentMod[modType]);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
mainMenu.ItemSelect.on((item: NativeUI.UIMenuItem, index: number) => {
|
||||
if (item === repairItem) {
|
||||
|
||||
Reference in New Issue
Block a user