War Thunder - Как нарисовать картинку в прицеле

Вчера я узнал, что в игре есть способ поставить себе прицел с картинкой. Немного поискав по интернету, я нашел готовые работы людей. Но как это сделать самому, ума не приложу, я нашел гайд на сайте(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 пиксель! Может есть какая-то сетка в интернете, или скрипт или какой-то другой способ что бы это сделать, не потратив пол жизни?

5
3
Комментарии:  3
Ваш комментарий

Привет, как найдёшь, напиши пожалуйста))

Смотри, из того что я понял сам, это то прицелы наинаються однинаково, примерно вот так(щас будет монога текста :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. Они и отвечают за рисование. Точнее за рисование отвечает первый, а с помощью второго можно закрашивать фигуры. Можешь скачать любой прицел и посмотреть что там внутри.