
负余额 - 完整故事演出
一名会计文员注意到人们按计划死亡,于是联系了错误的佣兵。顺着资金的线索,你会发现一份带有签名的杀人配额。这是一个改编自漫画的故事任务——全语音,约翰尼一路同行并插嘴评论,它会像其他官方任务一样出现在你的日志中。自动开始。
查看大图描述
一位账目职员在她雇主的付款记录中发现了一个规律。人们按计划死去,数字平衡得过于完美,而每份审批的底部都有一个签名。她不能报警,也不能上报,于是她打电话给一个在论坛上找到的雇佣兵。
《Negative Balance》(负余额) 是一个完整的委托,逐行改编自同名漫画。任务流程从一通电话开始,穿过圣多明戈的一间公司办公室,经过一次网络黑客对账本的深挖,再到北橡区的一座私人庄园,最后在野狼酒吧的一个卡座收尾。每一句台词都是有声的。强尼对其中大部分都有自己的看法。
它表现得更像一个原生委托。它会出现在你的日志中,跟踪目标,在你的地图上放置可用的标记,并在完成后支付报酬。无需打开任何菜单,也无需输入任何指令。一旦你过了序章并完成了杰克的《英雄》任务,你的电话就会响起。
安装说明
请先安装以下列出的前置要求。它们都是标准模组,你可能已经安装了。
使用模组管理器: 正常下载并安装即可。
手动安装: 将zip文件解压到你的《赛博朋克2077》文件夹中,保持文件夹结构。archive 和 r6 文件夹应放在 Cyberpunk2077.exe 旁边。
无需配置任何东西,游戏内也无需设置。它适用于现有的存档;在游戏中途安装后,委托会在你下次加载时自动激活。如果你已经过了序章并完成了《英雄》任务,几分钟内就会接到电话。
一个剧情要求:先完成《英雄》任务。 委托结束于野狼酒吧,而基础游戏会一直关闭该酒吧,直到杰克的悼念活动结束。如果在此之前开始,你会遇到一扇打不开的门,所以委托会等待,并只会提示你一次。完成《英雄》任务后,它会自动激活。
主要特点
全语音。 六个角色共有59句台词,每一句都有字幕。
强尼·银手会出现。 他会在委托的八个时间点在你身边闪现,说完他的话,然后消失。他说话时嘴部会动。
它运作起来就像真正的委托。 包含日志条目、追踪目标、为你导航的地图标记、地图上的委托图标以及最后的报酬。特别是地图标记花了很长时间才弄对,它们的行为和游戏原生的完全一样。
它会自动开始。 无需控制台命令,也无需对话选项来触发。委托等待的触发条件与游戏自身的委托相同,所以它不会打断序章,也不会在终局期间触发。
两个可供潜入的地点。 圣多明戈的一间公司办公室和北橡区的一座私人庄园。两者都可以选择潜行或直接交火。
大量的“陪伴”。 两个地点都配备了常规的守卫——警卫、网络黑客、一个监视通道的狙击手。你可以用非致命制服一个个解决他们,或者直接走进去大闹一场。
前置要求
这就是完整的列表。不需要 Cyber Engine Tweaks,也不需要 Audioware 或 mod_settings。
在《赛博朋克2077》2.31版本(包含往日之影)上构建并测试。
技术细节
有三件我没想到能成功的事情,也许对其它任务制作人有帮助。
1. 无需附带任何游戏文件即可实现地图标记。 让模组添加的任务标记出现在正确位置确实很棘手,一种方法是通过覆盖夜之城的预烘烤标记表来实现。但你不需要这样做。ArchiveXL 可以根据节点引用加偏移量为你计算标记位置,但该节点必须在任务激活标记的那一刻处于“流式加载”状态,而任务通常在你位于城市另一端时激活其标记。夜之城正好有三个引擎从不卸载的区域,它们之间包含了5211个全局命名的节点。锚定到其中一个节点,标记就能正常工作:
"reference": { "reference": "#loc_sq022_el_coyote_cojo_bar_marker" },
"offset": { "X": 12.4, "Y": -3.1, "Z": 0.5 }
2. 有声对话不需要音频模组。 不需要 Audioware,也不需要脚本驱动。场景行(scene line)携带一个数字,游戏引擎会从这个数字解析出字幕和音频;文字来自以该数字为键的字幕资源,语音来自以同一数字为键的 locVoiceoverMap。ArchiveXL 将模组的条目合并到这两个资源中。性别化的 V 台词由引擎处理,而不是由你处理:
RUID --+--> subtitle entry -> the words on screen
+--> locVoiceoverMap -> the .wem that plays
3. 强尼是两个工作任务,而不是一个。 口型同步会落在场景中指定说话的人身上,所以场景必须控制他的身体。但当你可能身处城市任何地方时,场景无法直接把他放到你面前,所以脚本会通过生成一个隐形设备并播放一个任务点(workspot)来定位他。一个耗费了一个晚上编码、测试和重试的陷阱:任务点是通过设备播放的,所以设备的旋转会覆盖角色模型的。如果你只设置了位置而忘记了这一行,他就会背对着你说每一句台词:
dev.position = spot;
dev.orientation = EulerAngles.ToQuat(angles); // <- 就是这一行
口型同步本身不包含任何动画数据。每句台词都借用了一个长度大致合适的原生口型同步动画,在对话距离下看起来就像真正的同步一样。
这一切都是开源的。 整个项目大部分由 Python 脚本生成(任务图、场景、日志、语音管线),完整源代码在 GitHub 上: andreaolivato/cyberpunk-codes。 你可以阅读它,取其精华,用它制作你自己的委托,或者告诉我哪里做错了。委托本身的漏洞最好在 Nexus 上报告;脚本和文档的问题请提交到 GitHub。
温馨提示
仅适用于早期玩家:该委托会为你强制打开荒坂工业园的大门,并且会保持打开状态。 在你玩到进入该设施的主线任务之前,基础游戏会将那些门设置为关闭状态(它们不会给你任何互动提示),所以如果没有这个改动,委托会把你送到一个你进不去的地方。此模组在委托激活期间会将这些门打开,并且永远不会再关闭它们,因为一个在你背后关门的模组可能会把你关在里面。所以如果你稍后再玩那个主线任务,你会发现那五扇门已经可以正常工作了。园区内没有其他改动,车辆出入口也未受影响。
致谢
psiberx,感谢他的 ArchiveXL、TweakXL 和 Codeware。五个前置要求中有三个是他的,没有它们这一切都不存在。
WolvenKit 和 redscript 团队,感谢他们提供了让这一切成为可能的工具。
Deceptious,我通过拆解他的任务模组来学习如何构建任务模组——Californication、One More Light 和 Deceptious Quest Core。去玩玩看吧。
《赛博朋克2077》模组 维基和 Discord 社区,感谢你们解答了那些没有在任何地方记录下来的所有问题。
CD PROJEKT RED,感谢他们创造了这座城市。
关于配音: 配音是 AI 生成的(ElevenLabs)。没有克隆或复用任何真人演员的声音。每一句台词都有字幕。
官方网站
@nightcityriot
来自街头的粉丝自制《赛博朋克2077》漫画和模组。 nightcityriot.bio| TikTok | Instagram
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。