音乐修改

本页面讲述的内容长期有效
本页面介绍的是如何在模组中使用音乐。关于原版游戏中的音乐,参见soundtrack

需求

首先,你需要一些用来加入《欧陆风云4》的音乐文件。这些音乐文件可以来自其他模组,也可以来自P社的其他作品或你的个人音乐。在《欧陆风云4》中加入音乐不会改变其校验码,所以也不会影响在铁人模式下完成成就。

加入的音乐文件必须是ogg格式,否则无法播放。且该文件应具有32位44.1kHz频率192KB/s位频率,否则可能无法在游戏中正确播放。

音乐目录与支持文件

如果要直接在游戏本体中加入音乐,音乐文件需要放置在游戏根目录的名为“music”的文件夹中;如果是在模组中加入音乐,则需要在模组的根目录下新建一个music文件夹来放置音乐文件。

.asset 文件

新建一个.asset文件(名称随意,但不能与原版文件“music.asset”重名),用记事本或其他文本软件打开,并为你想添加的每首歌曲输入以下代码:(#号之后的内容为注释,仅供读者理解每行代码的意义)

music = {
     name = "songname" #你想在游戏中添加的曲目的名字,这个名字不能包含特殊字符,例如变音符号、空格或括号
     file = "filename.ogg" #该音乐文件实际的文件名称
}

该文件定义了新增音乐文件与游戏内新增曲目的对应关系。

.txt 文件

新建一个文本文档(名称随意,但不能与原版文件“songs.txt”重名),以如下格式输入代码:(#号之后的内容为注释,仅供读者理解每行代码的意义)

song = {
 name = "nameofyourmusic" #你想在游戏中添加的曲目的名字,与.asset文件中的songname应保持一致

 chance = { #这一段定义了音乐在游戏中播放概率的权重,权重越大则音乐播放的概率越大。
  modifier = {
   factor = 1 #在不满足以下所有条件时的默认权重,若不写此段则默认为1。
  }

  #以下都是可选段落
  modifier = { #若当前国家不是不列颠文化组,音乐永远不会播放。
   factor = 0
   NOT = { culture_group = british } 
  }

  modifier = { #若当前国家是不列颠文化组,音乐播放的概率更大。
   factor = 2
   culture_group = british 
  }

  modifier = { #若年份大于1500,音乐播放的概率更大。
   factor = 1.5
   is_year = 1500
  }

  modifier = { #若当前国家处于战争中,音乐永远不会播放。
   factor = 0
   is_at_war = yes
  }
  #可选段落结束
 } 
} #记得把反括号补全,不然会格式错误。

该文件定义了游戏内新增曲目的参数设置。

所有的工作都完成之后,music文件夹内应该有:所有要加入的音乐文件、一个新的写入了所有音乐文件的.asset文件,以及一个新的写入了所有曲目的.txt文件。

注:.asset文件和.txt文件必须新建,不能直接在原版文件中写入新内容,否则可能无法生效。

已知生效的触发效果

如上例所示,你可以添加一些修正来影响音乐播放的概率。以下是可以添加的触发条件的简短列表:

是否所有触发条件都能用在音乐语句中仍然是未知的,此处仅列出已知有效的触发条件。
  • culture
  • culture_group
  • religion_group
  • is_year
  • is_at_war
  • is_part_of_hre
  • num_of_colonists
  • real_month_of_year (0至11, 0代表一月) 此处代表的是现实时间,而不是游戏时间。在原版中,这个逻辑用于圣诞节音乐DLC。
  • has_country_modifier
  • any_owned_province
    • is_overseas
  • government
  • tag
  • war_with
  • owns
  • technology_group
  • capital_scope
    • region
    • continent
  • num_of_colonists
  • war_score
  • overextension_percentage
  • war_exhaustion