控制和游戏玩法调整与修复(AZERTY手电筒翻越摄像机等)

控制和游戏玩法调整与修复(AZERTY手电筒翻越摄像机等)

一系列针对控制问题(AZERTY、手电筒等)和游戏玩法问题(如翻越、攀爬视角)的修复集合。

杂项

控制修复

你需要编辑一个名为 CustomizeControls.cfg 的文件。

此文件位于:

%LOCALAPPDATA%\Stalker2\Saved\

或(相同位置):

C:\Users\[你的Windows用户名]\AppData\Local\Stalker2\Saved\

YOUR_WINDOWS_USER_NAME 是系统中你的实际用户名)

找到它并用常规的 Windows 记事本打开(如果你有 Notepad++,用它更好)。

退出游戏,进行编辑(请参阅以下说明),保存并关闭文件,启动游戏以测试更改。

AZERTY 键盘梯子移动修复

CustomizeControls.cfg 文件中找到包含以下文本的行:

Ladder =

删除它,这样在 Sleep =NoInput = 行之间就会有一个空行。

打开模组包中的 CustomizeControls.cfg.Ladder.part.txt 文件。

复制 CustomizeControls.cfg.Ladder.part.txt 的全部内容,并将其粘贴到 Sleep =NoInput = 行之间的空白处。

如果你之前在游戏中更改过一些绑定,那么你可能会看到这样的内容,而不是 Ladder = 部分:

Ladder : struct.begin
    [0] = 之前您在游戏设置中自定义按键的定义
struct.end

在这种情况下,只粘贴上升/下降条目本身,并相应更改 [0][1] 的索引,即如果 Ladder 上下文中已有其他内容使用了条目 [0],则将索引更改为 [1][2]

Key = ZKey = S 可以更改为任何其他按键,如果你不使用 AZERTY(或 QWERTY)键盘并且在上下梯子时遇到问题。

AZERTY 徒手修复

修复了在物品选择轮盘中绑定到 Z 键的无武装动作问题,这样当你移动时,就不会总是以无武器状态结束。

CustomizeControls.cfg 中找到这一行:

ItemSelector : struct.begin

你会在那里看到几个条目,很可能 [0] 对应的是 MoveForward,因为你刚才把它改成了 Z。

找到最后一个,对我来说它的索引是 [2],对应的是 ItemSelector_Detector

复制 CustomizeControls.cfg.Unarmed.part.txt 中的文本,并将其粘贴到你上一个条目之后。请注意保持 struct.begin - struct.end 对的完整性!

请确保更改新条目的索引,在我这里是 [3],以匹配你的文件:例如,如果你的最后一个条目的索引是 [8],那么 Unarmed 条目的索引将是 [9]

手电筒重新绑定

注意Flashlight-rebind.zip 实际上并不需要下载,因为下面的说明已经足够,但你仍然可以下载它以增加此模组对其他人的可见性,并作为对作者的感谢。

CustomizeControls.cfg 中找到这些行:

[29] : struct.begin
DefaultID = -1
bIsPlayerMappable = true
PlayerMappableOption = 手电筒
InputActionSID = IA_手电筒
Key = None
OldKey = MiddleMouseButton
Triggers : struct.begin
[0] = EPlayerActionInputTrigger::Pressed
struct.end
struct.end

(请注意,索引 [29] 可能因你而异,但 PlayerMappableOption = FlashlightInputActionSID = IA_Flashlight 很重要,因为还有其他类似但不完全相同的定义)。

如果你找不到这个条目,那么请将上述文本粘贴在这两行之间:

PlayerMappings : struct.begin

无 =

探索 : struct.begin

这里将定义你之前通过游戏内设置自定义的按键。

将手电筒条目粘贴到这些定义的末尾。根据你文件中的条目数量相应地调整条目编号 [29]。例如,如果你最后拥有的是 [20],那么手电筒将是 [21]

struct.end

交易 =

如果看到的是 Exploration = 而不是 Exploration : struct.begin,那么将其改为:

探索 : struct.begin
struct.end

这很简单,你可以将其重新绑定到任何其他按键。要使用现成的示例,请下载模组的压缩包,解压后打开 CustomizeControls.cfg.Flashlight.part.txt 文件。

这里重要的是选择一个合适的触发条件。可能的条件有:

  • EPlayerActionInputTrigger::HoldWithActivationDelay
  • EPlayerActionInputTrigger::Pressed
  • EPlayerActionInputTrigger::Tap
  • EPlayerActionInputTrigger::Hold
  • EPlayerActionInputTrigger::Down

在示例文件中,我使用了 Key = FEPlayerActionInputTrigger::HoldWithActivationDelay。同时,我也将 F 绑定到了我的主要交互动作上。因此,我可以通过轻按 F 与任何物体进行交互,也可以通过长按 F 来开关我的手电筒(因为我使用了带延迟的激活方式)。

近战重绑定

注意Melee-rebind.zip 实际上并非必须下载,因为下面的说明已经足够,但你仍然可以下载它来增加这个模组对其他人的可见性,并作为对作者的感谢。

CustomizeControls.cfg 文件中找到以下行:

[9] : struct.begin
DefaultID = -1
bIsPlayerMappable = true
PlayerMappableOption = 近战攻击
InputActionSID = IA_近战攻击
Key = None
OldKey = V
Triggers : struct.begin
[0] = EPlayerActionInputTrigger::Pressed
struct.end
struct.end

请注意,索引 [9] 可能因你的文件而异。如果该行缺失,请找到 Exploration : struct.begin,转到该处定义的条目末尾,然后手动添加 MeleeAttack 条目。确保调整条目索引 [9] 以匹配你文件中的条目,即如果你 Exploration 部分的最后一个条目索引是 [20],那么 MeleeAttack 条目的索引应为 [21]

Key = None 替换为你想要的任何按键,例如 MiddleMouseButton

如何编辑你的按键绑定 - 一般说明

注意How-to-edit-your-keybindings.zip 实际上并不需要下载,因为下面的说明已经足够,但你仍然可以下载它,以增加这个模组对其他人的可见性,并作为对作者的感谢。

CustomizeControls.cfg 文件中搜索你需要的行——只需通读文件或尝试猜测命名并进行搜索。如果它不在文件中,但你在菜单中看到了它——在游戏中更改它,它就会出现。

需要理解的重要部分是绑定所属的上下文,例如,这里:

探索 : struct.begin

这是探索上下文的起始行。日志、瞄准等都有各自独立的上下文。

另一个非常重要的部分是触发器条目:它定义了激活条件。可能的条件有:

  • EPlayerActionInputTrigger::HoldWithActivationDelay
  • EPlayerActionInputTrigger::Pressed
  • EPlayerActionInputTrigger::Tap
  • EPlayerActionInputTrigger::Hold
  • EPlayerActionInputTrigger::Down

选择一个合适的条件很重要,这样你就可以将多个动作绑定到一个按键上。

这是一个例子:

[20] : struct.begin
DefaultID = -1
bIsPlayerMappable = true
PlayerMappableOption = 切换开火模式
InputActionSID = IA_切换开火模式
Key = Up
OldKey = B
Triggers : struct.begin
[0] = EPlayerActionInputTrigger::HoldWithActivationDelay
struct.end
struct.end

[29] : struct.begin
DefaultID = -1
bIsPlayerMappable = true
PlayerMappableOption = 切换手持物品
InputActionSID = IA_InspectArtifactExit
Key = Up
OldKey = H
Triggers : struct.begin
[0] = EPlayerActionInputTrigger::Tap
struct.end
struct.end

我使用相同的按键 = Up 来定义两个不同的动作:如果我点击上(上面的条目29),我切换我的武器;如果我长按上(上面的条目20),我切换开火类型。

这是可能的,因为我为 ToggleHeldItem 使用了 EPlayerActionInputTrigger::Tap,而为 ChangeFireType 使用了 EPlayerActionInputTrigger::HoldWithActivationDelay

HoldPressed 在这里不合适,因为它们不是互斥的。最好的选择是 HoldWithActivationDelay

游戏玩法修复

跳跃高度调整

下载 VaultAdj_P 文件,解压后复制 VaultAdj_P.pak[Path-To-Stalker2-Install-Folder]\Stalker2\Content\Paks\~mods 文件夹(如果 ~mods 不存在,请创建它)。该 pak 文件略微增加了最大攀爬高度,以修复无法攀爬看起来本应可攀爬位置的问题(参见视频)。该 pak 文件修改了 ObjPrototypes.cfg,因此与任何修改同一文件的模组不兼容。

攀爬相机调整

下载 ClimbCamAdj_P 文件,解压后复制 ClimbCamAdj_P.pak[Path-To-Stalker2-Install-Folder]\Stalker2\Content\Paks\~mods 目录下(如果 ~mods 文件夹不存在,请创建它)。该 pak 文件将偏航角和俯仰角限制提升至 90 度,以便在攀爬梯子时获得更好的视野(参见视频)。该 pak 文件修改了 CoreVariables.cfg,因此与任何修改同一文件的内容不兼容。

超宽屏修复

移除此修复程序添加的 Engine.ini 行,并使用新的行替代。