2077最终用户许可协议劫持器

2077最终用户许可协议劫持器

一个轻量级的REDscript模组制作资源,利用《赛博朋克2077》原生的EULA界面来动态加载并显示来自外部文本文件的可定制通知。

2077 EULA 劫持器

2077 EULA 劫持器是一个轻量级的模组作者资源,它利用《赛博朋克 2077》原生的 EULA 界面来显示完全可自定义的信息通知。

它不会创建单独的弹窗、自定义菜单或 CET 覆盖层,而是使用游戏现有的单人菜单 EULA 小组件和原生输入路径。您的通知内容会从外部 UTF-8 文本文件中动态加载,无需重新编译 REDscript 即可更改其内容。

目标很简单:为模组作者和合集策展人提供一个原生的《赛博朋克 2077》界面,用于向玩家展示信息。


功能说明

当《赛博朋克 2077》的真实 EULA 已被接受后,2077 EULA 劫持器会将原生 EULA 界面作为模组通知打开,并将显示的法定文本替换为以下文件的内容:

r6\storages\shared\2077_EULA_Hijacker_notice.txt

游戏的原生界面负责处理窗口、裁剪、滚动条、鼠标/控制器输入以及“继续”按钮。

外部文本文件可以独立于 REDscript 进行编辑。 将您的模组或合集需要的任何信息放入该文本文件并保存,劫持器就会显示这些内容。


真实 EULA 始终拥有优先权

2077 EULA 劫持器的设计初衷并非绕过或替换《赛博朋克 2077》实际的法律 EULA。 如果游戏的真实 EULA 尚未被接受:

  1. 《赛博朋克 2077》会首先显示其正常的 EULA。
  2. 玩家通过游戏的正常界面阅读并接受它。
  3. 之后,劫持器才会显示自定义的模组通知。

如果游戏的 EULA 已经被接受,则自定义通知可以在单人菜单初始化期间正常打开。 劫持器打开其信息通知后,游戏真实 EULA 的接受状态会立即恢复。


它能用来做什么?

外部通知可以包含《赛博朋克 2077》原生文本渲染器支持的普通文本。 可能的用途包括:

  • 模组合集介绍
  • 已安装模组目录
  • 必备依赖项列表
  • 安装信息
  • 首次运行说明
  • 兼容性通知
  • 鸣谢与致谢
  • 更新日志
  • 策展人备注
  • 模组作者留言
  • 任何其他希望通过原生界面呈现的长篇信息

随附的公共发布通知通过项目自身的文档演示了该系统。您可以将其替换为项目所需的任何内容。


为什么使用外部文本文件?

因为更改信息不应需要重新构建脚本。 REDscript 负责处理原生界面。 文本文件负责处理内容。 这种分离使得策展人或模组作者无需改动可用的 REDscript 实现即可更新显示的信息。 这也使该资源体积非常小且易于检查。


需求

  • 《赛博朋克 2077》 2.31
  • RED4ext
  • redscript 0.5.31+
  • 兼容《赛博朋克 2077》 2.31 的 Red File System

不需要:

  • Cyber Engine Tweaks (CET)
  • RedData

安装

通过 Vortex 将其作为普通《赛博朋克 2077》模组安装,或将压缩包直接解压到您的《赛博朋克 2077》游戏目录中。 要自定义通知,请编辑:

r6\storages\shared\2077_EULA_Hijacker_notice.txt

将该文件保存为 UTF-8 文本。 仅更改显示的消息无需重新编译 REDscript。


测试

2077 EULA 劫持器 v1.0 已在游戏中针对预期 EULA 流程的两方面进行了测试。 测试确认:

  • 当游戏的真实 EULA 尚未被接受时,它获得优先权。
  • 自定义模组通知随后出现。
  • 当真实 EULA 已被接受时,通知也能正常工作。
  • 外部 UTF-8 文本可动态加载。
  • 长篇内容显示正确。
  • 原生滚动功能正常。
  • 原生裁剪功能正常。
  • 鼠标/控制器交互保持可用。
  • 原生“继续”控件保持可用。
  • 大型分类文本文件可以成功显示和滚动。

本页面上的截图演示了游戏真实 EULA 和劫持器通过原生界面运行的情况。


开发历程

2077 EULA 劫持器在达到 v1.0 版本之前,经历了一系列实验性的 Alpha 和 Beta 版本开发。 开发过程、技术变更、失败的方案以及原生 EULA 实现的进展,有意保留在了随附的 README 中。 这是一个模组作者资源,该开发历史是为其他可能希望理解、修改、扩展或学习该实现方式的作者而保留的。 可用的 Beta v1.01 运行时逻辑被特意保留用于 v1.0 版本,而不是不必要地重写经过验证的代码。


作者信息

2077 EULA 劫持器的概念、需求、测试、开发方向以及最终实现决策均由 Big2What 指导。REDscript 实现和开发协助由 ChatGPT 提供。换句话说:

Big2What 指导。ChatGPT 编写。赛博朋克最终同意运行它。