「解锁条件(unlocks)格式」:修訂間差異

出自Arcaea中文维基
(避免搜索引擎收录技术型页面)
無編輯摘要
(未顯示由 2 位使用者於中間所作的 2 次修訂)
行 1: 行 1:
{{技术型}}
<!--如果你通过查看源代码发现了这里,那么恭喜你发现了查看内容的第二种方法。
-->{{技术型}}
__NOINDEX__
__NOINDEX__
{{Usercheck}}
{{特殊页面导航}}
* '''本页面内容保持孤立!'''
* '''本页面内容保持孤立!'''


在本文件里并没有曲名,谱师之类的歌曲信息,请移步[[歌曲信息(songlist)格式]]
如果想更改谱面本身,请移步[[谱面格式]]
如果想更改曲包相关内容请移步[[曲包信息(packlist)格式]]
<!--
== 总论 ==
== 总论 ==
 文件在\assets\songs下
 文件在\assets\songs下
行 15: 行 12:
 打开文件大概是这样的画风:
 打开文件大概是这样的画风:


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


 整个文件以一个大括号和一个”unlocks”字符串开头,大体结构如下
 整个文件以一个大括号和一个”unlocks”字符串开头,大体结构如下
行 86: 行 77:
    "credit": frag_needed_to_unlock
    "credit": frag_needed_to_unlock
  }
  }
 当type取0时,为残片型解锁。玩家需要花 费fragment 来开启当前歌曲的游玩权限。credit的取值是一个整数,代表了解锁当前难度歌曲需要花费 的fragments 数量。
 当type取0时,为残片型解锁。玩家需要花 费残片 来开启当前歌曲的游玩权限。credit的取值是一个整数,代表了解锁当前难度歌曲需要花费 的残片 数量。


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

於 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失敗時獲得的最大進度數。