解锁条件(unlocks)格式:修订间差异

来自Arcaea中文维基
无编辑摘要
(未显示7个用户的17个中间版本)
第1行: 第1行:
{{技术型}}
<!--如果你通过查看源代码发现了这里,那么恭喜你发现了查看内容的第二种方法。
-->{{技术型}}
__NOINDEX__
 
{{Usercheck}}
{{特殊页面导航}}
* '''本页面内容保持孤立!'''
* '''本页面内容保持孤立!'''
在本文件里并没有曲名,谱师之类的歌曲信息,请移步[[歌曲信息(songlist)格式]]
如果想更改谱面本身,请移步[[谱面格式]]
如果想更改曲包相关内容请移步[[曲包信息(packlist)格式]]


== 总论 ==
== 总论 ==
第13行: 第12行:
 打开文件大概是这样的画风:
 打开文件大概是这样的画风:


{| class="wikitable"
{
|-
  "unlocks": [
| <nowiki>{
"unlocks": [
    {
    {
     "songId": …,
     "songId": …,
     "ratingClass": …,
     "ratingClass": …,
     "conditions": [
     "conditions": [
 
    
],
     ],
    
},
   },
  
]
  ]
}
}
</nowiki>
|}
 
有点意思(笑)


 整个文件以一个大括号和一个”unlocks”字符串开头,大体结构如下
 整个文件以一个大括号和一个”unlocks”字符串开头,大体结构如下
第73行: 第66行:
  }
  }
 从上到下依次解析如下:
 从上到下依次解析如下:
songId (String):双引号包含的字符串,代表了欲限定条件的歌曲名称
*songId (String):双引号包含的字符串,代表了欲限定条件的歌曲名称 '''至关重要''',所引用歌曲对应谱面文件夹也必须是id名,不能出现非ASCII字符
    '''至关重要''',所引用歌曲对应谱面文件夹也必须是id名,不能出现非ASCII字符
*ratingClass (int):代表了欲限定条件的歌曲难度,取值只能为0,1,2 。0 为PST难度,1为PRS难度,2为FTR难度。
 
*conditions:unlocks文件中的核心,以一对英文方括号包裹,每一个condition语句组以一对大括号包含。一个歌曲的一个难度可以有很多个condition语句组,它们之间以英文逗号分开。
ratingClass (int):代表了欲限定条件的歌曲难度,取值只能为0,1,2
  0 为PST难度,1为PRS难度,2为FTR难度。
 
conditions:unlocks文件中的核心,以一对英文方括号包裹,每一个condition语句组以一对大括号包含。一个歌曲的一个难度可以有很多个condition语句组,它们之间以英文逗号分开。
 每一个语句组中一定有一个type语句,根据type的取值不同,其中会有不同的呈现。
 每一个语句组中一定有一个type语句,根据type的取值不同,其中会有不同的呈现。


第88行: 第77行:
    "credit": frag_needed_to_unlock
    "credit": frag_needed_to_unlock
  }
  }
 当type取0时,为残片型解锁。玩家需要花 费fragment 来开启当前歌曲的游玩权限。credit的取值是一个整数,代表了解锁当前难度歌曲需要花费 的fragments 数量。
 当type取0时,为残片型解锁。玩家需要花 费残片 来开启当前歌曲的游玩权限。credit的取值是一个整数,代表了解锁当前难度歌曲需要花费 的残片 数量。


====先行通过歌曲型解锁====
====先行通过歌曲型解锁====
  {
  {
    "type":1,   
    "type":1,   
第99行: 第87行:
  }
  }
type取1时,为先行通过歌曲型解锁,玩家需要在其前置歌曲中达到相应要求。
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。


song_id (String):指在 游玩 本难度的 歌曲 需要 先行通过 歌曲 名称 引用要求与songId
====先行游玩歌曲型解锁====
{
   "type":2,  
   "song_id": songname,
   "song_difficulty": difficulty
}
type取2时,为先行 游玩歌曲 型解锁 与[[# 先行通过歌曲 型解锁|先行通过歌曲型解锁]]类似 不过对应结果为游玩 应曲目即可。变量不再赘述


song_difficulty (int): 取值为0,1,2,与ratingClass含义相同
====多次通过歌曲型解锁====
{
   "type":3,  
   "song_id": songname,
   "song_difficulty": difficulty,
   "grade": gradeNum,
   "times": timesNum
}
type取3时,为多次通过歌曲型解锁,与[[#先行通过歌曲型解锁|先行通过歌曲型解锁]]类似,不过需要多次通过相应曲目并达到给定评级。
*times (int): 指先行通过的歌曲需要达到限定评级的次数。
其他变量不再赘述


grade (int):限定 先行通过 歌曲名称需要达到 评级,0为不限定,1为达到C,2为达到B,3为需要达到A,4为达到AA,5为达到EX
====选择任务型解锁====
{
   "type":4,
   "conditions": [
   {
    //condition 1
   },
   {
    //condition 2
   }
  ]  //end of condition(s)
}
type取4时,为选择任务型解锁。其中conditions类似最外侧的conditions,可填入不同的condition语句组。玩家只需挑选其中任意一个任务完成即可解锁。<s>套娃警告</s>
 
====个人游玩潜力值型解锁====
{
   "type":5,  
   "rating": potentialNum
}
type取5时,为个人游玩潜力值型解锁,玩家需要取得或超过限定的潜力值即可解锁。
*rating (int): 限定的 个人游玩潜力值乘以100后 整数 <s>可以随便填,负数都行</s>


====特殊解锁类型====
====特殊解锁类型====
第113行: 第140行:
    "max": maxNum
    "max": maxNum
  }
  }
type取101时,为特殊解锁类型,通常用于解锁 神秘<s>魔王</s> 歌曲。
type取101时,为特殊解锁类型,通常用于解锁 隐藏 歌曲。
 
*min (int):解锁anomaly失败时获得的最小进度数。
min (int):解锁anomaly失败时获得的最小进度数。
*max (int):解锁anomaly失败时获得的最大进度数。
 
{{Usercheck-end}}
max (int):解锁anomaly失败时获得的最大进度数。

2020年12月30日 (三) 02:52的版本


在您查看以下内容之前,我们需要您回答我们提供的问题。
ABA型的三字符songid是?
已确认。

  • 本页面内容保持孤立!

总论

文件在\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时,为残片型解锁。玩家需要花费残片来开启当前歌曲的游玩权限。credit的取值是一个整数,代表了解锁当前难度歌曲需要花费的残片数量。

先行通过歌曲型解锁

{
    "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":2,    
    "song_id": songname,
    "song_difficulty": difficulty
}

type取2时,为先行游玩歌曲型解锁,与先行通过歌曲型解锁类似,不过对应结果为游玩相应曲目即可。变量不再赘述。

多次通过歌曲型解锁

{
    "type":3,    
    "song_id": songname,
    "song_difficulty": difficulty,
    "grade": gradeNum,
    "times": timesNum
}

type取3时,为多次通过歌曲型解锁,与先行通过歌曲型解锁类似,不过需要多次通过相应曲目并达到给定评级。

  • times (int):指先行通过的歌曲需要达到限定评级的次数。

其他变量不再赘述。

选择任务型解锁

{
    "type":4,
    "conditions": [
    {
     //condition 1
    },
    {
     //condition 2
    }
 ]  //end of condition(s)
}

type取4时,为选择任务型解锁。其中conditions类似最外侧的conditions,可填入不同的condition语句组。玩家只需挑选其中任意一个任务完成即可解锁。套娃警告

个人游玩潜力值型解锁

{
    "type":5,    
    "rating": potentialNum
}

type取5时,为个人游玩潜力值型解锁,玩家需要取得或超过限定的潜力值即可解锁。

  • rating (int):指限定的个人游玩潜力值乘以100后的整数。可以随便填,负数都行

特殊解锁类型

{
   "type": 101,
   "min": minNum,
   "max": maxNum
}

type取101时,为特殊解锁类型,通常用于解锁隐藏歌曲。

  • min (int):解锁anomaly失败时获得的最小进度数。
  • max (int):解锁anomaly失败时获得的最大进度数。