Skip to content

添加播放列表

您的播放列表文件放置在 Sound/BGM/Playlist 子文件夹,它们是格式简单的JSON文件。

json
{
    "shuffle": true,
    "list": [
        "megalovania"
    ],
    "remove": [
        "024 PSML514",
        "023 mysterious-forest"
    ]
}

list 中的音频ID(不是BGM ID)将合并到播放列表中,而 remove 将从播放列表中移除条目(如果存在)。您也可以使用现有的游戏音频ID。shuffle 设置该列表是否随机排列。

您也可以在 listremove 列表中使用通配符,目前提供两种模式:

json
"remove": [
	"**"
]

会在合并前清空所有曲目。

json
"remove": [
	"<dir>/*"
]

会在合并前清空所有来自 Sound/BGM/<dir>/ 文件夹的曲目。

播放列表类型

播放列表的JSON文件名应与以下之一匹配:

  • "Global"
  • 现有的播放列表名称
  • 区域类型名称
  • 区域ID

这里是游戏内已有的播放列表:

播放列表
  • Battle [1]
    • 102 punipuni
  • Blank [4]
    • 041 earlgrey
    • 090 hirusagari
    • 044 heya_guitar 1
    • 043 Along-the-riverside-road
  • Day [1]
    • 004 hoshinokiseki
  • Dungeon [4]
    • 024 PSML514
    • 022 Pyramid-naibu
    • 023 mysterious-forest
    • 048 nazoooki shinden
  • Dungeon2 [6]
    • 072 Netherworld_Shanty
    • 077 dragon and toast
    • 078 legend of one
    • 079 koudou
    • 080 big mojo
    • 081 exotics
  • Dungeon_Boss [1]
    • 098 Pixel Myth
  • EloMap [3]
    • 006 elomap2
    • 007 elomap3
    • 059 tyris4
  • Festival_Noyel [1]
    • 051 yuki
  • Festival_Olvina [1]
    • 051 yuki
  • Festival_Yowyn [1]
    • 093 cat life
  • Field [1]
    • 015 Atlantean_Twilight256
  • Hoard [1]
    • 053 hoard
  • Lot [1]
    • 001 no bgm
  • Night [2]
    • 005 elomap1
    • 004 hoshinokiseki
  • Underground [2]
    • 046 dwarf
    • 047 nonbiri dwarf

Blank 是所有没有明确指定播放列表的区域的默认播放列表。

查看区域类型名称及其播放列表:

全局列表

您可以准备一个名为 Global.json 的特殊播放列表,它会合并到所有播放列表中。

指定播放列表

例如,所有地城区域(Zone_RandomDungeonZone_RandomDungeonFactoryZone_Mine 等)共享一个名为 Dungeon 的播放列表。如果您想添加/删除此播放列表中的歌曲,您应该在 Sound/BGM/Playlist/ 文件夹中准备一个 Dungeon.json

您在 Dungeon.json 中的更改将合并到游戏的 Dungeon 播放列表中,无论是添加还是删除歌曲。这将影响所有共享此播放列表的区域。

另一个常见用例是在您处于大地图时添加歌曲。大地图是区域类型 Region,它有一个播放列表 EloMap

区域类型列表

除了播放列表合并,您还可以为每个区域类型指定区域覆盖。这些播放列表将使用区域类型名称,其内容将合并到区域的默认播放列表中(如果在表中未指定,则为 Blank)。

例如 Zone_Vernis.json 会为韦尔尼斯区域类型进行覆盖,而 Zone_Forest 则会对使用这个类型的 草原 和 森林 进行覆盖。

因此,您也可以通过 Region.json 而不是 EloMap.json 向大地图播放列表添加歌曲,因为它使用 Region 类型。

区域ID列表

有时候同一区域类型可能有多个不同区域,您可以单独使用区域ID进行覆盖,例如 Zone_dungeon 洞窟 和 Zone_dungeon_ruin 遗迹 都是 Zone_RandomDungeon 区域类型,您可以使用其ID进行单独指定。当使用区域ID时,您还可以在其后附加 @N 来指定特定 N 层,例如 特尔斐地下一层 为 [email protected]

合并顺序

多种播放列表可以同时存在,它们会依次按照全局列表,指定播放列表,区域类型列表,区域ID列表的顺序合并。重复的曲目会被移除。播放列表合并顺序也受Mod加载顺序影响。在 remove 列表中使用通配符时请在牢记播放列表的合并顺序也会影响你的最终曲目列表和顺序。

热加载/BGM 查看

您可以在游戏内加载存档后,使用 CWL 面板查看和控制当前播放列表:

当您在游戏运行时编辑播放列表 JSON 后,您可以热重载所有播放列表。尽管 CWL 有用于热重载新增音频的控制台命令,但由于可能出现索引问题,不建议使用。

最后一个示例

假设您想移除大地图探索的所有默认曲目,并添加您的新增曲目,使用 Sound/BGM/Playlist/EloMap.jsonSound/BGM/Playlist/Region.json:

json
{
    "shuffle": true,
    "list": [
        "my new BGM sound id1",
        "my new BGM sound id2"
    ],
    "remove": [
        "**"
    ]
}

This project is an unofficial documentation site and is not affiliated with, endorsed by, or associated with Elin or Lafrontier / Noa. All trademarks are the property of their respective owners.