自定义瞄具

从 1.73 版本“Vive la France”开始,「战争雷霆」中地面车辆的默认瞄具可以替换为自定义瞄具。可以通过创建自定义瞄具来还原某个坦克的史实瞄具,而不是在图形编辑器中进行修改。

玩家制作的自定义瞄具一例

如何设置自定义瞄具

注意:只有自定义瞄具的作者在制作时遵循本文的全部建议,才能保证该瞄具正确瞄准。

  • 在游戏的根目录中创建名为UserSights的文件夹
  • UserSights 文件夹下创建名为all_tanks 的子文件夹。若瞄具仅适用于特定车辆,则在文件夹中创建名为该车辆 ID 的子文件夹。例如:瞄具用于“东风”防空车,所以在 UserSights 文件夹下创建名为 germ_flakpanzer_IV_Ostwind的子文件夹;
  • 将瞄具复制到创建的子文件夹中;
  • 重启游戏客户端;
  • 在车库中选择要更换自定义瞄具的地面载具
  • 打开“游戏选项→主要参数→陆战设置”,然后单击“瞄具界面设置”;
  • 从 “瞄具准星” 菜单中选择瞄具;
  • 单击左侧框中的 “保存”。

一台设备上可储存的不同瞄具数量没有限制,可以在文件夹中创建不同瞄具的集合并在他们之间切换。

瞄具界面预设

更新 2.39 “Dance of Dragons”引入了游戏内瞄具自定义功能,可通过点击式的用户友好界面来定制瞄具。

瞄具界面预设菜单

此功能可在特定载具和特定国家所选等级的所有载具上应用预设的瞄具,免于为每辆载具单独创建瞄具的繁琐。与自定义瞄具一样,可以在游戏中的任何载具上使用任何瞄具(甚至可以在 BT-5 上使用 M1艾布拉姆斯 的瞄具)

以下元素是可自定义的:

  • 瞄具准星,可从游戏中已有的准星中选择,也可以根据上述说明下载到UserSights 文件夹中来安装自定义瞄具;
  • 测距仪;
  • 炮塔指向图标;
  • 视野提示框;
  • 火炮就绪指示灯(显示就绪状态和装填时间);
  • 炮弹类型;

如何创建自定义瞄具

瞄具文件以代码块来绘制以下元素:比例尺、标线、可动部件、文本。这些代码块以 .blk 文件的形式呈现,可以使用任何文本编辑器进行编辑。

创建自定义瞄具

  • 按照说明中描述的前两个步骤设置自定义瞄具;
  • 在子文件夹中创建文件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
 }

该瞄具将适用于所有重型坦克和Object 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 形式的布尔值;
    译者注:只推荐使用true/false
  • p2p3p4― 来自 2 / 3 / 4 个值的数据范围;

如果无效的参数类型被指定,例如一个整数型textAlign: i = 1 被指定为textAlign: i = 1,5,游戏将不能读取这样的文件,从而您的更改也不会体现在游戏中。

目前可以在代码中更改以下参数

参数描述
thousandth:t = "ussr"规定瞄具密位制1
lineSizeMult:r = 1线条的缩放倍率
fontSizeMult:r = 1文本的缩放倍率
drawCentralLineVert:b = yes是否绘制垂直十字线2
drawCentralLineHorz:b = yes是否绘制水平十字线3
drawAdditionalLines:b = no是否绘制默认下坠刻度的附加刻度4
crosshairDistHorSizeMain:p2 = 0.0075, 0.0075 默认下坠刻度的长度5
crosshairDistHorSizeAdditional:p2 = 0.005, 0.003垂直十字线上附加下坠刻度的长度
crosshairHorVertSize:p2 = 4, 2水平十字线上的刻度长度
textShift:r = 0.0带数字的下坠刻度长度变化量6
textAlign:i = 1下坠刻度旁数字的对齐方式7
textPos:p2 = -0.012, 0.0下坠刻度旁数字相对于下坠刻度的位置偏移量8
distancePos:p2 = 0.03, 0.0下坠刻度的位置偏移量
distanceCorrectionPos:p2 = -0.15, -0.15距离显示器的位置偏移量9
drawDistanceCorrection:b = yes是否绘制距离显示器
rangefinderHorizontalOffset:r = 5测距仪的水平偏移量
rangefinderVerticalOffset:r = 15测距仪的垂直偏移量
rangefinderTextScale:r = 0.7测距仪文本大小
rangefinderProgressBarColor1:c = 0, 255, 0, 64测距仪进度条的颜色10
rangefinderProgressBarColor2:c = 255, 255, 255, 64测距仪进度条背景的颜色
crosshairColor:c = 31, 239, 31, 255瞄具颜色
crosshairLightColor:c = 255, 30, 30, 255被照亮的瞄具颜色11
move:b = yes是否随动装表
drawUpward:b = no 是否镜像刻度
radial:b = no是否启用径向刻度
circleMode:b = no是否绘制圆形径向刻度
radialStretch:r = 1.0径向刻度分布密度
radialAngle:r = 0.0径向刻度初始角度12
radialRadius:p2 = 0, 0径向刻度轨迹半径13
1可用值(1/6000)"ussr"(1/6400)"nato"(1/6283)"real"
23以上两个参数是默认的十字准线
4绘制在垂直十字线上
5第一个值是带数字的刻度长度,第二个值是不带数字的刻度长度; 在启用圆形径向刻度时,第一个值是刻度的粗细,第二个值是刻度的半径
6相对于数字位置
7可用值-101;即左对齐,居中,右对齐
8-9位置偏移量除非特殊注明外均以屏幕中心为原点,数值格式均为先 x 轴后 y 轴;x 轴正方向向右,y 轴正方向向上
10-11颜色数值格式均为 r,g,b,a;最大值 255
12从 6 点钟开始,以度为单位
13第二个值为 1 时单位使用密位制
图1、图2为修改 lineSizeMult:r = 2fontSizeMult:r = 2 后 IT-1 默认瞄具的刻度厚度和字体大小变化的简单示例
图1 (修改前)
图2(修改后)

默认瞄具还包含代码块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可以通过三种方式进行设置(注意:不能混合使用):

distance:p2 = 2800, 282800是下坠刻度对应的距离,在相应位置绘制刻度;
28是下坠刻度旁显示的数字,(0不显示);
distance:p3 = 2800, 28, 0.01第一个值是下坠刻度对应的距离,第二个值是下坠刻度旁的数字(0不显示),第三个值是下坠刻度的长度;
distance { textPos:p2 = 0.042, 0; distance:p3 = 1000, 10, 0.01; }textPos是下坠刻度旁文本位置的附加偏移量;
distance:p3 = 200, 0, 0同上;

水平十字线上的刻度crosshair_hor_ranges工作原理同上

 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
 }
此处提供了一份默认瞄具的文件内容,附注释。
//总体
thousandth:t="ussr"//坐标密位制:ussr(1/6000),nato(1/6400),real(1/6283)
fontSizeMult:r=1//文本的缩放倍率
lineSizeMult:r=1//线条的缩放倍率
drawCentralLineVert:b=true//是否绘制垂直十字线
drawCentralLineHorz:b=true//是否绘制水平十字线

//适配载具类型
matchExpClass{
exp_tank:b=true
exp_heavy_tank:b=true
exp_tank_destroyer:b=true
exp_SPAA:b=true
}

crosshairColor:c=0,0,0,255//瞄具颜色(所有颜色都按照r,g,b,a格式输入)
crosshairLightColor:c=0,0,0,0//被照亮的瞄具颜色

//测距相关(只包含旧测距仪)
rangefinderUseThousandth:b=false//测距仪位置偏移量是否使用密位制
rangefinderProgressBarColor1:c=0,255,0,64//测距仪进度条颜色
rangefinderProgressBarColor2:c=255,255,255,64//测距仪进度条背景颜色
rangefinderTextScale:r=0.7//测距仪文本大小
rangefinderVerticalOffset:r=0.1//测距仪垂直位置,正方向向上
rangefinderHorizontalOffset:r=5//测距仪水平位置,正方向向右

drawDistanceCorrection:b=true//是否绘制距离显示器
distanceCorrectionPos:p2=-0.26,-0.05//距离显示器位置(所有位置都按照x,y输入)

detectAllyTextScale:r=0.7//侦察文本大小
detectAllyOffset:p2=4,0.05//侦察文本位置

//刻度相关
crosshairHorVertSize:p2=3,2//水平十字线上刻度长度
crosshairDistHorSizeAdditional:p2=0.005,0.003//垂直十字线上附加下坠刻度长度
drawUpward:b=false//下坠刻度朝向
distancePos:p2=0.15,0//下坠刻度位置
crosshairDistHorSizeMain:p2=0.03,0.02//下坠刻度长度

crosshair_hor_ranges{//绘制水平十字线上的刻度
//range:p2(来自2个值的数据)=-32,32(距离,文本)
  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
}

crosshair_distances{//绘制下坠刻度
//distance:p3(来自3个值的数据)=200,0,0(距离,文本,长度)
  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
}

drawLines{//绘制线段
  line{
    line:p4/*来自4个值的数据*/=0,0,0,0/*起点坐标和终点坐标*/
    radialCenter:p2=0,0//旋转轴坐标
    radialAngle:r=0//初始旋转角度
    radialMoveSpeed:r=0//径向移动速度
    move:b=false//是否随动
    moveRadial:b=false//是否径向移动
    thousandth:b=false//是否密位值
  }
}

drawCircles {//绘制圆形
  circle{
    segment:p2/*来自2个值的数据*/=0,0/*从6点钟方向开始抹去度数和绘制度数*/
    pos:p2=0,0//圆心坐标
    diameter:r=0.5//半径
    size:r=2//大小
    radialCenter:p2=0,0//旋转轴坐标
    radialAngle:r=0//初始旋转角度
    radialMoveSpeed:r=0//径向移动速度
	  move:b=false//是否随动
    moveRadial:b=false//是否径向移动
    thousandth:b=false//是否密位值
  }
}

drawTexts{
  text{
    text:t=""//"文本"
    align:i=1//对齐(-1,0,1)
    pos:p2=0,0//坐标
    size:r=1//大小
    radialCenter:p2=0,0//旋转轴坐标
    radialAngle:r=0//初始旋转角度
    radialMoveSpeed:r=0//径向移动速度
    move:b=false//是否随动
    moveRadial:b=false//是否径向移动
    highlight:b=false//是否能被点亮
    thousandth:b=false//是否密位值
  }
}

drawQuads{//绘制四边形(两点重合即为三角形)
  quad{
    tl:p2=-0,0//左上点坐标
    tr:p2=0,0//右上点坐标
    br:p2=0,0//右下点坐标
    bl:p2=-0,0//右上点坐标
    center:p2=0,-90//旋转中心坐标
    radialCenter:p2=0,0//旋转轴坐标
    radialAngle:r=0//初始旋转角度
    radialMoveSpeed:r=0//径向移动速度
    move:b=false//是否随动
    moveRadial:b=false//是否径向移动
    thousandth:b=false//是否密位值
  }
}

以上是默认瞄具包含的参数,除此之外,自定义瞄具还提供更多新选项。

特定弹药对应的下坠刻度

默认瞄具会自动根据所选弹药的弹道数据绘制相应的下坠刻度。而下述代码块可以帮助您创建 “永久显示多种特定弹药对应下坠刻度” 的自定义瞄具。

为了绘制这些刻度,需要添加ballistics块和bullet块,每个块都是不可或缺的。弹药的弹道数据由游戏依照弹药类型和弹速自行计算,需要使用以下两种参数进行声明:

  • bulletType:t = "apcbc_tank"— 计算弹道数据所需的弹药类型 ID(见下表)
  • speed:r = 624.0— 计算弹道数据所需的出膛速度(见弹药详情卡片)

这些刻度和携带的弹药相关联,如果坦克没有携带符合上述参数的弹药,则不会显示对应的刻度。

包含三种弹药(APFSDS 3BM25,HEATFS 3BK17M,APCBC BR-412D)下坠刻度的 T-55A 坦克瞄具实例如下:

 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
     }
   }
 }
T-55A 坦克瞄具游戏内效果
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"(mandatory)
  • speed:r = 815.0

径向刻度和元素(用于bullet 块中)

参数描述
radial:b = no是否启用径向刻度
circleMode:b = no是否用圆形替代线条绘制径向刻度
move:b = yes装表后是否随动
radialStretch:r = 1.0径向密度乘子
radialAngle:r = 0.0径向刻度的初始角度(从6点钟方向开始,以度为单位)
radialRadius:p2 = 0, 0径向刻度半径(第二个值为1时启用密位制)
drawUpward:b = no 径向刻度方向(启用时为顺时针)
crosshairDistHorSizeMain:p2 = 0.0075, 0.0075 圆形刻度形状(第一个值是刻度的粗细,第二个值是刻度的半径)

绘制元素

使用drawLines drawTexts drawCirclesdrawQuads代码块能够绘制“线段、文本、圆、低多边形”这四种元素。您可以通过这些元素的堆叠来创作大型图案以最大限度的自定义瞄具。

径向移动元素

控制“线段、文本、圆、低多边形”这四种元素进行径向移动,需要使用以下四种参数:
参数描述
moveRadial:b = yes是否径向移动
radialMoveSpeed:r = 6.04径向移动速度
radialCenter:p2 = 0.0, 0.0旋转中心坐标(x,y ;以屏幕中心为原点)
radialAngle:r = 180.0初始旋转角度(从0开始,以度为单位)

绘制线段

drawLines {
 line { line:p4 = 0, -1.0, 0, -0.018; move:b = false; }
 line { line:p4 = -50, 30, -50, 40; thousandth:b = true; }
}

绘制线段需要输入其起止点的两组坐标,格式如下例:

line { line:p4 = 0.25, -0.25, 0, -0.0; move:b = false; }

此实例绘制了一条从屏幕右上四分之一点开始,在屏幕中心结束的静止线段,不会随着装表移动。

例1

在创建史实瞄具时,方便起见可以启用参数thousandth:b = true这将以密位作为单位(禁用时 1密位 ≈ 0.04单位 ),效果如下例:
line { line:p4 = -32, -32, 0, 0; thousandth:b = true; }
此实例绘制了一条向左上方延伸32密位的线段。

例2

绘制文本

drawTexts {
  text {
    text:t = "X" // desired symbol
    align:i = 0 // offset relative to its indicated position
    pos:p2 = 32, 0 // coordinates of the X and Y symbol positions in fractions of the screen
    move:b = no // whether the text will move when a range is entered
    thousandth:b = yes // or in thousands
    size:r = 1.7 // text size
    highlight:b = yes
}

绘制圆

drawCircles {
  circle {
    segment:p2 = 0.0, 360.0; // Sector of a circle
    pos:p2 = 0.0, 90.0; // Position
    diameter:r = 3.0; // Diameter. If thousandth=yes, then in thousandths
    size:r = 2.0; // Line Thickness
    move:b = no;
    thousandth:b = yes;
  }
}

绘制低多边形

使用drawQuads代码块可以绘制拥有4个及以下顶点的低多边形。

drawQuads {
  quad {  // Simple fixed quadrangle
    tl:p2 = -10, -10; // Top left top
    tr:p2 = 10, -10; // Top left top
    br:p2 = 10, 10; // Top right bottom
    bl:p2 = -10, 10; // Top left bottom

    thousandth:b = true;
  }

  quad {  // Object that can be moved along the radius
    tl:p2 = -10, -140;
    tr:p2 = 10, -140;
    br:p2 = 0, -96;
    bl:p2 = 0, -96;

    center:p2 = 0, -90; // The center of the figure is needed for correct rotation. By default the geometric center of a shape.

    radialCenter:p2 = 0.0, 0.0;
    radialAngle:r = 0;
    radialMoveSpeed:r = 6.04;

    moveRadial:b = yes;
    thousandth:b = true;
  }
}

弹药类型 ID 以及其游戏内名称

火炮

"apcr_tank""Armor-piercing composite rigid shell"
"apds_tank""Armor-piercing discarding sabot shell"
"apds_fs_long_tank""Armor-piercing fin-stabilized discarding-sabot shell"
"apds_fs_full_body_steel_tank""Armor-piercing fin-stabilized discarding-sabot shell"
"apds_fs_tungsten_small_core_tank""Armor-piercing fin-stabilized discarding-sabot shell (steel))"
"apds_fs_tungsten_l10_l15_tank""Armor-piercing fin-stabilized discarding-sabot shell"
"apbc_tank""Armor-piercing blunt-nosed shell"
"ap_large_caliber_tank""Armor-piercing blunt-nosed shell" (Used on the AP shell of the T34/M103)
"apc_tank""Armor-piercing sharp-nosed shell (with armor-piercing tip))"
"aphe_tank""Armor-piercing sharp-nosed high-explosive shell"
"aphebc_tank""Armor-piercing blunt-nosed high-explosive shell"
"apcbc_tank""Armor-piercing shell with armor-piercing tip and ballistic cap"
"ap_tank""Armor-piercing sharp-nosed solid shell"
"heat_tank""High-explosive hollow charge shell"
"heat_grenade_tank""Anti-tank grenade"
"heat_fs_tank""High-explosive non-rotating shell"
"hesh_tank""Armor-piercing incendiary shell"
"he_grenade_tank""High-explosive grenade"
"he_frag_tank""High-explosive shell"
"he_frag_fs_tank""High-explosive shell"
"shrapnel_tank""Shrapnel"
"atgm_tank""Anti-tank guided rocket"
"rocket_tank""Unguided rocket"
"smoke_tank""Smoke shell"
译者注:翻译不了一点

机枪

名称弹速弹药类型
“7_7mm_Type_97_user_machinegun”730ap_ball
“7_7mm_Vikkers_user_machinegun”920i_t_ball
“7_62mm_DT_user_machinegun”815ap_i_ball
“7_62mm_M37_user_machinegun”853ap_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

史实准星实例

用户在创建史实自定义瞄具时可以非常接近瞄具在现实中的样子。

下例是意大利 P40 坦克的瞄具

现实中 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; }
   }
 }