Вчера я узнал, что в игре есть способ поставить себе прицел с картинкой. Немного поискав по интернету, я нашел готовые работы людей. Но как это сделать самому, ума не приложу, я нашел гайд на сайте(https://wiki.warthunder.ru/cdk/creation_sight). Так-же, я изучил пару файлов прицелов и понял, что самая сложная часть, это его нарисовать. На этом сайте был блок, корый обьяснял как это сделать.
Рисование линий
drawLines {
line { line:p4 = 0, -1.0, 0, -0.018; move:b = false; }
line { line:p4 = -50, 30, -50, 40; thousandth:b = true; }
}
Для отрисовки одной линии необходимо указать 4 координаты — X, Y, X, Y; в долях экрана её начала и конца.
line { line:p4 = 0.25, -0.25, 0, -0.0; move:b = false; } — данный блок рисует одну линию, которая начинается в верхней правой четверти экрана и заканчивается в центре экрана, при этом она статична и не двигается при вводе дальности. 0.0 означает расположение координаты на нулевой линии, проходящей через центр экрана. Х,Y - координата справа внизу, -X,Y - координата слева внизу, -X,-Y - координата слева верху, X,-Y - координата справа верху.
Для исование закрашенных фигур на базе четырехугольника мы используем параметр drawQuads
С его помощью можно нарисовать разные типы фигур у которых есть 4 вершины, а также их вырожденные варианты с 3 (треугольник) или 2 (линия) вершинами:
drawQuads {
quad { // Простой неподвижный четырёхугольник
tl:p2 = -10, -10; // Вершина верхняя левая
tr:p2 = 10, -10; // Вершина верхняя правая
br:p2 = 10, 10; // Вершина нижняя правая
bl:p2 = -10, 10; // Вершина нижняя левая
thousandth:b = true;
}
quad { // Объект который можно перемещать по радиусу
tl:p2 = -10, -140;
tr:p2 = 10, -140;
br:p2 = 0, -96;
bl:p2 = 0, -96;
center:p2 = 0, -90; // Центр фигуры, нужен для корректного вращения. По умолчанию геометрический центр фигуры.
radialCenter:p2 = 0.0, 0.0;
radialAngle:r = 0;
radialMoveSpeed:r = 6.04;
moveRadial:b = yes;
thousandth:b = true;
}
}
Но ведь это просто невозможно сделать вручную! Нужно прописать примерно больше 1000 кординат, с растоем в 0.0000000001 пиксель! Может есть какая-то сетка в интернете, или скрипт или какой-то другой способ что бы это сделать, не потратив пол жизни?
Привет, как найдёшь, напиши пожалуйста))
Смотри, из того что я понял сам, это то прицелы наинаються однинаково, примерно вот так(щас будет монога текста :D) :
crosshairHorVertSize:p2=3, 2
rangefinderProgressBarColor1:c=0, 255, 0, 64
rangefinderProgressBarColor2:c=255, 255, 255, 64
rangefinderTextScale:r=0.7
rangefinderUseThousandth:b=no
rangefinderVerticalOffset:r=0.1
rangefinderHorizontalOffset:r=5
detectAllyTextScale:r=0.7
detectAllyOffset:p2=4, 0.05
fontSizeMult:r=1
lineSizeMult:r=1
drawCentralLineVert:b=yes
drawCentralLineHorz:b=yes
drawSightMask:b=yes
useSmoothEdge:b=yes
crosshairColor:c=0, 0, 0, 0
crosshairLightColor:c=0, 0, 0, 0
crosshairDistHorSizeMain:p2=0.03, 0.02
crosshairDistHorSizeAdditional:p2=0.005, 0.003
distanceCorrectionPos:p2=-0.26, -0.05
drawDistanceCorrection:b=yes
crosshair_distances{
distance:p3=200, 0, 0
distance:p3=400, 4, 0
distance:p3=600, 0, 0
distance:p3=800, 8, 0
distance:p3=1000, 0, 0
distance:p3=1200, 12, 0
distance:p3=1400, 0, 0
distance:p3=1600, 16, 0
distance:p3=1800, 0, 0
distance:p3=2000, 20, 0
distance:p3=2200, 0, 0
distance:p3=2400, 24, 0
distance:p3=2600, 0, 0
distance:p3=2800, 28, 0
distance:p3=3000, 0, 0
distance:p3=3200, 32, 0
distance:p3=3400, 0, 0
distance:p3=3600, 36, 0
distance:p3=3800, 0, 0
distance:p3=4000, 40, 0
distance:p3=4200, 0, 0
distance:p3=4400, 44, 0
distance:p3=4600, 0, 0
distance:p3=4800, 48, 0
distance:p3=5000, 0, 0
distance:p3=5200, 52, 0
distance:p3=5400, 0, 0
distance:p3=5600, 56, 0
distance:p3=5800, 0, 0
distance:p3=6000, 60, 0
}
crosshair_hor_ranges{
}
matchExpClass{
exp_tank:b = yes
exp_heavy_tank:b = yes
exp_tank_destroyer:b = yes
exp_SPAA:b = yes
}
Эта часть нужна, чтобы игра определила файл как прицел, потому что просто создать файл с расширением .bkl недостаточно. Объяснение всех параметров можно найти здесь (wiki.warthunder.ru/cdk/creation_sight). Сама структура файла выглядит примерно так:
Начало (весь этот большой кусок када сверху)
далее следуют блоки drawLines и drawQuads. Они и отвечают за рисование. Точнее за рисование отвечает первый, а с помощью второго можно закрашивать фигуры. Можешь скачать любой прицел и посмотреть что там внутри.
Благодарю))