全站-加入QQ频道-第一版.png
全站-加入QQ频道-第一版.png
近期平台发版更新修复了一些问题,如果还有问题请反馈给站长
(遇到相关问题请携带截图私信给站长残天

全站通知:

Fungus补丁

阅读

    

2023-01-25更新

    

最新编辑:深淵の鴿子

阅读:

  

更新日期:2023-01-25

  

最新编辑:深淵の鴿子

来自觅长生WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
深淵の鴿子

Fungus补丁

游戏内Fungus数据

导出

如果已经导出Base数据的话,可以忽略导出步骤

点击Next面板上的【导出Base】按钮,即可导出Fungus数据。

导出的游戏数据位于 ..OutPutFunugs 根据Next的安装位置,有所不同

查看数据

导出的数据格式通常如下:

{
 "Name": "NPCJiaoHuTalk",
 "Blocks": [
   {
     "ItemID": 344,
     "Name": "聊天按钮被点击起始点",
     "Description": "聊天按钮被点击起始点",
     "Position": "(-3033.412,-1448.144)",
     "Commands": [
       {
         "ItemID": 371,
         "CmdType": "Fungus.TryinitFungaus"
       },
       {
         "ItemID": 346,
         "CmdType": "CmdInitNPC"
       },
       {
         "ItemID": 352,
         "CmdType": "Fungus.Call",
         "targetFlowchartName": null,
         "targetBlockID": "351(首次交谈判断)",
         "startLabel": "",
         "startIndex": 0,
         "callMode": 0
       }
     ]
   },
......

Flowchart指每一个导出的文件

Block指一个个对话节点

Command指具体运行的剧情指令

创建Fungus补丁

在Mod文件夹里新建 NData/FungusPatch 文件夹,随后在该文件夹里新建任意名称的json文件,文件结构如下:

example.json

[
   {
       "TargetFlowchart" : "NPCJiaoHuTalk",
       "TargetBlock" : 362,
       "TargetCommand" : 1147,
       "Priority" : 0,
       "Type" : "Insert",
       "Command" : {
           "CmdType" : "NextMenu",
           "CmdParams" : "啊哈哈哈鸡汤来咯!#鸡汤来咯"
       }
   },
   {
       "TargetFlowchart" : "NPCJiaoHuTalk",
       "TargetBlock" : 362,
       "TargetCommand" : 397,
       "Priority" : 0,
       "Type" : "Delete",
   }
]

对象解释:

字段 类型 说明
TargetFlowchart 字符串 目标Flowchart的名称
TargetBlock 整数 目标Block的ItemID
TargetCommand 整数 要插入的Command的ItemID,若为-1,即为插入到所有Command的最后
Priority 整数 优先级,优先级越高的Patch,在插入时index越大
Type PatchType Patch类型,目前有Insert与Delete两种。
Insert类型会插入到目标命令的前面。
Delete类型会删除目标命令
Command FPatchCommand 插入的指令数据,仅在Insert模式下生效


Command对象解释:

字段 类型 说明
CmdType 字符串 Patch的指令类型
CmdParams 字符串 Patch的指令参数


通过在导出的Fungus里找到需要修补的剧情,然后将对应的ID填入补丁对象内,即可在游戏运行中对其进行修补。

可插入的Command类型

目前可以插入的Command如下:

CmdType类型 说明 CmdParams参数
NextEvent 跳转到Next事件,会中断当前Fungus,可使用RunFungusBlock重新跳回 目标事件#跳转条件
只有满足条件时才跳转,可不填写,默认为True
NextInnerEvent 执行内插Next事件,在执行完后会自动跳转回当前位置 目标事件#跳转条件
只有满足条件时才跳转,可不填写,默认为True
NextMenu 弹出选项框,选择后跳转到Next事件,会中断当前Fungus,可使用RunFungusBlock重新跳回 选项名称#目标事件#显示条件
只有满足条件时才显示选项,可不填写,默认为True