User:在咕咕咕的咕子/世界地图格式:修订间差异

来自Arcaea中文维基
无编辑摘要
无编辑摘要
第13行: 第13行:
{
{
    "map_id": "example",
    "map_id": "example",
    //地图ID string 必需字段
   //地图ID string 必需字段
    //如果需正确使用该地图配置,请确保文件名和map_id相同
   //如果需正确使用该地图配置,请确保文件名和map_id相同
     
     
    "is_legacy": false,
    "is_legacy": false,
    //是否启用Legacy地图机制 boolean
   //是否启用Legacy地图机制 boolean
   //于1.7.0新增
     
     
    "is_beyond": false,
    "is_beyond": false,
    //是否启用Beyond地图机制 boolean
   //是否启用Beyond地图机制 boolean
   //于3.0.0新增
     
     
    "beyond_health": 100,
    "beyond_health": 100,
    //Beyond地图的总百分比 int is_beyond为true时的必需字段
   //Beyond地图的总百分比 int is_beyond为true时的必需字段
    //与is_beyond语句相连,只有前置语句启用时才能发挥作用
   //与is_beyond语句相连,只有前置语句启用时才能发挥作用
   //于3.0.0新增
     
     
    "character_affinity": [],
    "character_affinity": [
    //Beyond地图的相性契合搭档 list [int] is_beyond为true时的必需字段
   ],
    //与is_beyond语句和affinity_multiplier语句相连,只有前置语句启用或填写完数据才能完整使用
   //Beyond地图的相性契合搭档 list [int] is_beyond为true时的必需字段
    //与affinity_multiplier的应用关系为前后照应(如果此处第一个填写为0,那么affinity_multiplier的第一个浮点数就应用到0上)
   //与is_beyond语句和affinity_multiplier语句相连,只有前置语句启用或填写完数据才能完整使用
    //例:[0, 1] [0]
   //与affinity_multiplier的应用关系为前后照应(如果此处第一个填写为0,那么affinity_multiplier的第一个浮点数就应用到0上)
   //例:[0, 1] [0]
   //于3.0.0新增
     
     
    "affinity_multiplier": [],
    "affinity_multiplier": [
    //Beyond地图的相性契合加成 list [float] is_beyond为true时的必需字段
   ],
    //与is_beyond语句和character_affinity语句相连,只有前置语句启用或填写完数据才能完整使用
   //Beyond地图的相性契合加成 list [float] is_beyond为true时的必需字段
    //与character_affinity的应用关系是前后照应
   //与is_beyond语句和character_affinity语句相连,只有前置语句启用或填写完数据才能完整使用
    //例:[1.0, 1.5] [1.0]
   //与character_affinity的应用关系是前后照应
   //例:[1.0, 1.5] [1.0]
   //于3.0.0新增
     
     
    "chapter": 0,
    "chapter": 0,
    //地图章节 int 必需字段
   //地图章节 int 必需字段
    //可以填写客户端内无对应章节的数(同等于不显示)
   //可以填写客户端内无对应章节的数(同等于不显示)
     
     
    //地图章节(4.4.4):
   //地图章节(4.4.4):
    //0 活动
   //0 活动 Event
    //1 失落的世界
   //1 失落的世界 Lost World
    //2 谜域的界外
   //2 谜域的界外 Outer Reaches
    //3 聚合的塔尖
   //3 聚合的塔尖 Spire of Convergence
    //4 沉眠的回声
   //4 沉眠的回声 Dormant Echoes
    //5 无央的决裂
   //5 无央的决裂 Boundless Divide
    //6 遗忘的构念
   //6 遗忘的构念 Forgotten Construct
    //7 回首的天际
   //7 回首的天际 Horizon of Anamnesis
    //1001 Beyond
   //1001 Beyond
     
     
    "available_from": -1,
    "available_from": -1,
    //从X时开始可用 int 必需字段
   //从X时开始可用 int 必需字段
    //与available_to语句相连,只有前置语句填写完数据才能完整使用
   //与available_to语句相连,只有前置语句填写完数据才能完整使用
    //填写十位/十六位时间戳,-1表示一直可用
   //填写十位/十六位时间戳,-1表示一直可用
    //游戏内实际显示于Event限时时间内,未到指定可用时间会显示"准备中"
   //游戏内实际显示于Event限时时间内,未到指定可用时间会显示"准备中 (Preparing)"
   //于1.5.2新增
     
     
    "available_to": -1,
    "available_to": -1,
    //从X时持续到X时后关闭 int 必需字段
   //从X时持续到X时后关闭 int 必需字段
    //与available_from语句相连,只有前置语句填写完数据才能完整使用
   //与available_from语句相连,只有前置语句填写完数据才能完整使用
    //填 写十 位/ 十六 位时间戳,-1表示一直不关闭
   //填 写10 位/16 位时间戳,-1表示一直不关闭
    //游戏内实际显示于Event限时时间内,到达指定关闭时间会显示"已结束"
   //游戏内实际显示于Event限时时间内,到达指定关闭时间会显示"已结束 (Ended)"
   //于1.5.2新增
     
     
    "is_repeatable": true,
    "is_repeatable": true,
    //是否启用无限地图机制 boolean 必需字段
   //是否启用无限地图机制 boolean 必需字段
  
   "require_type": "",
   //解锁时所需物品的类型 string
   //与require_id语句或require_value语句相连,只有本语句填写到指定数据后,填写对应前置语句后才能完整使用
   //也与requires语句相连,只有前置语句关闭时才能发挥作用
     
   //解锁类型(4.4.4):
   //pack 曲包(配合require_id使用)
   //character 角色(616没用过,配合require_id使用)
   //single 单曲(配合require_id使用)
   //fragment 残片(配合require_value使用)
   //chart_unlock 解锁谱面(配合require_id使用,格式为[SongID]+[ratingClass])
   //chapter_step 章节步数(配合require_value使用)
     
     
    "require_id": "",
    "require_id": "",
    //解锁时需要开启的对应物品ID string/list [string]
   //解锁时需要开启的对应物品ID string/list [string]
    //与require_type语句相连,只有前置语句填写到指定数据后才能发挥作用
   //与require_type语句相连,只有前置语句填写到指定数据后才能发挥作用
    //list [string]形式于3.10.0新增,后续在4.2.0添加普通地图的显示
   //也与requires语句相连,只有前置语句关闭时才能发挥作用
   
   //list [string]形式于3.10.0新增,后续在4.2.0添加普通地图的显示
   "require_type": "",
    //解锁时所需物品的类型 string
    //与require_id语句或require_value语句相连,只有本语句填写到指定数据后,填写对应前置语句后才能完整使用   
    //解锁类型(4.4.4):
    //pack 曲包(配合require_id使用)
    //character 角色(616没用过,配合require_id使用)
    //single 单曲(配合require_id使用)
    //fragment 残片(配合require_value使用)
    //chart_unlock 解锁谱面(配合require_id使用,格式为songid+ratingClass)
    //chapter_step 章节步数(配合require_value使用)
     
     
    "require_value": 0,
    "require_value": 0,
    //解锁时需要花费的对应物品的数量 int
   //解锁时需要花费的对应物品的数量 int
    //与require_type语句相连,只有前置语句填写到指定数据后才能发挥作用
   //与require_type语句相连,只有前置语句填写到指定数据后 才能发挥作用
   //也与requires语句相连,只有前置语句关闭时 才能发挥作用
     
     
    "requires": [{""}],
    "requires": [
    //解锁时所需的多个物品 list [{string: string/int}]
{
    //可填写type/id/value, 上述三 语句 性质相同
}
    //于4.2.0新增
],
    // 使用 例:
   //解锁时所需的多个物品 list [{string: string/int}]
    //"requires": [{
   //可填写type/id/value, 分别对应 上述三 条语句
    //   "type": "pack",
   //如果返回的地图数据存在本语句,客户端会优先使用,其单独的三条 语句 不使用
    //   "id": "base",
   //于4.2.0新增
    //   "value": 0
   //例:
    //}]
   //"requires": [
//   {
   //    "type": "pack",
   // "id": "base",
   //    "value": 0
   //   }
   //]
     
     
    "require_localunlock_songid": "",
    "require_localunlock_songid": "",
    //需要本地解锁XXX歌曲的任意难度 string
   //需要本地解锁XXX歌曲的任意难度 string
    //填写指定歌曲ID,用来判断本地是否解锁了指定歌曲的任意难度
   //填写指定歌曲ID,用来判断本地是否解锁了指定歌曲的任意难度
   //判断解锁方式:寻找本地"un"文件中[SongID]|[ratingClass]|[UnlockType]所有的解锁条件,如果其中一条"complete"被设为成功值,则解锁
   //于1.5.0新增
     
     
    "require_localunlock_challengeid": "",
    "require_localunlock_challengeid": "",
    //需要本地通过XXX异象 string
   //需要本地通过XXX异象 string
    //填写指定异象ID,用来判断本地是否通过了指定歌曲的异象
   //填写指定异象ID,用来判断本地是否通过了指定歌曲的异象
    // 查找 方式:寻找本地"un"文件中[ 对应异象ID]_challenge|0|102解锁条件,如果"complete"被设定为0或不存在,默认不解锁
   // 判断解锁 方式:寻找本地"un"文件中[AnomalyID]_challenge|0|102解锁条件,如果"complete"被设定为0或不存在,默认不解锁
   //对于616而言,AnomalyID通常会被设定为对应的SongID
   //于1.6.0新增
     
     
    "coordinate": "0,0",
    "coordinate": "0,0",
    //地图在对应章节应用的X/Y坐标 string 必需字段
   //地图在对应章节应用的X/Y坐标 string 必需字段
    //前者代表X,后者代表Y
   //前者代表X,后者代表Y
    //X为正数时向右,为负数时向左
   //X为正数时向右,为负数时向左
    //Y为正数时向上,为负数时向下
   //Y为正数时向上,为负数时向下
     
     
    "step_count": 22,
    "step_count": 22,
    //地图总步数 int 必需字段
   //地图总步数 int 必需字段
    //如要正确填写,按照0~X的方式排列每个position,将最后的position中的int+1
   //如要正确填写,按照0~X的方式排列每个position,将最后的position中的int+1
     
     
    "custom_bg": "",
    "custom_bg": "",
    //地图所使用的背景 string
   //地图所使用的背景 string
    //与is_beyond语句相连,只有在前置语句关闭时才能发挥作用
   //与is_beyond语句相连,只有在前置语句关闭时才能发挥作用
    //如果不填写,则默认使用章节背景
   //如果不填写,则默认使用章节背景
    //填写后,游戏会自动查找位于img/world中的[对应string].jpg
   //填写后,游戏会自动查找位于img/world中的[对应string].jpg
   //于1.8.3新增
     
     
    "stamina_cost": 2,
    "stamina_cost": 2,
    //在该地图内游玩一次所需要的体力 int
   //在该地图内游玩一次所需要的体力 int
    //也会影响Play+的体力消耗
   //也会影响Play+的体力消耗
     
     
    "chain_info": "",
    "chain_info": "",
    //??? dictionary
   //??? dictionary?
    //未知,客户端处理时疑似可处理"id"与"index"
   //未知,客户端处理时疑似可处理"id"与"index"
     
     
    "curr_position": 0,
    "curr_position": 0,
    "curr_capture": 0,
    "curr_capture": 0,
    "is_locked": false,
    "is_locked": false,
    //此三个语句无论如何填写都不会影响地图,但需要保留
   //此三个语句无论如何填写都不会影响地图,但需要保留
     
     
    "steps": [{
    "steps": [
    //该地图的台阶设置 list 必需字段
   //该地图的台阶设置 list 必需字段
     "position": 0,
{
     //台阶的点位 int
"position": 0,
     //可随意填写,设定为相同的值都可以正常读取
//台阶的点位 int
//可随意填写,设定为相同的值都可以正常读取
     
     
     "capture": 5
"capture": 5
     //台阶的步数 int
//台阶的步数 int
   }, { //分隔符
},
     "position": 1,
{
     "capture": 5,
"position": 1,
     "items": []
"capture": 5,
     //奖励 list [{string: string/int}]
"items": [{}]
   }, {
//奖励 list [{string: string/int}]
     "position": 2,
//此处为空,直接删除也可达成同效果
     "capture": 5,
},
     "items": [{
{
       "type": "character"
"position": 2,
       "id": "0"
"capture": 5,
       //角色
"items": [
       //type-string id-string
{
       //id对 应角色ID
"type": "character"
     }]
"id": "0"
   }, {
//角色
     "position": 3,
//type-string id-string
     "capture": 5,
//id对 应CharacterID
     "items": [{
//于1.5.0新增
       "type": "world_song",
}
       "id": "shadesoflight"
]
       //世界解锁类型的歌曲/难度
},
       //type-string id-string
{
       //id对 应歌曲ID
"position": 3,
       //解锁难度 :在 末尾加 对应ratingClass数字
"capture": 5,
     }]
"items": [
   }, {
{
     "position": 4,
"type": "world_song",
     "capture": 5,
"id": "shadesoflight"
     "items": [{
//世界解锁类型的歌曲/难度
       "type": "single",
//type-string id-string
       "id": "auxesia"
//id对 应SongID
       //单曲
// 如需 解锁难度 ,在SongID 末尾 加对应ratingClass数字 即可
       //type-string id-string
//于1.5.0新增
   }, {
}
     "position": 5,
]
     "capture": 5,
},
     "items": [{
{
       "type": "fragment",
"position": 4,
       "amount": 616
"capture": 5,
       //残片
"items": [
       //type-string amount-int
{
     }]
"type": "single",
   }, {
"id": "auxesia"
     "position": 6,
//单曲
     "capture": 5,
//type-string id-string
     "items": [{
//id对应SongID
       "type": "memory",
}
       "amount": 616
]
       //记忆源点
},
       //type-string amount-int
{
     }]
"position": 5,
   }, {
"capture": 5,
     "position": 7,
"items": [
     "capture": 5,
{
     "items": [{
"type": "fragment",
       "type": "core",
"amount": 616
       "id": "core_generic",
//残片
       "amount": 1
//type-string amount-int
       //核心
//于1.5.0新增(也许)
       //type-string id-string amount-int
}
     
]
       //核心种类(4.4.4):
},
       //core_generic 以太之滴
{
       //core_hollow 中空核心
"position": 6,
       //core_desolate 荒芜核心
"capture": 5,
       //core_chunithm CHUNITHM 核心
"items": [
       //core_crimson 深红核心
{
       //core_ambivalent 悖异核心
"type": "memory",
       //core_scarlet 绯红核心
"amount": 616
       //core_groove 音炫核心
//记忆源点
       //core_binary 双生核心
//type-string amount-int
       //core_colorful 缤纷核心
//616没用过,但存在
       //core_umbral 暗影核心
}
       //core_course_skip_purchase 次元结晶
]
     }]
},
   }, {
{
     "position": 8,
"position": 7,
     "capture": 5,
"capture": 5,
     "items": [{
"items": [
       "type": "pack",
{
       "id": "base"
"type": "core",
       // 曲包
"id": "core_generic",
       //type-string id-string
"amount": 1
       //NS端专属,使用移动端读取时会崩溃
//核心
   }, {
//type-string id-string amount-int
     "position": 9,
//id 对应CoreID
     "capture": 5,
// 于2.0.0新增
     "items": [{
       "type": "world_unlock",
       "id": "scenery_chap1"
       //世界解锁相关
       //type-string id-string
       //目前只能添加背景
       
       
       //章节背景(4.4.4):
//核心种类(4.4.4):
       //scenery_chap1 失落的世界
//core_generic 以太之滴 Ether Drop
       //scenery_chap2 谜域的界外
//core_hollow 中空核心 Hollow Core
       //scenery_chap3 聚合的塔尖
//core_desolate 荒芜核心 Desolate Core
       //scenery_chap4 沉眠的回声
//core_chunithm CHUNITHM 核心 CHUNITHM Core
       //scenery_chap5 无央的决裂
//core_crimson 深红核心 Crimson Core
       //scenery_chap6 遗忘的构念
//core_ambivalent 悖异核心 Ambivalent Core
       //scenery_chap7 回首的天际
//core_scarlet 绯红核心 Scarlet Core
     }]
//core_groove 音炫核心 Groove Core
   }, {
//core_binary 双生核心 Binary Core
     "position": 10,
//core_colorful 缤纷核心 Colorful Core
     "capture": 5,
//core_umbral 暗影核心 Umbral Core
     "items": [{
//core_course_skip_purchase 次元结晶 Warped Shard
       "type": "anni5tix",
}
       "amount": 1
]
       //五周年兑换券
},
       //type-string amount-int
{
       //有点猜的成分,没有测试,但应该正确
"position": 8,
     }]
"capture": 5,
   }, {
"items": [
     "position": 11,
{
     "capture": 5,
"type": "pack",
     "restrict_id": "shadesoflight",
"id": "base"
     "restrict_type": "song_id"
//曲包
     //限制游玩指定曲目
//type-string id-string
     //restrict_id-string restrict_type-string
//id对应PackID
     //restrict_id对 应歌曲ID
//NS端专属,在移动端也存在,但使用移动端显示时会崩溃
   }, {
}
     "position": 12,
]
     "capture": 5,
},
     "restrict_ids": [
{
       "shadesoflight",
"position": 9,
       "sayonarahatsukoi"
"capture": 5,
     ],
"items": [
     "restrict_type": "song_id"
{
     //限制游玩指定的多首曲目
"type": "world_unlock",
     //restrict_ids-list [string] restrict_type-string
"id": "scenery_chap1"
     //restrict_ids对 应歌曲ID
//世界解锁相关
   }, {
//type-string id-string
     "position": 13,
//目前只能添加背景
     "capture": 5,
//于3.0.0新增
     "restrict_id": "base",
     "restrict_type": "pack_id"
//章节背景(4.4.4):
     //限制游玩指定曲包
//scenery_chap1 失落的世界 Lost World
     //restrict_id-string restrict_type-string
//scenery_chap2 谜域的界外 Outer Reaches
     //restrict_id对 应曲包ID
//scenery_chap3 聚合的塔尖 Spire of Convergence
   }, {
//scenery_chap4 沉眠的回声 Dormant Echoes
     "position": 14,
//scenery_chap5 无央的决裂 Boundless Divide
     "capture": 5,
//scenery_chap6 遗忘的构念 Forgotten Construct
     "restrict_difficulty": 2
//scenery_chap7 回首的天际 Horizon of Anamnesis
     //限制游玩指定难度
}
     //restrict_difficulty-int
]
     //restrict_difficulty对应ratingClass
},
     //与restrict_id/ids语句和restrict_type语句相连,只有前置语句 填写完数据 才能 完整使
{
   }, {
"position": 10,
     "position": 15,
"capture": 5,
     "capture": 5,
"items": [
     "step_type": [
{
       "randomsong"
"type": "anni5tix",
     ]
"amount": 1
     //随机曲目
//五周年兑换券
     //step_type-list [string]
//type-string amount-int
     //只有ratingClass:0/1/2, 如果restrict_difficulty 的值大于2, 默认 锁定 为2
//有点猜的成分,没有测试,但应该正确
   }, {
//于3.12.2新增
     "position": 16,
}
     "capture": 5,
]
     "step_type": [
},
       "speedlimit"
{
     ],
"position": 11,
     "speed_limit_value": 65
"capture": 5,
     //流速限制
"restrict_id": "shadesoflight",
     //step_type-list [string] speed_limit_value-int
"restrict_type": "song_id"
     //speed_limit_value为对应流速x10后的数字
//限制游玩指定曲目
   }, {
//restrict_id-string restrict_type-string
     "position": 17,
//restrict_id对 应SongID
     "capture": 5,
},
     "step_type": [
{
       "plusstamina"
"position": 12,
     ],
"capture": 5,
     "plus_stamina_value": 12
"restrict_ids": [
     //体力奖励
"shadesoflight",
     //step_type-list [string] plus_stamina_value-int
"sayonarahatsukoi"
     //plus_stamina_value对应增加体力
],
   }, {
"restrict_type": "song_id"
     "position": 18,
//限制游玩指定的多首曲目
     "capture": 5,
//restrict_ids-list [string] restrict_type-string
     "items": [{
//restrict_ids对 应SongID
       "type": "fragment",
},
       "amount": 616
{
     }, 
"position": 13,
     {
"capture": 5,
       "type": "memory",
"restrict_id": "base",
       "amount": 616
"restrict_type": "pack_id"
     }]
//限制游玩指定曲包
     //设置多个奖励
//restrict_id-string restrict_type-string
     //游戏内实际只显示第一个奖励
//restrict_id对 应PackID
   }, {
},
     "position": 19,
{
     "capture": 5,
"position": 14,
     "restrict_id": "base",
"capture": 5,
     "restrict_type": "pack_id",
"restrict_difficulty": 2
     "step_type": [
//限制游玩指定难度
       "randomsong"
//restrict_difficulty-int
     ]
//restrict_difficulty对应ratingClass
     //限制曲包+随机曲目混搭
//与restrict_id/ids语句和restrict_type语句相连,只有前置语句 存在 才能 发挥作
   }, {
//于3.10.0新增
     "position": 20,
},
     "capture": 5,
{
     "restrict_ids": [
"position": 15,
       "tempestissimo",
"capture": 5,
       "testify"
"step_type": [
     ],
"randomsong"
     "restrict_type": "song_id",
]
     "step_type": [
//随机曲目
       "randomsong",
//step_type-list [string]
       "plusstamina",
// 曲目列表会显示特殊曲目(ID:random),并且 只有ratingClass:0/1/2
       "speedlimit"
//如果同restrict_difficulty使用 并且该语句 的值大于2, 锁定难度时 默认为2
     ],
//于1.7.0新增
     "restrict_difficulty": 3,
},
     "plus_stamina_value": 2,
{
     "speed_limit_value": 25,
"position": 16,
     "items": [{
"capture": 5,
       "type": "fragment",
"step_type": [
       "amount": 2000
"speedlimit"
     }]
],
     //限制歌曲+限制难度+随机曲目+体力奖励+流速限制+残片奖励混搭
"speed_limit_value": 65
   }, {
//流速限制
     "position": 21,
//step_type-list [string] speed_limit_value-int
     "capture": 0,
//speed_limit_value为对应流速x10后的数字
     "items": [{
//于1.7.2新增
       "type": "core",
},
       "id": "core_generic",
{
       "amount": 5
"position": 17,
       //最后一 请设置至少一个奖励
"capture": 5,
     }]
"step_type": [
   }]
"plusstamina"
],
"plus_stamina_value": 12
//体力奖励
//step_type-list [string] plus_stamina_value-int
//plus_stamina_value对应增加体力
},
{
"position": 18,
"capture": 5,
"items": [
{
"type": "fragment",
"amount": 616
}, 
{
"type": "memory",
"amount": 616
}
]
//设置多个奖励
//游戏内实际只显示第一个奖励
},
{
"position": 19,
"capture": 5,
"restrict_id": "base",
"restrict_type": "pack_id",
"step_type": [
"randomsong"
]
//限制曲包+随机曲目混搭
},
{
"position": 20,
"capture": 5,
"restrict_ids": [
"tempestissimo",
"testify"
],
"restrict_type": "song_id",
"step_type": [
"randomsong",
"plusstamina",
"speedlimit"
],
"restrict_difficulty": 3,
"plus_stamina_value": 2,
"speed_limit_value": 25,
"items": [
{
"type": "fragment",
"amount": 2000
}
]
//限制歌曲+限制难度+随机曲目+体力奖励+流速限制+残片奖励混搭
},
{
"position": 21,
"capture": 0,
"items": [
{
"type": "core",
"id": "core_generic",
"amount": 5
//最后一 请设置至少一个奖励
}
]
}
]
}
}
</syntaxhighlight>
</syntaxhighlight>

2023年6月11日 (日) 10:24的版本

  • 本页保持孤立!

阅前提示

  • 此处详细解析的是在服务端处存储的地图中的各语句。
  • 地图使用的是较为严格的json格式,请注意是否有没有漏符号或多出符号
  • 地图文件理应当被存放在对应服务器的地图文件夹内

详细解析

此处的是普通地图:

{
    "map_id": "example",
    //地图ID string 必需字段
    //如果需正确使用该地图配置,请确保文件名和map_id相同
      
    "is_legacy": false,
    //是否启用Legacy地图机制 boolean
    //于1.7.0新增
      
    "is_beyond": false,
    //是否启用Beyond地图机制 boolean
    //于3.0.0新增
      
    "beyond_health": 100,
    //Beyond地图的总百分比 int is_beyond为true时的必需字段
    //与is_beyond语句相连,只有前置语句启用时才能发挥作用
    //于3.0.0新增
      
    "character_affinity": [
    ],
    //Beyond地图的相性契合搭档 list [int] is_beyond为true时的必需字段
    //与is_beyond语句和affinity_multiplier语句相连,只有前置语句启用或填写完数据才能完整使用
    //与affinity_multiplier的应用关系为前后照应(如果此处第一个填写为0,那么affinity_multiplier的第一个浮点数就应用到0上)
    //例:[0, 1] [0]
    //于3.0.0新增
      
    "affinity_multiplier": [
    ],
    //Beyond地图的相性契合加成 list [float] is_beyond为true时的必需字段
    //与is_beyond语句和character_affinity语句相连,只有前置语句启用或填写完数据才能完整使用
    //与character_affinity的应用关系是前后照应
    //例:[1.0, 1.5] [1.0]
    //于3.0.0新增
      
    "chapter": 0,
    //地图章节 int 必需字段
    //可以填写客户端内无对应章节的数(同等于不显示)
      
    //地图章节(4.4.4):
    //0 活动 Event
    //1 失落的世界 Lost World
    //2 谜域的界外 Outer Reaches
    //3 聚合的塔尖 Spire of Convergence
    //4 沉眠的回声 Dormant Echoes
    //5 无央的决裂 Boundless Divide
    //6 遗忘的构念 Forgotten Construct
    //7 回首的天际 Horizon of Anamnesis
    //1001 Beyond
      
    "available_from": -1,
    //从X时开始可用 int 必需字段
    //与available_to语句相连,只有前置语句填写完数据才能完整使用
    //填写十位/十六位时间戳,-1表示一直可用
    //游戏内实际显示于Event限时时间内,未到指定可用时间会显示"准备中(Preparing)"
    //于1.5.2新增
      
    "available_to": -1,
    //从X时持续到X时后关闭 int 必需字段
    //与available_from语句相连,只有前置语句填写完数据才能完整使用
    //填写10位/16位时间戳,-1表示一直不关闭
    //游戏内实际显示于Event限时时间内,到达指定关闭时间会显示"已结束(Ended)"
    //于1.5.2新增
      
    "is_repeatable": true,
    //是否启用无限地图机制 boolean 必需字段
    
    "require_type": "",
    //解锁时所需物品的类型 string
    //与require_id语句或require_value语句相连,只有本语句填写到指定数据后,填写对应前置语句后才能完整使用
    //也与requires语句相连,只有前置语句关闭时才能发挥作用
          
    //解锁类型(4.4.4):
    //pack 曲包(配合require_id使用)
    //character 角色(616没用过,配合require_id使用)
    //single 单曲(配合require_id使用)
    //fragment 残片(配合require_value使用)
    //chart_unlock 解锁谱面(配合require_id使用,格式为[SongID]+[ratingClass]
    //chapter_step 章节步数(配合require_value使用)
      
    "require_id": "",
    //解锁时需要开启的对应物品ID string/list [string]
    //与require_type语句相连,只有前置语句填写到指定数据后才能发挥作用
    //也与requires语句相连,只有前置语句关闭时才能发挥作用
    //list [string]形式于3.10.0新增,后续在4.2.0添加普通地图的显示
      
    "require_value": 0,
    //解锁时需要花费的对应物品的数量 int
    //与require_type语句相连,只有前置语句填写到指定数据后才能发挥作用
    //也与requires语句相连,只有前置语句关闭时才能发挥作用
      
    "requires": [
		{
		}
	],
    //解锁时所需的多个物品 list [{string: string/int}]
    //可填写type/id/value,分别对应上述三条语句
    //如果返回的地图数据存在本语句,客户端会优先使用,其单独的三条语句不使用
    //于4.2.0新增
    //例:
    //"requires": [
	//	  {
    //	    "type": "pack",
    //  	"id": "base",
    //      "value": 0
    //    }
    //]
      
    "require_localunlock_songid": "",
    //需要本地解锁XXX歌曲的任意难度 string
    //填写指定歌曲ID,用来判断本地是否解锁了指定歌曲的任意难度
    //判断解锁方式:寻找本地"un"文件中[SongID]|[ratingClass]|[UnlockType]所有的解锁条件,如果其中一条"complete"被设为成功值,则解锁
    //于1.5.0新增
      
    "require_localunlock_challengeid": "",
    //需要本地通过XXX异象 string
    //填写指定异象ID,用来判断本地是否通过了指定歌曲的异象
    //判断解锁方式:寻找本地"un"文件中[AnomalyID]_challenge|0|102解锁条件,如果"complete"被设定为0或不存在,默认不解锁
    //对于616而言,AnomalyID通常会被设定为对应的SongID
    //于1.6.0新增
      
    "coordinate": "0,0",
    //地图在对应章节应用的X/Y坐标 string 必需字段
    //前者代表X,后者代表Y
    //X为正数时向右,为负数时向左
    //Y为正数时向上,为负数时向下
      
    "step_count": 22,
    //地图总步数 int 必需字段
    //如要正确填写,按照0~X的方式排列每个position,将最后的position中的int+1
      
    "custom_bg": "",
    //地图所使用的背景 string
    //与is_beyond语句相连,只有在前置语句关闭时才能发挥作用
    //如果不填写,则默认使用章节背景
    //填写后,游戏会自动查找位于img/world中的[对应string].jpg
    //于1.8.3新增
      
    "stamina_cost": 2,
    //在该地图内游玩一次所需要的体力 int
    //也会影响Play+的体力消耗
      
    "chain_info": "",
    //??? dictionary?
    //未知,客户端处理时疑似可处理"id""index"
      
    "curr_position": 0,
    "curr_capture": 0,
    "is_locked": false,
    //此三个语句无论如何填写都不会影响地图,但需要保留
      
    "steps": [
    //该地图的台阶设置 list 必需字段
		{
			"position": 0,
			//台阶的点位 int
			//可随意填写,设定为相同的值都可以正常读取
      
			"capture": 5
			//台阶的步数 int
		},
		{
			"position": 1,
			"capture": 5,
			"items": [{}]
			//奖励 list [{string: string/int}]
			//此处为空,直接删除也可达成同效果
		},
		{
			"position": 2,
			"capture": 5,
			"items": [
				{		
					"type": "character"
					"id": "0"
					//角色
					//type-string id-string
					//id对应CharacterID
					//于1.5.0新增
				}
			]
		},
		{
			"position": 3,
			"capture": 5,
			"items": [
				{
					"type": "world_song",
					"id": "shadesoflight"
					//世界解锁类型的歌曲/难度
					//type-string id-string
					//id对应SongID
					//如需解锁难度,在SongID末尾添加对应ratingClass数字即可
					//于1.5.0新增
				}
			]
		},
		{
			"position": 4,
			"capture": 5,
			"items": [
				{
					"type": "single",
					"id": "auxesia"
					//单曲
					//type-string id-string
					//id对应SongID
				}
			]
		},
		{
			"position": 5,
			"capture": 5,
			"items": [
				{
					"type": "fragment",
					"amount": 616
					//残片
					//type-string amount-int
					//于1.5.0新增(也许)
				}
			]
		},
		{
			"position": 6,
			"capture": 5,
			"items": [
				{
					"type": "memory",
					"amount": 616
					//记忆源点
					//type-string amount-int
					//616没用过,但存在
				}
			]
		},
		{
			"position": 7,
			"capture": 5,
			"items": [
				{
					"type": "core",
					"id": "core_generic",
					"amount": 1
					//核心
					//type-string id-string amount-int
					//id对应CoreID
					//于2.0.0新增
          
					//核心种类(4.4.4):
					//core_generic 以太之滴 Ether Drop
					//core_hollow 中空核心 Hollow Core
					//core_desolate 荒芜核心 Desolate Core
					//core_chunithm CHUNITHM 核心 CHUNITHM Core
					//core_crimson 深红核心 Crimson Core
					//core_ambivalent 悖异核心 Ambivalent Core
					//core_scarlet 绯红核心 Scarlet Core
					//core_groove 音炫核心 Groove Core
					//core_binary 双生核心 Binary Core
					//core_colorful 缤纷核心 Colorful Core
					//core_umbral 暗影核心 Umbral Core
					//core_course_skip_purchase 次元结晶 Warped Shard
				}
			]
		},
		{
			"position": 8,
			"capture": 5,
			"items": [
				{
					"type": "pack",
					"id": "base"
					//曲包
					//type-string id-string
					//id对应PackID
					//NS端专属,在移动端也存在,但使用移动端显示时会崩溃
				}
			]
		},
		{
			"position": 9,
			"capture": 5,
			"items": [
				{
					"type": "world_unlock",
					"id": "scenery_chap1"
					//世界解锁相关
					//type-string id-string
					//目前只能添加背景
					//于3.0.0新增
		
					//章节背景(4.4.4):
					//scenery_chap1 失落的世界 Lost World
					//scenery_chap2 谜域的界外 Outer Reaches
					//scenery_chap3 聚合的塔尖 Spire of Convergence
					//scenery_chap4 沉眠的回声 Dormant Echoes
					//scenery_chap5 无央的决裂 Boundless Divide
					//scenery_chap6 遗忘的构念 Forgotten Construct
					//scenery_chap7 回首的天际 Horizon of Anamnesis
				}
			]
		},
		{
			"position": 10,
			"capture": 5,
			"items": [
				{
					"type": "anni5tix",
					"amount": 1
					//五周年兑换券
					//type-string amount-int
					//有点猜的成分,没有测试,但应该正确
					//于3.12.2新增
				}
			]
		},
		{
			"position": 11,
			"capture": 5,
			"restrict_id": "shadesoflight",
			"restrict_type": "song_id"
			//限制游玩指定曲目
			//restrict_id-string restrict_type-string
			//restrict_id对应SongID
		},
		{
			"position": 12,
			"capture": 5,
			"restrict_ids": [
				"shadesoflight",
				"sayonarahatsukoi"
			],
			"restrict_type": "song_id"
			//限制游玩指定的多首曲目
			//restrict_ids-list [string] restrict_type-string
			//restrict_ids对应SongID
		},
		{
			"position": 13,
			"capture": 5,
			"restrict_id": "base",
			"restrict_type": "pack_id"
			//限制游玩指定曲包
			//restrict_id-string restrict_type-string
			//restrict_id对应PackID
		},
		{
			"position": 14,
			"capture": 5,
			"restrict_difficulty": 2
			//限制游玩指定难度
			//restrict_difficulty-int
			//restrict_difficulty对应ratingClass
			//与restrict_id/ids语句和restrict_type语句相连,只有前置语句存在才能发挥作用
			//于3.10.0新增
		},
		{
			"position": 15,
			"capture": 5,
			"step_type": [
				"randomsong"
			]
			//随机曲目
			//step_type-list [string]
			//曲目列表会显示特殊曲目(ID:random),并且只有ratingClass:0/1/2
			//如果同restrict_difficulty使用,并且该语句的值大于2,锁定难度时默认为2
			//于1.7.0新增
		},
		{
			"position": 16,
			"capture": 5,
			"step_type": [
				"speedlimit"
			],
			"speed_limit_value": 65
			//流速限制
			//step_type-list [string] speed_limit_value-int
			//speed_limit_value为对应流速x10后的数字
			//于1.7.2新增
		},
		{
			"position": 17,
			"capture": 5,
			"step_type": [
				"plusstamina"
			],
			"plus_stamina_value": 12
			//体力奖励
			//step_type-list [string] plus_stamina_value-int
			//plus_stamina_value对应增加体力
		},
		{
			"position": 18,
			"capture": 5,
			"items": [
				{
					"type": "fragment",
					"amount": 616
				}, 
				{
					"type": "memory",
					"amount": 616
				}
			]
			//设置多个奖励
			//游戏内实际只显示第一个奖励
		},
		{
			"position": 19,
			"capture": 5,
			"restrict_id": "base",
			"restrict_type": "pack_id",
			"step_type": [
				"randomsong"
			]
			//限制曲包+随机曲目混搭
		},
		{
			"position": 20,
			"capture": 5,
			"restrict_ids": [
				"tempestissimo",
				"testify"
			],
			"restrict_type": "song_id",
			"step_type": [
				"randomsong",
				"plusstamina",
				"speedlimit"
			],
			"restrict_difficulty": 3,
			"plus_stamina_value": 2,
			"speed_limit_value": 25,
			"items": [
				{
					"type": "fragment",
					"amount": 2000
				}
			]
			//限制歌曲+限制难度+随机曲目+体力奖励+流速限制+残片奖励混搭
		},
		{
			"position": 21,
			"capture": 0,
			"items": [
				{
					"type": "core",
					"id": "core_generic",
					"amount": 5
					//最后一格请设置至少一个奖励
				}
			]
		}
	]
}

此处是Beyond地图:

{
    "map_id": "example",
    "is_legacy": false,
    "is_beyond": true,
      //是否启用Beyond地图机制 boolean
      
    "beyond_health": 150,
      //Beyond地图的总百分比 int
      
    "character_affinity": [0, 1],
      //Beyond地图的相性契合搭档 list [int]
      
    "affinity_multiplier": [1.0, 1.5],
      //Beyond地图的相性契合加成 list [float]
      
    "chapter": 1001,
      //地图章节 int
      
    "available_from": -1,
    "available_to": -1,
    "is_repeatable": false,
    "require_id": "shadesoflight2",
      //解锁时需要开启的对应物品ID string/list [string]
      
    "require_type": "chart_unlock",
      //解锁时所需物品的类型 string/list [string]
      
    "require_value": 0,
    "coordinate": "0,0",
    "step_count": 5,
      //地图总步数 int
      
    "custom_bg": "",
    "stamina_cost": 3,
      //在该地图内游玩一次所需要的体力 int
      
    "curr_position": 0,
    "curr_capture": 0,
    "is_locked": false,
    "steps": [{	
    //使用正常地图语句,如要正确配置请从结尾开始编辑
        "position": 0,
        //最低点,用于标记开头
        
        "capture": 50
        //以beyond_health的值为被减数,与所有capture相加后的和相减,结果为0则配置成功
        //或者确保全部capture的值相加起来等于beyond_health的值
    }, {
        "position": 1,
        "capture": 25,
        "items": [{"type": "fragment", "amount": 616}]
        //剩余点的计算原理与二点相同
    }, {
        "position": 2,
        //标记二点
        
        "capture": 25,
        //以capture的值为减数,与一点得出的百分比相减,得出本点百分比
        //一点从100%开始,相减后得到结果75,则本点从75%开始
        
        "items": [{
            "type": "core",
            "id": "core_generic",
            "amount": 1
        }]
        //奖励只会在本点开始时领取
    }, {
        "position": 3,
        //标记一点

        "capture": 50,
        //以capture的值为减数,将其与beyond_health的值相减,得出本点百分比
        //此地图的beyond_health为150,相减后得到结果100,则本点从100%开始
        
        "restrict_id": "shadesoflight",
        "restrict_type": "song_id"
        //限制条件等会在到达下一点前一直有效
   }, {
        "position": 4,
        //最高点,用于标记奖励
        
        "capture": 0,
        //确保capture0
        
        "items": [{
            "type": "world_song",
            "id": "shadesoflight3"
        }]
    }]
}