ИГРАТЬ

Пользовательские прицелы

С обновлением 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/0
  • p2 — диапазон данных из двух значений (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Разрешение углового движения
Прицельная сетка ИТ-1
Прицельная сетка ИТ-1 с изменённой толщиной рисок и размера шрифта

Кроме этих настроек, стандартная сетка содержит блоки 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, 282800 — дистанция до цели, на которой рисовать риску;
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
     }
   }
 }
Прицельная сетка Т-55А

Параметры внутри блока 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_machinegun730ap_ball
7_7mm_Vikkers_user_machinegun920i_t_ball
7_62mm_DT_user_machinegun815ap_i_ball
7_62mm_M37_user_machinegun853ap_ball
7_62mm_M73_user_machinegun853ap_ball
7_62mm_M1919A4_user_machinegun853ap_ball
7_62mm_PKT_user_machinegun815ap_i_ball
7_62mm_SGMT_user_machinegun815ap_i_ball
7_62mm_Type74_user_machinegun853ap_ball
7_92mm_BESA_user_machinegun880ap_i_ball
7_92mm_MG3_user_machinegun853ap_ball
7_92mm_MG34_user_machinegun880ap_i_ball
7_92mm_MG42_user_machinegun880ap_i_ball
8mm_Breda_Mod38_user_machinegun790ap_i_t_ball
12_7mm_M2_HB_user_machinegun887ap_i_t_ball_M20
14_5mm_KPVT_user_machinegun1000ap_i_t_ball

Пример реализации исторической прицельной сетки

Используя весь спектр возможностей для создания пользовательских прицельных сеток, можно создавать прицельные сетки, которые будут максимально приближены к реальным.

Для примера мы приводим внешний вид прицела итальянского танка Р40:

Фотография реального прицела танка P40
Реалистичная реализация прицельной сетки танка P40

Блок настроек, с помощью которых можно создать данный прицел:

 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; }
   }
 }
Комментарии
Комментариев пока нет
Напишите первый!
Лента рекомендаций
Сейчас нам нечего вам порекомендовать :(
Перейти на главную
Вы досмотрели до конца