前言
不管是在欧卡还是美卡中,挡位的设置都比较有限。SCS 官方只提供了几种挡位布局,比如无极式(范围)、有级式(分离)等,以及不同卡车现实中的挡位器布局。并且在游戏设置中,只能设置倒车挡、1-6 挡的位置,导致有 8 个位置的排挡(如图马斯特 TH8A)会浪费一个挡位用不了,让我很不爽。本教程会教你如何自定义挡位,调整到适合自己习惯的布局。
本教程主要在欧卡中演示,美卡的原理是一样的,并且主要针对有 8 个位置的排挡,如图马斯特 TH8A、ODDOR 排挡(封面图那个)、魔爪 HGP 排挡等。如果你的排挡是 7 挡,也可以作为参考。
本教程的目的是让类似于 12 + 2C + 4R 速的变速箱可以更好地在 8 位排挡上分布,最终的效果如图。类似于有级式的布局,大部分挡位都用挡位开关 1 切换,只有 R1 换 R3 需要用挡位开关 2。

本教程参考了:
- Euro Truck Simulator 2 | Input config
- TH8a gear shifter and how to use the 7th position – SCS Software
目录
关闭云存档
为了修改配置文件,需要先关闭云存档功能。在游戏中点击存档-编辑档案-将「使用 Steam 云」给关掉,然后进入游戏再退出。如果你有多个存档就都操作一遍。之后,在文件资源管理器的「文档」目录下,打开 Euro Truck Simulator 2 \ profiles 就可以看见存档文件夹,内容应类似下图,包含很多 gearbox 开头的 sii 文件。

在游戏内配置挡位
再次打开游戏-设定-控制设定,在里面把能配置挡位设置好,包括挡位开关 1 和 2,如图。修改好后退出游戏。

注:我这边的挡位开关 1 和 2 用的是方向盘上的按钮。如果你买的是那种带实体开关的挡把,记得勾选使用开关模式。
添加额外挡位
回到存档文件夹,用记事本打开里面的 controls.sii 文件。搜索「mix gear1」,会有类似于下面的结果:
config_lines[511]: "mix gear1 `joy2.b1?0 | semantical.gear1?0`"
config_lines[512]: "mix gear2 `joy2.b3?0 | semantical.gear2?0`"
config_lines[513]: "mix gear3 `joy2.b4?0 | semantical.gear3?0`"
config_lines[514]: "mix gear4 `joy2.b5?0 | semantical.gear4?0`"
config_lines[515]: "mix gear5 `joy2.b6?0 | semantical.gear5?0`"
config_lines[516]: "mix gear6 `joy2.b7?0 | semantical.gear6?0`"
config_lines[517]: "mix gear7 `joy2.b8?0 | semantical.gear7?0`"
config_lines[518]: "mix gear8 `semantical.gear8?0`"
可以发现,从 joy2.b1?0 到 joy2.b8?0 缺少了 joy2.b2?0,这就是我们在游戏中添加不到的挡位(在我这里是最左下角的位置,你这里显示的数字可能和我不一样)。我这边将其修改为下面这样:
config_lines[511]: "mix gear1 `joy2.b1?0 | semantical.gear1?0`"
config_lines[512]: "mix gear2 `joy2.b2?0 | semantical.gear2?0`"
config_lines[513]: "mix gear3 `joy2.b3?0 | semantical.gear3?0`"
config_lines[514]: "mix gear4 `joy2.b4?0 | semantical.gear4?0`"
config_lines[515]: "mix gear5 `joy2.b5?0 | semantical.gear5?0`"
config_lines[516]: "mix gear6 `joy2.b6?0 | semantical.gear6?0`"
config_lines[517]: "mix gear7 `joy2.b7?0 | semantical.gear7?0`"
config_lines[518]: "mix gear8 `joy2.b8?0 | semantical.gear8?0`"
添加自定义布局
我的配置
新增了额外的挡位后,还需要添加自定义挡位布局才能调用。回到存档文件夹,新建名为「gearbox_layout_th8a.sii」的文件,写入内容如下:
SiiNunit
{
direct_gearbox_config : _nameless.28d.th8a.00v1 {
name: "TH8a"
clutch_mode: analog
selector_mode: split
gears: 19
gears[0]: _nameless.Gear.Neutral
gears[1]: _nameless.Gear.Crawling.One
gears[2]: _nameless.Gear.Crawling.Two
gears[3]: _nameless.Gear.One
gears[4]: _nameless.Gear.Two
gears[5]: _nameless.Gear.Three
gears[6]: _nameless.Gear.Four
gears[7]: _nameless.Gear.Five
gears[8]: _nameless.Gear.Six
gears[9]: _nameless.Gear.Seven
gears[10]: _nameless.Gear.Eight
gears[11]: _nameless.Gear.Nine
gears[12]: _nameless.Gear.Ten
gears[13]: _nameless.Gear.Eleven
gears[14]: _nameless.Gear.Twelve
gears[15]: _nameless.Gear.Reverse.One
gears[16]: _nameless.Gear.Reverse.Two
gears[17]: _nameless.Gear.Reverse.Three
gears[18]: _nameless.Gear.Reverse.Four
}
direct_gearbox_gear : _nameless.Gear.Neutral {
gear_impulse_index: 0
selector_1: -1
selector_2: -1
gear: 0
name: N
}
direct_gearbox_gear : _nameless.Gear.Reverse.One {
gear_impulse_index: 1
selector_1: 0
selector_2: 0
gear: -1
name: R1
}
direct_gearbox_gear : _nameless.Gear.Reverse.Two {
gear_impulse_index: 1
selector_1: 1
selector_2: 0
gear: -2
name: R2
}
direct_gearbox_gear : _nameless.Gear.Reverse.Three {
gear_impulse_index: 1
selector_1: 0
selector_2: 1
gear: -3
name: R3
}
direct_gearbox_gear : _nameless.Gear.Reverse.Four {
gear_impulse_index: 1
selector_1: 1
selector_2: 1
gear: -4
name: R4
}
direct_gearbox_gear : _nameless.Gear.Crawling.One {
gear_impulse_index: 2
selector_1: 0
selector_2: -1
gear: 1
name: C1
}
direct_gearbox_gear : _nameless.Gear.Crawling.Two {
gear_impulse_index: 2
selector_1: 1
selector_2: -1
gear: 2
name: C2
}
direct_gearbox_gear : _nameless.Gear.One {
gear_impulse_index: 3
selector_1: 0
selector_2: -1
gear: 3
name: 1
}
direct_gearbox_gear : _nameless.Gear.Two {
gear_impulse_index: 3
selector_1: 1
selector_2: -1
gear: 4
name: 2
}
direct_gearbox_gear : _nameless.Gear.Three {
gear_impulse_index: 4
selector_1: 0
selector_2: -1
gear: 5
name: 3
}
direct_gearbox_gear : _nameless.Gear.Four {
gear_impulse_index: 4
selector_1: 1
selector_2: -1
gear: 6
name: 4
}
direct_gearbox_gear : _nameless.Gear.Five {
gear_impulse_index: 5
selector_1: 0
selector_2: -1
gear: 7
name: 5
}
direct_gearbox_gear : _nameless.Gear.Six {
gear_impulse_index: 5
selector_1: 1
selector_2: -1
gear: 8
name: 6
}
direct_gearbox_gear : _nameless.Gear.Seven {
gear_impulse_index: 6
selector_1: 0
selector_2: -1
gear: 9
name: 7
}
direct_gearbox_gear : _nameless.Gear.Eight {
gear_impulse_index: 6
selector_1: 1
selector_2: -1
gear: 10
name: 8
}
direct_gearbox_gear : _nameless.Gear.Nine {
gear_impulse_index: 7
selector_1: 0
selector_2: -1
gear: 11
name: 9
}
direct_gearbox_gear : _nameless.Gear.Ten {
gear_impulse_index: 7
selector_1: 1
selector_2: -1
gear: 12
name: 10
}
direct_gearbox_gear : _nameless.Gear.Eleven {
gear_impulse_index: 8
selector_1: 0
selector_2: -1
gear: 13
name: 11
}
direct_gearbox_gear : _nameless.Gear.Twelve {
gear_impulse_index: 8
selector_1: 1
selector_2: -1
gear: 14
name: 12
}
}
配置说明
例如 1 挡的部分:
direct_gearbox_gear : _nameless.Gear.One {
gear_impulse_index: 3
selector_1: 0
selector_2: -1
gear: 3
name: 1
}
direct_gearbox_gear : _nameless.Gear.One | 用于命名,可以修改,必须保留 _nameless,修改后也要同时变更最上面的索引 |
gear_impulse_index: 3 | 数字 3 对应 controls.sii 中的 mix gear3,表示排挡杆的位置,而不是切换到的挡位 |
selector_1: 0 | 定义挡位开关 1 的状态 0: 挡位开关 1 关闭才能切换到该挡位 1: 挡位开关 1 开启才能切换到该挡位 -1: 不管挡位开关 1 是何状态都切换到该挡位 |
selector_2: -1 | 定义挡位开关 2 的状态 0: 挡位开关 2 关闭才能切换到该挡位 1: 挡位开关 2 开启才能切换到该挡位 -1: 不管挡位开关 2 是何状态都切换到该挡位 |
gear: 3 | 定义切换到的挡位。由于 C1 C2 占了两个位置,所以 1 挡从 3 开始 |
name: 1 | 定义挡位在游戏中显示的名称 |
请按照说明根据具体情况更改。保存后,打开游戏控制设定,在排挡布局中选择 TH8a 即可。

使用方法简述
踩住离合,换到 3 挡起步。到达 1500 转后踩离合换 5 挡,随后再次到达 1500 转后踩离合换 7 挡。如果我们准备换 8 挡,先按下挡位开关 1,换挡时直接踩下离合,然后直接松开,排挡杆不用动,这样就换了一个小挡位。
在我这个配置中,挡位开关 2 只在倒挡有用。用来从 R1 / R2 切换到 R3 / R4。不过一般人应该也不需要切换到高速倒挡……
其他
本文只是一个引子,所有设置可以自行摸索更改,调整到最适合自己的布局。
更多内容欢迎访问博客主页查看。
留言