С обновлением 1.73 «Vive la France» стандартную прицельную сетку наземной техники в War Thunder можно заменить пользовательской, например, воссоздающей исторический вид прицела. Пользовательские прицелы создаются посредством изменения настроек в файле прицела, а не в графическом редакторе. Как сделать свой прицел — расскажем в этой статье.
Установка пользовательской прицельной сетки
Помните, что пользовательский прицел не гарантирует корректного наведения, если создан автором без учёта всех рекомендаций статьи.
- Откройте директорию, в которую установлена игра, и создайте там папку
UserSights
; - Если ваша пользовательская прицельная сетка предназначается только для конкретной машины, то создайте в папке
UserSights
подпапку с ID данной машины, напримерgerm_flakpanzer_IV_Ostwind
. Если же прицел подходит для нескольких машин, создайте подпапкуall_tanks
; - Скопируйте прицельную сетку в созданную подпапку;
- Перезапустите клиент игры;
- Разместите в ангаре наземную технику, в которой хотите заменить прицельную сетку (для удобства);
- Откройте Настройки игры → Основные параметры → Танковые боевые настройки и нажмите кнопку «Настройки прицелов»;
- Выберите прицельную сетку в меню «Прицельная сетка»;
- Нажмите «Сохранить» в блоке слева.
Количество различных прицельных сеток к одной машине не ограничено. Таким образом, вы можете создать в одной папке коллекцию из различных сеток, чтобы иметь возможность переключаться между ними.
С обновлением 2.39 «Танец драконов» в игре также появилась возможность внутриигровой настройки прицела, которая позволяет собрать собственную конфигурацию отображающихся при прицеливании элементов интерфейса. Чтобы открыть настройки прицела необходимо открыть Настройки игры → Основные параметры → Танковые боевые настройки → кнопка «Настройки прицелов».
Использовать созданную конфигурацию можно будет как на конкретной технике, так и на всей технике выбранного ранга определённой нации, что позволяет не создавать прицел для каждой техники отдельно. К тому же, как и в случае с пользовательскими прицелами ранее, вы сможете использовать любой прицел на любой технике в игре (да, вы можете поставить даже современный американский прицел на БТ-5, если пожелаете).
Возможна настройка следующих элементов:
- Прицельная сетка. Можно как выбрать её из уже имеющихся в игре сеток, так и установить пользовательский прицел, скачанный в папку
UserSights
по инструкции выше; - Индикатор дальномера;
- Индикатор поворота башни;
- Индикатор готовности выстрела (показывает статус готовности и время перезарядки);
- Индикатор поля зрения прицела при максимальном приближении.
Те элементы интерфейса, что не влияют на прицеливание, можно будет просто и удобно перетаскивать по экрану курсором.
Каждый элемент можно просматривать в разных режимах: днём, ночью, с ПНВ или с тепловизором, а также на различной местности.
Создание пользовательской прицельной сетки
Прицельная сетка представляет собой блок настроек её элементов — шкал, линий, подвижных деталей и текста. Настройки задаются в виде .blk
файла, который можно редактировать с помощью текстового редактора.
Создание шаблона прицельной сетки для одной машины
- Выполните первые 2 шага, описанные в инструкции по установке пользовательской прицельной сетки;
- Создайте в подпапке с ID машины файл
sight_1.blk
; - Приступайте к редактированию полученного файла
sight_1.blk
в любом текстовом редакторе. Результат можно наблюдать в реальном времени, выйдя на технике в пробный выезд и нажимая Alt+F9 для обновления игровых данных.
Создание шаблона прицельной сетки для нескольких машин
- Выполните первые 2 шага, описанные в инструкции по установке пользовательской прицельной сетки;
- Создайте в подпапке
all_tanks
файлsight_1.blk
; - Останется указать, для каких машин будет доступен ваш прицел:
Откройте .blk файл прицельной сетки в текстовом редакторе и добавьте в него блок:
matchExpClass { }
Внутри данного блока задаются классы техники для которых прицел разрешен, или их конкретный список.
Игровые классы:
exp_tank
— легкие и средние танкиexp_heavy_tank
— тяжелые танкиexp_tank_destroyer
— САУ, носители ПТУРexp_SPAA
— ЗСУ и ЗРК
Внутри блока можно задать несколько классов и даже совместить их с конкретными машинами. Например:
matchExpClass { exp_heavy_tank:b = yes ussr_object_120:b = yes }
Такой прицел будет доступен для всех тяжёлых танков и одной САУ Объект 120.
ID конкретного танка можно узнать открыв его страницу на Wiki. ID будет находится в её URL: https://wiki.warthunder.com/unit/ussr_object_120
.
Для поддержания полного функционала универсального прицела для классов техники не рекомендуется использовать привязку к конкретным орудиям и боеприпасам. Их баллистическая сетка просто не будет отображаться, если техника не обладает указанными в блоке ballistics снарядами.
При создании исторических прицелов лучше использовать указание ID конкретных машин, для которых он подходит.
Редактирование .blk-файла прицельной сетки
Для редактирования таких файлов удобнее пользоваться разными программами редакторами, например бесплатный Visual Studio Code для которого уже существуют расширения которые знакомы с синтаксисом файлов blk (Blk и BlkTool их можно найти в панели расширений программы поиском blk).
Содержимое файла сетки имеет вид:
block_name { param_name:type = value block_name { param_name:type = value } }
где:
block_name
— название блока, должно начинаться с латинской буквы или подчеркивания и состоять из латинских букв, цифр или подчеркиваний;param_name
— название параметра, должно начинаться с латинской буквы или подчеркивания и состоять из латинских букв, цифр или подчеркиваний;type
— тип параметра, должен быть обязательно.
Тип параметра может быть одним из:
t
— текст (значение параметра необходимо заключать в кавычки " ")r
— числоi
— целое числоb
— булевское значение в виде yes/no on/off true/false или 1/0p2
— диапазон данных из двух значений (p3
из трёх,p4
из четырёх)
В случае указания неверного типа переменной, например, вместо целочисленного textAlign:i = 1
, вы укажете textAlign:i = 1,5
, игра не сможет прочитать такой файл и вы не увидите указанных вами изменений.
Параметры, доступные для изменения
На данный момент в коде можно изменить следующие параметры:
Основные параметры
Параметр | Описание |
---|---|
thousandth:t = "ussr" | Выбор типа тысячной для всего прицела. Возможные значения: "ussr" (1/6000), "nato" (1/6400), "real" (1/6283). |
crosshairHorVertSize:p2 = 4, 2 | Размер рисок на горизонтальной шкале поправок направления, первое число — размер рисок с обозначением тысячных, второе без обозначения (промежуточных); |
rangefinderProgressBarColor1:c = 0, 255, 0, 64 | Цвета шкалы прогрессбара дальномера в формате RGB + альфа-канал; |
rangefinderProgressBarColor2:c = 255, 255, 255, 64 | Цвет фона шкалы прогрессбара дальномера; |
rangefinderTextScale:r = 0.7 | Масштабирование размера текста дальномера |
rangefinderVerticalOffset:r = 15 | Вертикальное смещение поля дальномера относительно центра экрана (+ вверх, - вниз); |
rangefinderHorizontalOffset:r = 5 | Горизонтальное смещение поля дальномера относительно центра экрана (+ вправо, - влево) |
fontSizeMult:r = 1 | Масштабирование текста и цифр |
lineSizeMult:r = 1 | Масштабирование толщины всех линий |
drawCentralLineVert:b = yes | Отображать вертикальную линию прицела (да/нет)* |
drawCentralLineHorz:b = yes | Отображать горизонтальную линию прицела (да/нет)* * Два последних параметра нужны, если вы хотите скрыть сплошные линии перекрестья, расположенные по центру экрана, и на их месте нарисовать новые, например, прерывающиеся, или же другие элементы (треугольники, риски, галки и т.п., подробнее об этом далее) |
crosshairColor:c = 31, 239, 31, 255 | Цвет по умолчанию (r g b a) |
crosshairLightColor:c = 255, 30, 30, 255 | Цвет подсветки (r g b a) |
crosshairDistHorSizeMain:p2 = 0.03, 0.02 | Множители размера рисок поправок по дальности, расположенных слева от центральной линии (в случае, если мы не используем отдельные шкалы баллистик для разных снарядов, об этом далее) первое число для риски с числовым значением, второе — без числового значения |
сrosshairDistHorSizeAdditional:p2 = 0.005, 0.003 | Множители рисок поправок по дальности на самой центральной линии, аналогично, как на боковой шкале |
distanceCorrectionPos:p2 = -0.1, -0.05 | Смещение поля значения введённой поправки по дальности. Первое число — смещение по горизонтали (+вправо от центра, - влево от центра) Второе число — смещение по вертикали (+ вниз от центра, - вверх от центра) |
drawDistanceCorrection:b = yes | Рисовать или нет текст введённой поправки по дальности |
Параметры для управления радиальным движением линий, текстов, окружностей:
Параметр | Описание |
---|---|
radialCenter:p2 = 0.0, 0.0 | Точка, относительно которой происходит вращение |
radialAngle:r = 180.0 | Начальное угловое смещение от нуля в градусах |
radialMoveSpeed:r = 6.04 | Множитель скорости вращения (в паре с radialStretch позволяет объектам вращаться с той же скоростью, что и растянутая шкала) |
moveRadial:b = yes | Разрешение углового движения |
Кроме этих настроек, стандартная сетка содержит блоки crosshair_distances, который определяет то, как часто (какие дистанции подлежат нанесению на шкале) будут расположены риски поправки дальности:
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 }
crosshair_distances
можно задать 3 способами (важно: способы нельзя смешивать):
distance:p2 = 2800, 28 | 2800 — дистанция до цели, на которой рисовать риску;28 — какой текст выводить возле риски (0 — ничего не выводить). |
distance:p3 = 2800, 28, 0.01 | Первые два аналогичны предыдущему;0.01 — насколько увеличить длину риски слева (-0.01 — справа). |
distance { textPos:p2 = 0.042, 0; distance:p3 = 1000, 10, 0.01; } | textPos — дополнительное смещение текста риски (textPos:p2 = 0, 0 по умолчанию);distance:p3 = 200, 0, 0 — где первое число это значение поправки по дальности, для которой рисуется риска, второе число — символ, который будет обозначать эту риску, для значения 0 рисуется только риска без цифры, третье число — центрирование риски и её размер, риску можно сделать разной длины и развернуть к центру или от центра прицела. |
Аналогично работает шкала поправок по направлению:
crosshair_hor_ranges { range:p2 = -32, 32 range:p2 = -28, 0 range:p2 = -24, 24 range:p2 = -20, 0 range:p2 = -16, 16 range:p2 = -12, 0 range:p2 = -8, 8 range:p2 = -4, 0 range:p2 = 4, 0 range:p2 = 8, 8 range:p2 = 12, 0 range:p2 = 16, 16 range:p2 = 20, 0 range:p2 = 24, 24 range:p2 = 28, 0 range:p2 = 32, 32 }
Это были параметры стандартных сеток прицелов. Кроме этих элементов, прицельная сетка также может содержать ещё несколько блоков, которые дают новые возможности.
Блок баллистики снарядов
Стандартный прицел автоматически рисует прицельную сетку на основании данных о баллистике выбранного типа снаряда. Однако с помощью этого блока можно создать прицел, на котором постоянно будет отображаться несколько шкал для разных типов снарядов, при этом их баллистика будет соответствовать игровым значениям.
Чтобы отобразить такие шкалы, необходимо добавить блок ballistics
, включающий в себя необходимое количество блоков bullet
, каждый из которых имеет свои настройки, отвечающие за отрисовку и положение шкалы. Данные о баллистике снаряда, которые игра автоматически пересчитает в расстояние между рисками шкалы, задаются параметрами:
bulletType:t = "apcbc_tank"
— ID типа боеприпаса, для которого нужно создать новую шкалу (см. таблицу соответствия типов снарядов игровой локализации);speed:r = 624.0
— начальная скорость снаряда, которую наравне с названием типа снаряда можно посмотреть в его карточке.
Шкалы не связаны с загрузкой боекомплекта. Если в боекомплекте танка нет определённого типа снарядов, то шкала для данного типа может быть отображена.
Пример блока баллистики для танка Т-55А и 3х снарядов ПОБС 3БМ25, КС - 3БК17 и бронебойного каморного БР-412Д:
ballistics { bullet { bulletType:t = "apds_fs_tungsten_small_core_tank" speed:r = 1430.0 drawAdditionalLines:b = no drawDistanceCorrection:b = yes distanceCorrectionPos:p2 = -0.15, -0.15 drawUpward:b = yes // возможность рисовать шкалу отраженной вверх как на советских прицелах например ТШ2Б-41 distancePos:p2 = 0.03, 0.0 // смещение шкалы относительно центра textAlign:i = 1 textPos:p2 = -0.012, 0.0 textShift:r = 0.0 crosshairDistHorSizeMain:p2 = 0.0075, 0.0075 crosshairDistHorSizeAdditional:p2 = 0.005, 0.003 crosshair_distances { distance:p3 = 200, 0, 0 // + и - риски distance:p3 = 400, 0, 0 distance:p3 = 600, 0, 0 distance:p3 = 800, 0, 0 distance:p3 = 1000, 10, 0.01 distance:p3 = 1200, 0, 0 distance:p3 = 1400, 0, 0 distance:p3 = 1600, 0, 0 distance:p3 = 1800, 0, 0 distance:p3 = 2000, 20, 0.01 } } bullet { bulletType:t = "heat_fs_tank" speed:r = 1085.0 drawAdditionalLines:b = no // рисовать риски на центральной линии drawDistanceCorrection:b = no distanceCorrectionPos:p2 = -0.09, -0.05 distancePos:p2 = -0.02, 0.0 //смещение шкалы textPos:p2 = 0.02, 0.0 textShift:r = 0.0 //смещение текста textAlign:i = 2 //положение текста относительно рисок crosshairDistHorSizeMain:p2 = 0.0075, 0.0075 crosshairDistHorSizeAdditional:p2 = 0.005, 0.003 crosshair_distances { distance:p3 = 200, 0, 0 distance:p3 = 300, 0, 0 distance:p3 = 400, 0, 0 distance:p3 = 500, 5, -0.01 distance:p3 = 600, 0, 0 distance:p3 = 700, 0, 0 distance:p3 = 800, 0, 0 distance:p3 = 900, 0, 0 distance:p3 = 1000, 10, -0.01 distance:p3 = 1100, 0, 0 distance:p3 = 1200, 0, 0 distance:p3 = 1300, 0, 0 distance:p3 = 1400, 0, 0 distance:p3 = 1500, 15, -0.01 distance:p3 = 1600, 0, 0 distance:p3 = 1700, 0, 0 distance:p3 = 1800, 0, 0 distance:p3 = 1900, 0, 0 distance:p3 = 2000, 20, 0 } } bullet { bulletType:t = "apcbc_tank" speed:r = 887.0 drawAdditionalLines:b = no // рисовать риски на центральной линии drawDistanceCorrection:b = no distanceCorrectionPos:p2 = -0.09, -0.05 distancePos:p2 = -0.07, 0.0 //смещение шкалы textPos:p2 = 0.02, 0.0 textShift:r = 0.0 //смещение текста textAlign:i = 2 //положение текста относительно рисок crosshairDistHorSizeMain:p2 = 0.0075, 0.0075 crosshairDistHorSizeAdditional:p2 = 0.005, 0.003 crosshair_distances { distance:p3 = 200, 0, 0 distance:p3 = 300, 0, 0 distance:p3 = 400, 0, 0 distance:p3 = 500, 5, -0.01 distance:p3 = 600, 0, 0 distance:p3 = 700, 0, 0 distance:p3 = 800, 0, 0 distance:p3 = 900, 0, 0 distance:p3 = 1000, 10, -0.01 distance:p3 = 1100, 0, 0 distance:p3 = 1200, 0, 0 distance:p3 = 1300, 0, 0 distance:p3 = 1400, 0, 0 distance:p3 = 1500, 15, -0.01 distance:p3 = 1600, 0, 0 distance:p3 = 1700, 0, 0 distance:p3 = 1800, 0, 0 distance:p3 = 1900, 0, 0 distance:p3 = 2000, 20, 0 } } }
Параметры внутри блока bullet:
Параметр | Описание |
---|---|
bulletType:t = "apds_fs_tungsten_small_core_tank" | Тип снаряда |
speed:r = 1430.0 | Начальная скорость |
drawAdditionalLines:b = no | Нужно ли дублировать шкалу данного снаряда на центральной вертикальной линии (да/нет) |
drawDistanceCorrection:b = yes | Нужно ли отображать поле, в котором выводится численное значение введённой поправки по дальности (да/нет) |
distanceCorrectionPos:p2 = -0.15, -0.15 | Смешение поля введённой поправки по дальности |
distancePos:p2 = 0.03, 0.0 | Смещение шкалы относительно центра |
textAlign:i = 1 | Смещение значений численных отметок шкалы относительно рисок (-1, 0 или 1) |
textPos:p2 = -0.012, 0.0 | Смещение текста поправок относительно рисок |
textShift:r = 0.0 | Смещение текста поправок и уменьшение рисок шкалы |
crosshairDistHorSizeMain:p2 = 0.0075, 0.0075 | Размер и положение рисок |
crosshairDistHorSizeAdditional:p2 = 0.005, 0.003 | Размер и положение дополнительных рисок (на вертикальной оси прицела) |
В блоке bullet
также можно указать создание шкалы спаренного пулемёта, для этого нужно добавить следующие параметры:
triggerGroup:t = "coaxial"
(использовать обязательно)speed:r = 815.0
Радиальные шкалы и элементы (блок ballistics/bullet):
Параметр | Описание |
---|---|
radial:b = no | Выбор типа шкалы |
circleMode:b = no | Рисовать круги вместо линий на шкале (как на немецких прицелах Tzf9) |
move:b = yes | Двигать или нет с вводом поправки |
radialStretch:r = 1.0 | Множитель растяжения радиальной шкалы (если точки слишком близко) |
radialAngle:r = 0.0 | Начальное угловое смещение шкалы в градусах |
radialRadius:p2 = 0, 0 | Радиус. x - радиус; y - 0 или 1, где 1 значит, что радиус в тысячных |
В случае с радиальной шкалой параметр crosshairDistHorSizeMain
имеет следующий смысл:
- x — толщина линии окружности;
- y — радиус окружности.
В случае с радиальной шкалой параметр crosshair_distances/distance.z
означает радиус окружности.
drawUpward
меняет отображения шкалы на зеркальное.
Рисование элементов
Для максимальной кастомизации прицела возможно использование блока drawLines
и drawTexts
, с помощью которого можно рисовать элементы из отрезков и текста, указывая их координаты.
Рисование линий
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 - координата справа верху.
Для удобства создания исторических сеток, на которых обычно отмечены угловые величины в тысячных, можно указать смещение координат начала и конца линии также в тысячных, используя строку thousandth:b = true
(можно вместо "true" писать "yes"), например так:
line { line:p4 = -32, -32, 0, 0; thousandth:b = true; }
Результат:
Рисование текста
drawTexts { text { text:t = "X" // желаемый символ align:i = 0 // смещение относительно его указанной позиции pos:p2 = 32, 0 // координаты позиции символа Х и У в долях экрана move:b = no // будет ли текст двигаться при вводе дальности thousandth:b = yes // или в тысячных size:r = 1.7 // размер текста highlight:b = yes // будет ли подсвечен этот элемент текста при включении подсветки прицела. }
Рисование окружностей
drawCircles { circle { segment:p2 = 0.0, 360.0; // Сектор окружности pos:p2 = 0.0, 90.0; // Позиция diameter:r = 3.0; // Диаметр. Если thousandth=yes, то в тысячных size:r = 2.0; // Толщина линии move:b = no; thousandth:b = yes; } }
Рисование закрашенных фигур на базе четырехугольника
С его помощью можно нарисовать разные типы фигур у которых есть 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; } }
ID типов снарядов и их локализация в игре
Пушки
"apcr_tank" | Бронебойный подкалиберный снаряд |
"apds_tank" | Бронебойный подкалиберный снаряд с отделяющимся поддоном |
"apds_fs_long_tank" | Оперённый бронебойный подкалиберный снаряд с отделяющимся поддоном |
"apds_fs_full_body_steel_tank" | Оперённый бронебойный подкалиберный снаряд с отделяющимся поддоном |
"apds_fs_tungsten_small_core_tank" | Оперённый бронебойный подкалиберный снаряд с отделяющимся поддоном (cтальной) |
"apds_fs_tungsten_l10_l15_tank" | Оперённый бронебойный подкалиберный снаряд с отделяющимся поддоном |
"apbc_tank" | Бронебойный тупоголовый снаряд |
"apc_tank" | Бронебойный остроголовый снаряд (с бронебойным наконечником) |
"aphe_tank" | Бронебойный остроголовый каморный снаряд |
"aphebc_tank" | Бронебойный тупоголовый каморный снаряд |
"apcbc_tank" | Бронебойный снаряд с бронебойным наконечником и баллистическим колпачком |
"ap_tank" | Бронебойный остроголовый сплошной снаряд |
"heat_tank" | Кумулятивный снаряд |
"heat_grenade_tank" | Противотанковая граната |
"heat_fs_tank" | Кумулятивный невращающийся снаряд |
"hesh_tank" | Бронебойно-фугасный снаряд |
"he_grenade_tank" | Осколочно-фугасная граната |
"he_frag_tank" | Осколочно-фугасный снаряд |
"he_frag_fs_tank" | Осколочно-фугасный снаряд |
"shrapnel_tank" | Шрапнель |
"atgm_tank" | Противотанковая управляемая ракета |
"rocket_tank" | Неуправляемая ракета |
"smoke_tank" | Дымовой снаряд |
Пулемёты
Пулемёт | Начальная скорость | Тип пули |
---|---|---|
7_7mm_Type_97_user_machinegun | 730 | ap_ball |
7_7mm_Vikkers_user_machinegun | 920 | i_t_ball |
7_62mm_DT_user_machinegun | 815 | ap_i_ball |
7_62mm_M37_user_machinegun | 853 | ap_ball |
7_62mm_M73_user_machinegun | 853 | ap_ball |
7_62mm_M1919A4_user_machinegun | 853 | ap_ball |
7_62mm_PKT_user_machinegun | 815 | ap_i_ball |
7_62mm_SGMT_user_machinegun | 815 | ap_i_ball |
7_62mm_Type74_user_machinegun | 853 | ap_ball |
7_92mm_BESA_user_machinegun | 880 | ap_i_ball |
7_92mm_MG3_user_machinegun | 853 | ap_ball |
7_92mm_MG34_user_machinegun | 880 | ap_i_ball |
7_92mm_MG42_user_machinegun | 880 | ap_i_ball |
8mm_Breda_Mod38_user_machinegun | 790 | ap_i_t_ball |
12_7mm_M2_HB_user_machinegun | 887 | ap_i_t_ball_M20 |
14_5mm_KPVT_user_machinegun | 1000 | ap_i_t_ball |
Пример реализации исторической прицельной сетки
Используя весь спектр возможностей для создания пользовательских прицельных сеток, можно создавать прицельные сетки, которые будут максимально приближены к реальным.
Для примера мы приводим внешний вид прицела итальянского танка Р40:
Блок настроек, с помощью которых можно создать данный прицел:
it_san_giorgio_x4 { crosshairHorVertSize:p2 = 0, 0 rangefinderProgressBarColor1:c = 0, 255, 0, 64 rangefinderProgressBarColor2:c = 255, 255, 255, 64 rangefinderTextScale:r = 0.7 rangefinderVerticalOffset:r = 15 rangefinderHorizontalOffset:r = 5 fontSizeMult:r = 1.25 lineSizeMult:r = 1.5 drawCentralLineVert:b = no drawCentralLineHorz:b = no crosshairDistHorSizeMain:p2 = 0.03, 0.02 crosshairDistHorSizeAdditional:p2 = 0.005, 0.003 distanceCorrectionPos:p2 = -0.2, -0.05 drawDistanceCorrection:b = yes ballistics { bullet { bulletType:t = "apcbc_tank" speed:r = 624.0 drawAdditionalLines:b = no drawDistanceCorrection:b = yes distanceCorrectionPos:p2 = -0.15, -0.15 distancePos:p2 = 0.03, 0.0 // смещение шкалы относительно центра textAlign:i = 1 textPos:p2 = -0.012, 0.0 textShift:r = 0.0 crosshairDistHorSizeMain:p2 = 0.0075, 0.0075 crosshairDistHorSizeAdditional:p2 = 0.005, 0.003 crosshair_distances { distance:p3 = 200, 0, 0 // + и - риски distance:p3 = 400, 0, 0 distance:p3 = 600, 0, 0 distance:p3 = 800, 0, 0 distance:p3 = 1000, 10, 0.01 distance:p3 = 1200, 0, 0 distance:p3 = 1400, 0, 0 distance:p3 = 1600, 0, 0 distance:p3 = 1800, 0, 0 distance:p3 = 2000, 20, 0.01 } } bullet { bulletType:t = "he_frag_tank" speed:r = 552.0 drawAdditionalLines:b = no // рисовать риски на центральной линии drawDistanceCorrection:b = no distanceCorrectionPos:p2 = -0.09, -0.05 distancePos:p2 = -0.02, 0.0 //смещение шкалы textPos:p2 = 0.02, 0.0 textShift:r = 0.0 //смещение текста textAlign:i = 2 //положение текста относительно рисок crosshairDistHorSizeMain:p2 = 0.0075, 0.0075 crosshairDistHorSizeAdditional:p2 = 0.005, 0.003 crosshair_distances { distance:p3 = 200, 0, 0 distance:p3 = 300, 0, 0 distance:p3 = 400, 0, 0 distance:p3 = 500, 5, -0.01 distance:p3 = 600, 0, 0 distance:p3 = 700, 0, 0 distance:p3 = 800, 0, 0 distance:p3 = 900, 0, 0 distance:p3 = 1000, 10, -0.01 distance:p3 = 1100, 0, 0 distance:p3 = 1200, 0, 0 distance:p3 = 1300, 0, 0 distance:p3 = 1400, 0, 0 distance:p3 = 1500, 15, -0.01 distance:p3 = 1600, 0, 0 distance:p3 = 1700, 0, 0 distance:p3 = 1800, 0, 0 distance:p3 = 1900, 0, 0 distance:p3 = 2000, 20, 0 } } } crosshair_hor_ranges { range:p2 = -60, 60 range:p2 = -50, 0 range:p2 = -40, 40 range:p2 = -30, 0 range:p2 = -20, 20 range:p2 = 20, 20 range:p2 = 30, 0 range:p2 = 40, 40 range:p2 = 50, 0 range:p2 = 60, 60 } drawLines { // Vertical lines line { line:p4 = 0, -1.0, 0, -0.018; move:b = false; } line { line:p4 = 0, 0.018, 0, 1.0; move:b = false; } // Horizontal lines line { line:p4 = -1.0, 0, -0.02, 0; } line { line:p4 = 0.02, 0, 1.0, 0; } // line { line:p4 = -0.002, 0, -0.01, 0.00; move:b = false; } line { line:p4 = 0.002, 0, 0.01, 0.00; move:b = false; } line { line:p4 = 0.0, 0.002, 0.0, 0.01; move:b = false; } line { line:p4 = 0.0, -0.002, 0.0, -0.01; move:b = false; } line { line:p4 = -30, 30, -30, 40; thousandth:b = true; } line { line:p4 = -40, 30, -40, 40; thousandth:b = true; } line { line:p4 = -50, 30, -50, 40; thousandth:b = true; } line { line:p4 = 30, 30, 30, 40; thousandth:b = true; } line { line:p4 = 40, 30, 40, 40; thousandth:b = true; } line { line:p4 = 50, 30, 50, 40; thousandth:b = true; } line { line:p4 = -30, 0, -30, 10; thousandth:b = true; } line { line:p4 = -40, 0, -40, 10; thousandth:b = true; } line { line:p4 = -50, 0, -50, 10; thousandth:b = true; } line { line:p4 = 30, 0, 30, 10; thousandth:b = true; } line { line:p4 = 40, 0, 40, 10; thousandth:b = true; } line { line:p4 = 50, 0, 50, 10; thousandth:b = true; } line { line:p4 = 20, 0, 20, 3,5; thousandth:b = true; } line { line:p4 = -20, 0, -20, 3,5; thousandth:b = true; } line { line:p4 = 60, 0, 60, 5; thousandth:b = true; } line { line:p4 = -60, 0, -60, 5; thousandth:b = true; } line { line:p4 = 70, 0, 70, 5; thousandth:b = true; } line { line:p4 = -70, 0, -70, 5; thousandth:b = true; } } }