
快速交易(实验性)
跳过与商人交谈这一环节的关键。瞄准目标,按下Shift+F,你便进入交易窗口。按Esc,你便回到禁区。
查看大图快速交易实验版(QUICK TRADE EXPERIMENTAL)
一键跳过与商人交谈的繁琐流程。瞄准,按下 Shift+F,进入交易窗口。按 Esc,返回 Zone。
跳过问候语,直接打开交易或升级菜单,退出时跳过告别语并离开对话。
交易与升级 • 即时快速退出 • 全面可调时序 • 不修改存档
先读这里 —— 高度实验性
这是一个个人生活质量小工具,后来变得一发不可收拾。我和仓库销售之间的互动提示和对话台词多到让我抓狂,所以我把它自动化了。
它不是一个干净、带事件钩子的模组。S.T.A.L.K.E.R. 2 所需的实验性 RE-UE4SS 构建禁用了大部分有用的钩子,因此该模组从外部、盲目地、按定时器驱动原版对话界面。它大约有 十分之九 的概率正常工作。剩下十分之一的情况在下面详细描述,而且随时可以按一次 F 键恢复。
如果你想要绝对稳定的东西,这个还不是。如果你也只是想免去点击商人寒暄,试试它并根据自己的机器调整参数吧。
功能说明
快速进入
瞄准商人或技师,按下 Shift+F,模组会快进问候语并直接打开交易(或升级)菜单 —— 大约一秒钟,无需手动操作。自动区分交易与升级
模组会同时尝试交易和升级动作,并保留 NPC 实际提供的选项。商人打开交易菜单,技师打开升级菜单。快速退出
按 Esc 关闭交易/升级窗口,模组会立即退出整个对话并跳过商人的告别语。只需按一次 Esc 就能回到游戏世界,而无需按 Esc(关闭菜单)→ Esc(离开对话)→ Space(跳过告别)。进入时无持续轮询
进入序列是一个固定、按计划执行的脚本——它不会每帧扫描游戏——因此在你走动时不会增加持续的后台开销。所有参数均可调整
每个延迟、重复次数和间隔都位于 config.lua 中。如果默认值在你的系统上不合适,你几乎肯定可以调整到位。存档安全
无 pak 文件,不修改存档,不改动物品栏。它只调用游戏自带的对话函数。删除文件夹即可完全移除。
工作原理
由于实验性 UE4SS 构建无法可靠地挂钩对话系统,模组无法"监听"对话的打开。为此,它模拟你手动操作的过程,并精确计时:
你按下 Shift+F。 UE4SS 检测到组合键但不会吞掉它,所以游戏仍然会收到真实的 F 键按下。那个 F——而非模组——才是真正启动与 NPC 对话的按键。
问候语跳过连发。 几毫秒后,模组连续多次注入游戏自带的 IA_SkipDialog 动作。在对话出现之前的注入不会产生任何效果,所以连发会在问候语出现的那一刻"抓住"它并快进。
打开菜单连发。 稍后,模组反复调用对话视图自带的"打开交易/打开升级"函数。它会调用多次,因为如果单次调用恰好落在界面过渡期间,就会静默无效。
回复跳过连发。 再注入几次 IA_SkipDialog 以跳过商人的一句话回复,让菜单干净地接管。
快速退出监控。 一旦确认交易/升级菜单已打开,一个非常轻量的监视器会每隔 ExitWatchPollMs 做一次廉价检查,看菜单是否已关闭。当你按下 Esc 时,它会调用对话视图自带的"离开对话"函数并脉冲式触发跳过动作,使告别语永远不会播放。
使用默认参数时,整个进入序列在按键后约 40 毫秒 到 1200 毫秒 之间执行。
触发按键 —— 你可能需要重新设置
模组本身不会打开对话。是你的真实按键打开的。 模组的 Key 必须与你游戏中的 互动/使用 键相同——默认为 F。
如果你在游戏控制选项中重新绑定了互动键,你必须将 config.lua 中的 Key 改为与你的互动键一致,否则按下模组快捷键会在从未打开的对话上触发跳过/打开脚本,结果什么都不会发生。
默认组合键是 Shift + F。Shift 也是疾跑键,在某些配置下会导致组合键触发不稳定。如果快速交易感觉不灵敏,试试改用 Ctrl 或 Alt —— 设置
Modifiers = { "CONTROL" }
或Modifiers = { "ALT" }。除非你真的想这样,否则不要使用无修饰键的裸按键(
Modifiers = {})——那样游戏中的每一次互动都会变成快速交易尝试。进入序列偶尔失败是无害的:真实的 F 已经打开了普通对话,你只需用原版方式与商人交谈,或再次按下 Shift+F。
已知问题(约 9/10 成功率)
以下所有问题都源于同一个根本原因:模组从外部对原版界面计时,而非挂钩游戏的对话事件,因为那些钩子在此 UE4SS 构建中被禁用了。
1. 快速交易未触发——只开始了普通对话
对话打开的速度慢于脚本窗口的预期(流式加载卡顿、场景繁忙、存档读取缓慢)。跳过和打开连发在还没有可操作对象时就已经触发,然后停止。
临时解决: 再次按下 Shift+F,或直接正常对话。
永久解决: 增加 OpenStartMs 和 GreetingSkipStartMs,和/或提高 GreetingSkipCount 和 OpenCount,使连发覆盖更宽的时间窗口。参见下方的调参说明。
2. 快速退出未触发——出现告别语/仍停留在对话中
监视器通过每 ExitWatchPollMs 检查交易菜单的 widget 来检测其关闭。如果菜单在两次检查之间完全关闭并出现告别界面,或 widget 滞留一帧,监视器可能会错过窗口,离开序列永远不会启动。
临时解决: 按 Space 或 F 跳过告别并正常离开。
永久解决: 降低 ExitWatchPollMs(例如 60–80),以便更快捕获关闭事件;提高 ExitLeaveAttempts;降低 ExitLeaveRepeatMs。
3. 对话"卡住"且无界面——没有商人台词,没有菜单,什么都没有
打开调用全部落在同一次界面过渡期间,每次调用都静默无效,而问候语已经被跳过。你会停留在一个空的对话状态,没有任何可见提示。
临时解决: 按一次 F。它会推进卡住的对话,交易窗口通常会立即打开(再次按快速交易组合键也有效)。
永久解决: 提高 OpenCount 和 OpenStepMs,让打开调用分散到整个过渡期间,而不是集中在同一个糟糕的帧。
以上任何情况都不会损坏任何东西。最坏情况下按一次 F 即可继续。
交易时的卡顿
进入序列不会轮询,但快速退出监视器会。当交易或升级菜单打开时,模组每 ExitWatchPollMs(默认 100 毫秒)执行一次轻量检查来感知何时关闭,而 Esc 的离开序列会运行一小段检查和调用连发。每次检查都会遍历游戏的对象列表,在较弱的 CPU 或大量模组的环境中,浏览商人时可能会出现轻微的微卡顿,退出时也可能出现短暂卡顿。
如何减少:
- 将 ExitWatchPollMs 提高到 150–300。代价是退出时跳过告别语会稍慢。
- 提高 ExitLeaveRepeatMs 并降低 ExitLeaveAttempts,让退出连发更廉价。
- 设置
QuickExitOnTradeClose = false可完全禁用监视器。快速进入仍然有效;只是离开对话时使用原版方式。 - 保持
DumpExitFunctions = false。设为 true 会在首次退出时执行一次重量级的一次性反射遍历,导致明显的卡顿。
如果离开商人后卡顿仍然持续: 可能是某个监视器偶尔未能自行清理。只需走回去,再次打开交易并按 Esc 退出一次——重新启动快速交易会清除任何残留的监视器,卡顿即停止。
调参 —— config.lua
打开:
<game>\Stalker2\Binaries\Win64\ue4ss\Mods\QuickTrade\Scripts\config.lua
默认值:
return {
Key = "F",
Modifiers = { "SHIFT" },
GreetingSkipStartMs = 40,
GreetingSkipCount = 9,
SkipStepMs = 55,
OpenStartMs = 320,
OpenCount = 4,
OpenStepMs = 160,
ReplySkipCount = 4,
UseSyntheticSpace = false,
QuickExitOnTradeClose = true,
ExitWatchPollMs = 100,
ExitTimeoutMs = 2500,
ExitLeaveRepeatMs = 90,
ExitLeaveAttempts = 8,
DumpExitFunctions = false,
}
触发设置
- Key — 必须与你游戏中的互动/使用键一致。默认 F。
- Modifiers — 可为 CONTROL、SHIFT、ALT 之一,或
{}表示无修饰键。默认{ "SHIFT" }。
问候语/回复跳过 —— 所有时间以毫秒为单位,从按键按下时开始计算
- GreetingSkipStartMs — 首次跳过注入前的等待时间。对话打开较慢时增大;想更早抓住问候语则减小。
- GreetingSkipCount — 开场连发中的跳过注入次数。问候语仍会播放就增大;连发会覆盖更长的时间窗口。
- SkipStepMs — 跳过注入之间的间隔。更小 = 同一窗口内跳过更激进;更大 = 连发覆盖范围更广。
- ReplySkipCount — 打开调用后额外的跳过注入,用于截断商人的回复台词。
打开菜单
- OpenStartMs — 首次"打开交易/升级"调用前的等待时间。如果快速交易经常毫无反应,这个数字要调大——说明调用触发时对话尚未就绪。
- OpenCount — 调用打开函数的次数。菜单有时打不开或出现"卡住无界面"状态时增大。
- OpenStepMs — 打开调用之间的间隔。增大以使调用分散到界面过渡期间,而不是全部集中在同一帧。
物理空格键(可选)
- UseSyntheticSpace — 每次跳过的同时发送真实的 Space 键。默认关闭:合成空格键无法可靠到达对话界面,并可能泄漏到游戏世界中导致跳跃。仅在 IA_SkipDialog 单独无法在你的构建中跳过台词时尝试设为 true。
快速退出
- QuickExitOnTradeClose — 整个快速退出+跳过告别功能及其后台监视器的总开关。设为 false 可完全禁用。
- ExitWatchPollMs — 购物时监视器检查菜单关闭的频率。越小 = 退出越灵敏,后台开销越大。越大 = 交易时卡顿越少,跳过告别稍慢。
- ExitTimeoutMs — 退出序列运行时间的安全上限,超过后模组将放弃。除非感觉退出拖沓,否则保持默认。
- ExitLeaveRepeatMs — 退出连发中每次尝试之间的间隔。
- ExitLeaveAttempts — 放弃前尝试离开的次数。告别语偶尔仍会播放时增大;想让连发更廉价则减小。
诊断
- DumpExitFunctions — 首次退出时记录对话视图的函数名称,以帮助识别离开函数。会造成一次性卡顿。除非被要求启用,否则保持 false。
默认值不合适时的建议起点: 慢速机器 / 频繁"无反应":
OpenStartMs = 550,GreetingSkipStartMs = 120,GreetingSkipCount = 14,OpenCount = 6。 经常"卡住、无界面":OpenCount = 6,OpenStepMs = 220。 购物时卡顿:ExitWatchPollMs = 250,ExitLeaveRepeatMs = 120,ExitLeaveAttempts = 6。 然后重启游戏并在你最常用的商人处测试。
编辑 config.lua 后请完全重启游戏。 绑定和时序在模组加载时只读取一次。
系统需求
- S.T.A.L.K.E.R. 2:切尔诺贝利之心 — Update 2.0
- 来自官方 GitHub 发布页的 RE-UE4SS 实验版 — 非 NexusMods 构建
- Windows x64
- 附带的原生辅助 QuickTradeInput.dll(仅用于可选的合成按键)
兼容性: 针对 Update 2.0 Steam 可执行文件及下文所述实验性 UE4SS 设置构建并测试。游戏更新可能导致模组失效,需要新版本。
安装方法
如果你已经使用下述设置运行其他基于实验性 RE-UE4SS 构建的模组,直接跳到第 3 步。
安装实验性 RE-UE4SS。
备份现有的<game>\Stalker2\Binaries\Win64\ue4ss
文件夹,然后从官方发布页下载最新的实验版构建:
RE-UE4SS 实验版发布页
将其解压到<game>\Stalker2\Binaries\Win64
使<game>\Stalker2\Binaries\Win64\ue4ss
存在。为 S.T.A.L.K.E.R. 2 配置 UE4SS。
打开<game>\Stalker2\Binaries\Win64\ue4ss\UE4SS-Settings.ini
并设置:bUseUObjectArrayCache = false DefaultFNameToStringMethod = Conv_NameToString HookInitGameState = 0 HookLoadMap = 0 HookCallFunctionByNameWithArguments = 0 HookBeginPlay = 0 HookEndPlay = 0 HookLocalPlayerExec = 0 HookAActorTick = 0 HookEngineTick = 0 HookGameViewportClientTick = 0保存文件。此处设置不正确可能导致游戏启动时崩溃。
安装 Quick Trade 实验版。
将完整的 QuickTrade 文件夹复制到:<game>\Stalker2\Binaries\Win64\ue4ss\Mods最终路径:
<game>\Stalker2\Binaries\Win64\ue4ss\Mods\QuickTrade验证文件夹结构。
Win64 └── ue4ss ├── UE4SS.dll ├── UE4SS-Settings.ini └── Mods └── QuickTrade ├── enabled.txt ├── README.md └── Scripts ├── config.lua ├── main.lua └── QuickTradeInput.dll启动游戏。
正常启动。UE4SS 会自动加载模组。瞄准商人并按 Shift+F。
无需 .pak 文件。 附带的 enabled.txt 会自动启用模组;通常无需手动修改 mods.txt。
故障排除
按下快捷键后完全无反应
- 确认游戏中的互动/使用键,并将 config.lua 中的 Key 设为相同值。
- 尝试将 Modifiers 从
{ "SHIFT" }改为{ "CONTROL" }或{ "ALT" }。 - 确保你瞄准的商人/技师距离足够近,能显示正常互动提示。
- 编辑配置后重启游戏——绑定仅在加载时读取一次。
- 查看 ue4ss\UE4SS.log 中以 [QuickTrade] 开头的行。加载行会报告当前组合键和时序。
快速交易只是偶尔有效 这是预期行为——参见已知问题。提高 OpenStartMs、GreetingSkipCount 和 OpenCount,使脚本窗口更宽、更能容忍对话缓慢打开。在你最常用的商人处测试并小步调整。
对话打开但冻结,无菜单也无台词 按一次 F 解除卡住状态;交易窗口通常紧接着就会打开。要减少发生频率,提高 OpenCount 和 OpenStepMs。
快速退出未能离开对话 按 Space 或 F 跳过告别。然后降低 ExitWatchPollMs 并提高 ExitLeaveAttempts,以便更快地捕获关闭事件并采取行动。
在商人处购物时卡顿
提高 ExitWatchPollMs(150–300),提高 ExitLeaveRepeatMs,降低 ExitLeaveAttempts,或设置 QuickExitOnTradeClose = false。如果离开商人后卡顿仍继续,再打开交易并按 Esc 退出一次以清除残留监视器。
游戏启动时崩溃 使用 GitHub 上的实验版 RE-UE4SS 构建(而非 NexusMods 版本),并逐一检查安装方法第 2 步设置列表中的每个值。
DLL 触发杀毒软件警告 QuickTradeInput.dll 是一个用于可选合成按键的小型原生辅助。未签名、不常见的 DLL 可能触发启发式扫描器。只从可信来源下载。
游戏最近更新过 可执行文件可能已变更。移除此模组版本并到页面查看是否有更新。
卸载方法
- 关闭游戏。
- 删除
<game>\Stalker2\Binaries\Win64\ue4ss\Mods\QuickTrade。
或者删除模组文件夹中的 enabled.txt,保留文件但停止加载。无需清理存档。
我的其他模组
鸣谢
- RE-UE4SS 贡献者 — 模组框架
- S.T.A.L.K.E.R. 2 模组社区 — 工具与共享知识
祝狩猎愉快,潜行者。
高度实验性的社区模组。与 GSC Game World、Epic Games 或 RE-UE4SS 项目无关联或未经其认可。使用第三方模组风险自负。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。