解锁条件(unlocks)格式:修订间差异
小 (→先行通过歌曲型解锁) |
小 (→细节解析: 不要在代码里排版,没用!) |
||
第73行: | 第73行: | ||
} | } | ||
从上到下依次解析如下: | 从上到下依次解析如下: | ||
songId (String):双引号包含的字符串,代表了欲限定条件的歌曲名称 | *songId (String):双引号包含的字符串,代表了欲限定条件的歌曲名称 。'''至关重要''',所引用歌曲对应谱面文件夹也必须是id名,不能出现非ASCII字符 | ||
*ratingClass (int):代表了欲限定条件的歌曲难度,取值只能为0,1,2 。0 为PST难度,1为PRS难度,2为FTR难度。 | |||
*conditions:unlocks文件中的核心,以一对英文方括号包裹,每一个condition语句组以一对大括号包含。一个歌曲的一个难度可以有很多个condition语句组,它们之间以英文逗号分开。 | |||
ratingClass (int):代表了欲限定条件的歌曲难度,取值只能为0,1,2 | |||
conditions:unlocks文件中的核心,以一对英文方括号包裹,每一个condition语句组以一对大括号包含。一个歌曲的一个难度可以有很多个condition语句组,它们之间以英文逗号分开。 | |||
每一个语句组中一定有一个type语句,根据type的取值不同,其中会有不同的呈现。 | 每一个语句组中一定有一个type语句,根据type的取值不同,其中会有不同的呈现。 | ||
第99行: | 第95行: | ||
} | } | ||
type取1时,为先行通过歌曲型解锁,玩家需要在其前置歌曲中达到相应要求。 | type取1时,为先行通过歌曲型解锁,玩家需要在其前置歌曲中达到相应要求。 | ||
*song_id (String):指在游玩本难度的歌曲时,需要先行通过的歌曲名称,引用要求与songId相同。 | |||
song_id (String):指在游玩本难度的歌曲时,需要先行通过的歌曲名称,引用要求与songId相同。 | *song_difficulty (int):取值为0,1,2,与ratingClass含义相同。 | ||
*grade (int):限定先行通过的歌曲名称需要达到的评级,0为不限定,1为达到C,2为达到B,3为达到A,4为达到AA,5为达到EX。 | |||
song_difficulty (int):取值为0,1,2,与ratingClass含义相同。 | |||
grade (int):限定先行通过的歌曲名称需要达到的评级,0为不限定,1为达到C,2为达到B,3为达到A,4为达到AA,5为达到EX。 | |||
====特殊解锁类型==== | ====特殊解锁类型==== | ||
第114行: | 第107行: | ||
} | } | ||
type取101时,为特殊解锁类型,通常用于解锁神秘<s>魔王</s>歌曲。 | type取101时,为特殊解锁类型,通常用于解锁神秘<s>魔王</s>歌曲。 | ||
*min (int):解锁anomaly失败时获得的最小进度数。 | |||
min (int):解锁anomaly失败时获得的最小进度数。 | *max (int):解锁anomaly失败时获得的最大进度数。 | ||
max (int):解锁anomaly失败时获得的最大进度数。 |
2019年6月4日 (二) 07:46的版本
此页面为技术型隐藏页面 |
- 本页面内容保持孤立!
在本文件里并没有曲名,谱师之类的歌曲信息,请移步歌曲信息(songlist)格式
如果想更改谱面本身,请移步谱面格式
如果想更改曲包相关内容请移步曲包信息(packlist)格式
总论
文件在\assets\songs下
打开文件大概是这样的画风:
{ "unlocks": [ { "songId": …, "ratingClass": …, "conditions": [ … ], … }, … ] } |
有点意思(笑)
整个文件以一个大括号和一个”unlocks”字符串开头,大体结构如下
{ "unlocks":[ //all contents… ] }
细节解析
例子
{ "songId": "chronostasis", "ratingClass": 1, "conditions": [ { "type": 1, "song_id": "infinityheaven", "song_difficulty": 1, "grade": 0 }, { "type": 0, "credit": 80 } ] }
归纳
{ "songId": this.songname, "ratingClass": classNum, "conditions": [ { //condition 1 }, { //condition 2 } ] //end of condition(s) }
从上到下依次解析如下:
- songId (String):双引号包含的字符串,代表了欲限定条件的歌曲名称。至关重要,所引用歌曲对应谱面文件夹也必须是id名,不能出现非ASCII字符
- ratingClass (int):代表了欲限定条件的歌曲难度,取值只能为0,1,2。0为PST难度,1为PRS难度,2为FTR难度。
- conditions:unlocks文件中的核心,以一对英文方括号包裹,每一个condition语句组以一对大括号包含。一个歌曲的一个难度可以有很多个condition语句组,它们之间以英文逗号分开。
每一个语句组中一定有一个type语句,根据type的取值不同,其中会有不同的呈现。
残片型解锁
{ "type": 0, "credit": frag_needed_to_unlock }
当type取0时,为残片型解锁。玩家需要花费fragment来开启当前歌曲的游玩权限。credit的取值是一个整数,代表了解锁当前难度歌曲需要花费的fragments数量。
先行通过歌曲型解锁
{ "type":1, "song_id": songname, "song_difficulty": difficulty, "grade": gradeNum }
type取1时,为先行通过歌曲型解锁,玩家需要在其前置歌曲中达到相应要求。
- song_id (String):指在游玩本难度的歌曲时,需要先行通过的歌曲名称,引用要求与songId相同。
- song_difficulty (int):取值为0,1,2,与ratingClass含义相同。
- grade (int):限定先行通过的歌曲名称需要达到的评级,0为不限定,1为达到C,2为达到B,3为达到A,4为达到AA,5为达到EX。
特殊解锁类型
{ "type": 101, "min": minNum, "max": maxNum }
type取101时,为特殊解锁类型,通常用于解锁神秘魔王歌曲。
- min (int):解锁anomaly失败时获得的最小进度数。
- max (int):解锁anomaly失败时获得的最大进度数。