MaxRaimer Posted June 15, 2018 Posted June 15, 2018 (edited) Господа, не могу понять что не так. Есть функция, которая принимает строку "ИД цвета" и возвращает массив "RGB" с значением от 0 до 255 в каждом из элементов массива (через свитч реализовано). function colorIDtoRGB(ColorID){ let red; let green; let blue; switch (ColorID) { case "0": red = 0; green = 0; blue = 0; break; case "1": red = 255; green = 255; blue = 255; break; case "2": red = 255; green = 0; blue = 0; break; case "3": red = 0; green = 255; blue = 0; break; case "4": red = 0; green = 0; blue = 255; break; case "5": red = 255; green = 255; blue = 0; break; case "6": red = 155; green = 0; blue = 200; break; case "7": red = 0; green = 155; blue = 200; break; case "8": red = 255; green = 155; blue = 0; break; case "9": red = 200; green = 200; blue = 200; break; case "10": red = 155; green = 155; blue = 155; break; case "11": red = 55; green = 55; blue = 55; break; } var RGB = new Array(red, green, blue); return RGB; //0 - черный 1 - белый 2 - красный 3 - зеленый 4 - синий 5 - желтый 6 - фиолетовый 7 - голубой 8 - оранжевый 9 - светло-серый 10 - серый 11 - темно-серый } В итоге, я вывожу в команду спавна автомобиля массив, который разбиваю на отдельные... параметры. function spawnVeh(player, vehID, pColorID, sColorID) { if (parseInt(vehID) > -1) { var warncolor = "#727272"; let pos = player.position; pos.x += 3; let vehName = String(vehIDToName(vehID)); var primaryColor = colorIDtoRGB(pColorID); var pColorR = primaryColor[0]; var pColorG = primaryColor[1]; var pColorB = primaryColor[2]; log.debug("first " + primaryColor); var secondaryColor = colorIDtoRGB(sColorID); var sColorR = secondaryColor[0]; var sColorG = secondaryColor[1]; var sColorB = secondaryColor[2]; log.debug("second " + secondaryColor); // mp.vehicles.new(vehName, pos, // { // color: [[pColorR, pColorG, pColorB], [sColorR, sColorB, sColorG]], // }); mp.vehicles.new(vehName, pos); mp.vehicles.setPrimaryColour(pColorR, pColorG, pColorB); mp.vehicles.setSecondaryColour(sColorR, sColorB, sColorG); } else { player.outputChatBox(`!{${warncolor}}/veh id color1 color2`); } } p.s. Закомментированый код - это одна из моих попыток пофиксить проблему, которую опишу ниже. Вроде как все хорошо, однако проблема в том, что когда я спавню машины, например с ид цвета 0 - машина спавнится черная (как и задумано), ид цвета 1 - белая (так и надо), ид цвета 2 - красная (все верно), ид цвета 3 - голубая (не правильно, должна быть зеленая), а дальше цвета повторяются циклично, то есть ид 4 - черная, вместо синей, ид 5 - белая, вместо желтой и т.д. В ДК посоветовали функцию setvehiclecolorRGB, но на вики найти информацию по этой функции не удалось, соответственно как с ней работать - не знаю. Буду очень благодарен за помощь:3 Что то я накосячил с спойлерами, прошу меня простить. Edited June 15, 2018 by MaxRaimer
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now