===
===
空山不见人。
然而——听——人类的声音在回荡。- 王维,《鹿柴》,8世纪描述在圣丹尼斯的街角站上一分钟,你就能听到十几段对话。报童吆喝着头条新闻。醉汉对着空气骂骂咧咧。两个女人在争论谁的丈夫更没用。半条街外还有人在为一匹马讨价还价。
所有这些音频都随游戏一同发布了。但几乎没有一条配有字幕。
八年过去了,依然如此。如果英语不是你的母语,或者你只是习惯开着字幕玩,那些街道从头到尾都像是半哑的。你知道有人在说话,却始终不知道他们说了什么。
传闻消息会补全缺失的字幕。 不是作为叠加层——而是通过游戏自带的字幕系统。
===
===
桥上两人,互相警告着什么。八年没有字幕。为什么看起来像本地原生该模组直接调用游戏自身的字幕功能。相同的撕裂边缘横幅、相同的屏幕位置、相同的淡入淡出、相同的字体、相同的说话者名称前缀。不会在你的屏幕上覆盖任何内容。
如果你不知道装了模组,你会以为是Rockstar官方出的。
===
===
- 英语: 269,173 行
- 中文: 36万4405行
- 615个语音库 已覆盖
- 已有字幕覆盖数量:零。 已有官方字幕的台词不会被改动,只填充空白部分。
- 游戏文件修改:零。 一个 .lua 脚本加上纯文本数据。卸载就是删除这些文件。
主要特点- 环境闲聊、店主、执法者、陌生人,以及大量从未有过字幕的玩家台词
- 通过原生字幕系统显示——样式、位置和时序均与官方字幕完全一致
- 说话者名字来自游戏本身,所以会跟随你游戏所设置的语言
- 动物叫声、呼吸声、咳嗽声及其他非语言音效刻意保持静音。只有实际对话才会显示字幕。
- 只显示该角色自己说的话,绝不会把其他NPC的台词安到他们身上。
- 所有字幕文本均为纯文本。记事本即可打开。你可以修改任何你不满意的行。
===
===
需求两个标准脚本模组前置,
未打包在此存档中:
- ScriptHookRDR2 - 允许游戏加载外部脚本
- 终极 ASI 加载器 提供 dinput8.dll,将上述内容挂钩到游戏中
如果你曾为RDR2安装过脚本模组,那么你几乎肯定已经拥有了这两者。
为什么不打包:大多数人已经有了,而且通常版本比我的更新,覆盖你已有的可能会破坏你安装的其他脚本模组。
你需要的其他所有文件(RedLua.asi、lua51.dll)都已包含在内。
安装- 请先安装上面两个前置模组,否则此模组将完全无法生效。
- 把存档里的所有内容拖到游戏根目录里,就是包含RDR2.exe的那个文件夹。弹出覆盖提示时选“是”。
- 启动游戏。字幕会自动开始。无需按任何键。
覆盖时监视一个文件:RedLua/Settings.json 保存RedLua自身的设置(菜单快捷键、自动启动)。如果你已自定义过,请先备份,之后再恢复。
有两个下载版本可供选择——英文版和中文版。请选择一个。
如何判断它正在起作用前往瓦伦丁,抢劫一名店主,或者瞄准马车车夫并按 E 让他们停下。只要脚本加载成功,这两种情况都必定会出现字幕。如果你能看到字幕,就说明一切就绪。
如果你什么都没有得到,或者想要手动控制,请按
F7 RedLua菜单:
- 装填: F7 > 核心.主脚本 > 环境字幕.lua > 核心.脚本.关联
自动启动偶尔会失败。手动重新加载一次即可解决。 - 卸载: F7 > 核心.主.脚本 > 环境字幕.lua > 核心.脚本.unl
字幕立即停止。
卸载后无法在同一次会话中再次加载 - 你必须重启游戏。这不是一个漏洞:脚本在运行时挂钩到游戏底层内部机制,卸载时会将这些完全清理干净。一旦清理完毕就无法重新挂载。如果你只是暂时想关闭字幕,请改用游戏自带的字幕设置。
还没有吗? 按此顺序检查:
- 游戏根目录中的dinput8.dll
- ScriptHookRDR2.dll 在你的游戏根目录中
- RedLua.asi 和 lua51.dll(两者均包含在此压缩包中)
- RedLua/Scripts/AmbientSubs.lua
- 红 Lua/脚本/环境字幕/翻译.txt
- 字幕已在游戏自身设置中启用
如果F7完全没反应,几乎总是第1或第2种情况。
编辑它,翻译它,在此基础上拓展RedLua/Scripts/AmbientSubs/ 中的每个 .txt 都是纯文本,包含三列,以制表符分隔:
上下文名称变体编号副标题文本
发现某行文字有误?编辑该行,保存,重启游戏。就这么简单。
想要西班牙语、葡萄牙语、德语或其他语言的版本?我事先授予你许可——无需询问。 整体替换 trans.txt 并发布。数据采用纯文本格式正是为了实现这一点。署名是好的,但不是必须的。
下载前请先阅读已知限制- 该文本通过语音识别并自动校正生成。 这不是Rockstar的脚本,而且里面还有错误。 有些台词会读起来有点怪。
- 少量台词使用其他语言,或者过于杂乱无法辨认。这些有意不添加字幕。这是预期行为,并非遗漏。
- 字幕仅支持ASCII字符。游戏字体没有带重音符号的字符字形——它们会显示为空白方框。
如果某行文字有误,你可以在几秒钟内自行修正。请参阅上文。
呐喊助威没有改动一行游戏代码。没有触碰一个游戏文件。这能行得通,是因为其他人先打下了基础——四块拼图,各自负责链条中的一环:
- 终极 ASI 加载器 (ThirteenAG,开源)- 前置条件
提供 dinput8.dll。游戏启动时最先加载,然后挂接 .asi 插件。没有它,下游任何内容都无法启动。 - ScriptHookRDR2 (狂怒模组制作组) - 前置条件
使游戏能够加载外部脚本。RedLua 在此基础上运行。 - 红Lua - 包含在此存档中
RDR2的开源Lua运行时,也是本模组运行的平台。它会扫描RedLua/Scripts/目录,运行找到的内容,并提供F7菜单。整个模组就是一个.lua文件——没有RedLua,它只是躺在磁盘上的一堆文本。 - LuaJIT 2.1.0-beta3 - 包含在此存档中
RedLua所使用的Lua实现。此模组依赖其FFI能力直接调用游戏自身的字幕函数。这正是这些字幕看起来像是原生功能,而非叠加在屏幕上的文本的原因。
感谢这些作者。他们打造了工具,让其他人可以在上面继续创造。我只是添了一块砖。
终于15天。大约360小时。
如果你第一次听到路人说的话就笑了,或者让你站在原地听到最后——那这些时间就没白费。
发现了错误的台词、缺失的字幕,或者制作了其他语言版本?请在评论区告诉我。
愿你能理解雨中擦肩而过的每一个人。
* * *中文说明这是什么《荒野大镖客 2》里绝大多数环境语音——路人闲聊、店主搭话、警长、陌生人,还有大量亚瑟自己的台词——都只有配音,没有字幕。这个 mod 把这些空缺补上,而且是
通过游戏自带的字幕系统显示的:黑色撕边横幅、说话人名、出现位置、淡入淡出,全都和官方字幕一模一样,不是在屏幕上另画一层字。
=== 在此处粘贴图片 5 : gallery_07_butcher_cn.jpg ===
- 中文版 364,405 条 / 英文版 26万9173 条覆盖 615 个语音库
- 原版已有的字幕一条都不覆盖,只填空白的那些
- 不修改任何游戏文件,一个.lua脚本加纯文本数据,卸载就是删文件
- 说话人名是游戏自带机制,跟随你的游戏语言
- 动物叫、呼吸、咳嗽这类非语言音效故意不给字幕
- 只显示这个角色自己说的话,不会把别人的台词安到他嘴上
安装先装两个前置(压缩包里没有):ScriptHookRDR2 和 Ultimate ASI Loader。装过任何脚本 mod 的话你基本已经有了。然后把压缩包内容全部拖进游戏根目录(RDR2.exe 所在的那个文件夹),提示覆盖选是,进游戏就自动生效,不用按任何键。
覆盖时请注意
RedLua/Settings.json —— 那是 RedLua 自己的设置(菜单热键、自启动)。改过的话先备份,装完再还原。
怎么确认生效去瓦伦丁,抢一次店铺,或者瞄准马车夫按 E 让他停下 —— 只要脚本加载了,这两种情况必定出字幕。
如果没出的话,按
F7 开 RedLua 菜单手动重载:core.main.scripts → AmbientSubs.lua → core.script.rel。自启动偶尔会失败,手动重载一次就好。卸载是同一路径下的 core.script.unl,但
卸载之后本次游戏内无法再次加载,要重启游戏 —— 脚本运行时挂在引擎底层,卸载会把这些全部清理干净,清理完就接不回去了。只是想临时关字幕,请用游戏自带的字幕开关。
按 F7 完全没反应,九成九是两个前置没装对。
字幕文本你可以自己改RedLua/Scripts/AmbientSubs/ 下面每个 .txt 都是纯文本,记事本能开,三列用 Tab 分隔:上下文名、变体号、字幕文本。哪句翻得不对,改那一行,存盘,重进游戏。
想做西班牙语、葡萄牙语、德语版?默认授权,不用问我,整个 trans.txt 换掉就行。数据做成纯文本就是为了这个。
要先说清楚的字幕文本是通过语音识别和自动校正生成的,
不是官方剧本,里面有错。少量台词本身是外语或者含混听不清,那些是故意不给字幕的。看到读起来别扭的句子,按上一段自己改,几秒钟的事。
* * *空山不见人,但闻人语响。—— 王维《鹿柴》