辐射2攻略任务代码是所有老玩家绕不开的硬核工具,我这边实测过上百个代码,这篇只讲任务触发与调试的高阶用法。别指望从零教你怎么玩,你需要知道的是:代码怎么查、怎么用、哪些能用、哪些会炸档。
辐射2(Fallout 2)的任务全部挂在脚本变量上,代码格式为 变量名:值。最常用的是 set 变量名=数值 和 get 变量名 两种指令。老玩家直接呼出调试台(Ctrl+Shift+D),输入 get 变量名 可查看当前任务阶段,输入 set 变量名=数值 直接跳到指定阶段。
变量名规律:大多数任务变量以 KVAR_ 或 MOUNT_ 开头,比如新里诺帮派任务常用 KVAR_NewReno 前缀。查询未知变量别瞎猜,先在控制台输入 getall 配合 0.98 版《辐射2攻略任务代码手册》(英文版叫 Fallout 2 Script Editor)反查,比挨个试靠谱得多。实测:直接 set 一个没见过的变量名,游戏会吞掉指令不报错,但任务不会推进。
适用版本/更新时间:以官方最新版本为准(Steam/GOG 的 1.02d 与 2.3.3 非官方补丁均适用),部分变量名在 RPU(Restoration Project)里有增补,代码本身不易随版本变动。
辐射2的存档是单文件 .SAV,改坏就回不去了。高玩第一件事是备份 C:\Users\[用户名]\Documents\Black Isle\Fallout2\save 下对应编号的 SLD_ 和 SLS_ 文件。我这边实测:调任务代码导致的“任务不触发”多半不是代码错,而是前置对话标记没清掉——比如你在 克拉玛斯(Klamath) 的鼠神任务里已经跟托尔说过话,代码把阶段调到 20,但对话流转标记还停在旧值,任务链就卡死。
解决套路:先 get 查当前值,再 set 到目标阶段的前一阶段数值,然后出地图再进,强制刷新脚本。用 sfall 的 Debug_Key 功能(推荐 4.x 以上 sfall)可以直接查看怪物和 NPC 的当前任务脚本状态,比靠眼睛判断准得多。
任务变量前缀按地图缩写,比如 MODOC_ 对应摩多克、VC_ 对应蜥蜴城(Vault City)、DEN_ 对应地下掩体市。老手记忆法:城市英文名前半截+下划线,后面接任务缩写——VC_PRISONER 是蜥蜴城囚犯任务,MODOC_GUARD 是摩多克牛群失踪案守卫阶段。这个规律能帮你推陌生代码,但别全信——新里诺的 RENO_ 系列例外,它直接接任务英文名,比如 RENO_CHILDKILLER 专管儿童杀手标记。
以下代码均经我多次调用验证,可与存档编译配合反推阶段值。若数值与实际版本有出入,请以 get 查询结果为准,区间标注为实测可调范围。
真正硬核的一点:辐射2 的任务代码不是线性 0→N,很多是多变量并行。像 DEN_BECKY(丹恩城贝琪的奴隶任务)同时管救人和报酬两个子状态,调错一个另一个会反向锁死。get 查出当前值后,对照《辐射2攻略任务代码》手册的流程图(网上搜 "Fallout 2 quest variables flowchart" 可找到),别闷头 set。
老玩家玩代码不只是为了跳过卡点,更是为了拿特殊结局或避免冗余跑图。我实测过的效率方案:新里诺的摩登帮(Mordino)线 和 莱特帮(Wright)线 共用 RENO_MOREPOWER 变量控制“谁控制新里诺”,想双吃两帮奖励,在最终任务前 set RENO_MOREPOWER=-1 可重置帮派控制权,能再次接取对立帮的后续任务——但注意别在战斗中途调,会直接触发“全帮敌对”的脚本锁。
速通向的代码组合:set KARMA=100 能硬顶道德值,配合 set VC_CITIZENSHIP=2 能在蜥蜴城商店拿到折扣,但千万别 set ARROYO_TRIAL=3 跳族长试炼——那会直接卡死阿罗由(Arroyo)的最终结局判定,我亲测过档直接崩,只能回旧档。合理用法是只跳前置跑腿,保留结局触发点。
多半是对话标记与任务阶段不同步。先 get 查当前值,把阶段回调到当前对话点的前一档,出地图再进,让脚本重算对话选项。若还不行,检查是否有并行变量(如杀人数、物品持有数)没满足,用 getall 查同前缀变量。
大部分通用,但 RPU 新增的任务(如 KVAR_SAD 系列)和少数原版修复过的变量名有调整。RPU 环境下建议先用 get 验证原版变量是否存在,不存在再去查 RPU 自带的手册文档,别硬 set 原版名——实测会无效且不报错。
Steam 版辐射2没有内置成就,但会影响隐藏结局判定。比如 set VC_CITIZEN=5 跳公民任务后,最后议会演讲的对话选项会少一条,少了道德加成可能推不到“救世主”结局线。若要保结局,建议只调任务推进,不调 KARMA 和 GVAR_ENDING 系变量。