「Story文件格式」:修訂間差異

出自Arcaea中文维基
→‎entries文件:​ gugugu没写完
第120行: 第120行:
:*vnChar(ansistring):当本剧情为vn时所调用的情景剧文件夹(\assets\app-data\story\vn)/资源(\assets\app-data\story\vn\res)的名称。
:*vnChar(ansistring):当本剧情为vn时所调用的情景剧文件夹(\assets\app-data\story\vn)/资源(\assets\app-data\story\vn\res)的名称。
*clearSongID(ansistring):需要通过的曲目ID
*clearSongID(ansistring):需要通过的曲目ID
*alternateChar(ansistring): 咕咕咕
*alternateChar(ansistring): 如果剧情后面的编号不是MinorID时所采用的字符串。
*requirementAnomalyID(ansistring):需要[[解歌系统#特殊解歌系统|迷之解锁]]的曲目ID
*clearCharaId(integer):解锁时需要采用的[[搭档]],ID编号参见[[曲包信息(packlist)格式]]

於 2019年6月18日 (二) 08:41 的修訂

  • 這只是對Story文件的格式分析,並不表示任何人可以曲解劇情。
  • 本頁面將保持孤立狀態,嚴禁鏈入/引用!

總論

在apk包中,所有關於劇情的部分都在\assets\app-data\story中,包含多個文件。不同的文件(夾)包含不同的作用。 其中paths決定story界面圖像排布,entries記錄劇情關卡信息,vn記錄劇情文字/情景劇信息

文件夾/文件分析

在main和side文件夾下可以看見entries文件,vn文件和一個csb格式文件.

csb格式文件

  • csb格式文件存放了對應界面中不同圖片所在的位置。需要專門的編譯器打開。你就算加了新劇情你也沒法擺啊
  • 目前圈子內有人在試圖開發讀取csb文件的辦法,但直到目前尚無結果

entries文件

格式

{"entries": [{故事信息1},{故事信息2},……,{故事信息n}]}

例子

{
	"entries": [{
			"minor": 1,
			"requiredPack": "core",
			"storyType": "nvl",
			"clearSongId": "lumia",
			"clearCharaId": 0
		},
		{
			"minor": 2,
			"requiredPack": "core",
			"requiredMinor": 1,
			"storyType": "nvl",
			"clearSongId": "memoryfactory",
			"clearCharaId": 0
		},
		{
			"minor": 3,
			"requiredPack": "core",
			"requiredMinor": 2,
			"storyType": "nvl",
			"clearSongId": "pragmatism",
			"clearCharaId": 0
		},
		{
			"minor": 4,
			"requiredPack": "rei",
			"storyType": "nvl",
			"clearSongId": "mazenine",
			"clearCharaId": 0
		},
		{
			"minor": 5,
			"requiredPack": "rei",
			"requiredMinor": 4,
			"storyType": "nvl",
			"clearSongId": "halcyon",
			"clearCharaId": 0
		},
		{
			"minor": 6,
			"requiredPack": "rei",
			"requiredMinor": 5,
			"storyType": "nvl",
			"clearSongId": "etherstrike",
			"alternateSuffix": "ZR",
			"clearCharaId": 14
		},
		{
			"minor": 7,
			"requiredPack": "rei",
			"requiredMinor": 5,
			"storyType": "nvl",
			"requirementAnomalyId": "fractureray"
		},
		{
			"minor": 8,
			"requiredPack": "rei",
			"requiredMinor": 7,
			"storyType": "nvl",
			"clearSongId": "fractureray",
			"clearCharaId": 0
		},
		{
			"minor": 9,
			"requiredPack": "rei",
			"requiredMinor": 8,
			"storyType": "nvl",
			"clearSongId": "fractureray",
			"clearCharaId": 15
		}
	]
}

歸納

{
	"entries": [{
			"minor": MinorID,
			"requiredPack": "requiredPackID",
			"requiredMinor": requiredMinorID,
			"storyType": "type",
			"clearSongId": "clearSongID",
			"alternateSuffix": "alternateChar",
			"requirementAnomalyId": "requirementAnomalyID",
			"clearCharaId": clearCharaId
		},
	]
}
  • MinorID(integer):本minor的ID,引用的基礎。
  • requiredPackID(ansistring):該劇情所要求的曲包,請移步曲包信息(packlist)格式
  • requiredMinorID(integer):解鎖本Minor所需通過的MinorID
    • 如果本Minor需要多個前置Minor,則代碼如下
		"additionalRequires": ["requiredentriesID-requiredMinorID", "requiredentriesID-requiredMinorID",……]
  • requiredentriesID(integer):對應requiredMinorID所隸屬的entries.
  • type(nvl,vn):本劇情的展現模式,如果為nvl則為普通文本劇情;如果為vn則為情景劇。
……
		"storyType": "vn",
		"storyData": "vnChar",
……
  • vnChar(ansistring):當本劇情為vn時所調用的情景劇文件夾(\assets\app-data\story\vn)/資源(\assets\app-data\story\vn\res)的名稱。
  • clearSongID(ansistring):需要通過的曲目ID
  • alternateChar(ansistring):如果劇情後面的編號不是MinorID時所採用的字符串。
  • requirementAnomalyID(ansistring):需要迷之解鎖的曲目ID
  • clearCharaId(integer):解鎖時需要採用的搭檔,ID編號參見曲包信息(packlist)格式