事件浏览器菜单(EBM)

事件浏览器菜单(EBM)

通过角色浏览事件,并从UI重播这些事件,显示你已经看过的那些。

模组工具

[center]

✦ 事件浏览器菜单 ✦

每一个事件,每一个角色,一键即达。


▎ 这是什么?

你是否曾想重温某个事件,或测试自己创建的事件,却又不想使用控制台?事件浏览器菜单 为你提供一个整洁的游戏内窗口,列出游戏中的所有事件——包括原版游戏和模组——并按事件中的角色分类,让你能快速找到并重播任何事件。

这个模组最初是为我自己测试为 Aspen 制作的心动事件而开发的,但我觉得其他人可能也会喜欢它——所以我发布了出来!


▎ 功能

  • 按角色浏览 — 选择一个 NPC,即可立即查看他们出现的所有事件,每个名字旁都会显示事件数量,例如 Aspen (13)。
  • 搜索 — 输入关键词即可搜索角色或事件列表。
  • 已看 / 未看标记 — 一眼就能看出哪些事件已经看过,哪些还没有。
  • 一键重播 — 点击事件即可传送到正确地点并立即开始播放,无视任何要求。
  • 实时读取数据 — 直接从游戏数据中获取所有位置的事件,因此模组内容会自动显示。
  • 显示事件条件 — 将鼠标悬停在事件上即可查看其要求。
  • 播放前重新加载 — 在播放事件前,轻松重新加载角色的内容包。
  • 设置事件信息 — 模组作者可以为自己的事件设置标题和描述(见下文)。
  • 也有控制台命令 — 更喜欢键盘?使用 event_list <npc> 和 event_play <eventId>。

▎ 如何使用

  • 在游戏中按 F9 打开浏览器。
  • 想要其他按键?在模组的 config.json 中更改 OpenMenuKey,或使用通用模组配置菜单在游戏内重新绑定。

▎ 常见问题

我预期的角色没有出现在列表中 — 他们在哪里?

默认情况下,列表只显示出现在至少一个当前已加载事件中的角色。勾选左上角的 显示全部 即可列出游戏中的所有角色——包括没有事件的角色。如果某个角色仍然没有出现,那是因为他们的事件被锁定在尚未满足的条件之后(见下文)。

某个事件不显示,或计数看起来很少 — 是坏了吗?

不是。浏览器显示的是在当前存档中处于激活状态的事件。许多事件由其模组控制,仅在特定日期、好感度等级、季节、条件标志等条件下才添加,而 Content Patcher 只会在这些条件满足后才会将它们加载到游戏中。因此在早期存档中你会看到较少的事件,随着游戏进度推进,它们应该会陆续出现。

我可以播放一个我不“符合条件”的事件吗?——比如好感度不够、日期不对、没有看过前置事件?

可以。点击事件会跳过要求,因此列表中能看到的任何事件,你都可以观看。唯一无法播放的事件是那些根本没有加载到游戏中的事件(上述被条件锁定的事件)——在其条件满足之前,没有可运行的脚本。

如何测试一个被日期 / 好感度 / 条件标志锁定的事件?

将你的存档调整到事件条件满足的状态,然后打开浏览器,它就会出现。

“先重新加载包”有什么作用?

供模组开发者使用:勾选此项后,当你播放事件时,模组会先对该事件的内容包运行 Content Patcher 的 patch reload,为你提供更新后的事件,而无需重启游戏。它会根据事件 ID 自动检测需要重新加载哪个包;如果你的 ID 没有遵循 ModID_EventName 的格式,请在配置中设置 Reload mod ID。


▎ 给模组作者

为你的事件设置友好的名称和描述,让它们在浏览器中显示得更好,而不是显示原始 ID。只需使用 Content Patcher 编辑 Mods/Invatorzen.EventBrowser/Events 资源,以事件 ID 为键:

{
    "Action": "EditData",
    "Target": "Mods/Invatorzen.EventBrowser/Events",
    "Entries": {
        "YourMod_SomeEvent": {
            "DisplayName": "难忘之夜",
            "Description": "你在星空下度过了一个宁静的夜晚。"
        }
    },
    "When": { "HasMod |contains=Invatorzen.EventBrowser": "true" }
}

任何未标记的事件只会回退到显示其事件 ID — 不会发生任何错误。


▎ 兼容性

  • 需要 SMAPI 4.0.0 或更高版本。
  • 可随时安全添加或移除 — 它从不更改你的存档。
  • 可与任何内容模组配合使用;安装的事件越多,它能找到的也就越多。