功法神通学习拓展插件
阅读
2023-04-17更新
最新编辑:神奇丶奶油
阅读:
更新日期:2023-04-17
最新编辑:神奇丶奶油
功法神通学习拓展插件

Mod主要功能
- 满足列举的所有条件,学会功法、神通。
- 自行选择是否失去、遗忘条件中的物品、功法、神通等。
- 满足条件后发出tip提示
- 满足条件后触发Next剧情
条件列表(可以自行组合)
- 是否学会某个神通
- 功法的等级
- 游戏内时间
- 悟道的境界
- 物品的数量
- 玩家的各项基础属
将会在闭关时判断是否满足这些条件,所有条件均满足将会触发效果。具体判断时机为点击闭关时(在游戏增加时间之前)
视频介绍及教程
创建项目
1.在mod文件的plugins
下建立SkillStudyExpand
文件夹。
2.在SkillStudyExpand
中建立以下2个文件夹(SkillData
和StaticSkillData
):
SkillData
为神通数据,即满足条件习得的是神通;StaticSkillData
为功法数据,即满足条件习得的是功法。
3. 在对应文件夹中创建一个json数据文件,文件名随意(例:1.json)。
4. 在json文件中填入以下信息,可以直接复制参考文件中已经填好的示例,这两项必须填写!剩下的条件部分可以只写有的条件,没有用到的条件可以不写。
注:如果不写任何条件闭关任意时间都会触发!
{
"id":1,
"skillId":2
}
- Id为序列号,建议从1开始连续,此id不同于游戏中的id,不会和别的mod冲突!不同mod的数据会单独分开存放,你只要确保自己的id不重复即可!
- skillId为你要学习的神通/功法的Skill_Id。
监视检查状况
- 在BepInEx的Cogfig文件夹中找到UniqueCream.SkillStudyExpand.cfg将LogData项修改为true,默认为false。
- 同时将LogLevel调制合适的等级,不建议一直开最大,会导致控制台输出很多信息!
配置详情:
[config]
## 是否在检查时输出检查日志
# Setting type: Boolean
# Default value: false
LogData = false
## 输出的检查的等级,高等级包含了低等级的输出信息,请根据实际需要填写等级,最高等级会导致闭关时大量输出日志,慎用!0:输出当前检查的模组Id;1:输出当前检查的Id,并且触发成功会输出对应信息;2:输出当前检查的项目,并输出失败的原因;3:输出当前检查的项目的具体判断数值及判断类型
# Setting type: Int32
# Default value: 0
LogLevel = 0
条件部分
第一种条件格式
格式详情:
"playerLevel":
{
"type":">",
"num":0
}
- type代表比较的类型,一共有3种(大于>,小于<,等于=)
- num代表数值的大小(整数),比较时为(以大于为例)【玩家的数据>你所填的num】,成立则满足条件。
包含条件:
- playerLevel 角色的境界:(1-15)对应(炼气初期-化神后期)。
- biGuanTime 闭关的时间。
- ziZhi 玩家的资质
- wuXing 玩家的悟性
- shenShi 玩家的神识
- dunSu 玩家的遁速
- nianLing 玩家的年龄
- xinJing 玩家当前心境
- danDu 玩家当前的丹毒
- lingGan 玩家当前的灵感
- shouYuan 玩家的寿元
- hp 玩家的当前生命值
- hpMax 玩家的生命值上限
时间的判断同样采用第一种格式,但较为特殊,判断时将会对3个参数分别进行判断,year代表了当前的年份,month代表了当前的月份,day代表了当前的天数,不填则对此没有要求:
例:只填写month,type为=,num为1,则代表每年1月份触发。
"time":
{
"year":
{
"type":">",
"num":1
},
"month":
{
"type":">",
"num":1
},
"day":
{
"type":">",
"num":1
}
}
第二种条件格式
格式详情:
"staticSkill":
{
"1":
{
"id":1,
"level":1,
"type":"=",
"isRemove":true
},
"2":
{
"id":2,
"level":1,
"type":"=",
"isRemove":true
}
}
每个条目所代表的意义将会在每个条件中解释,没有提及的可以不填(填了也不影响),多个条件之间使用逗号隔开。
包含条件:
- skill为条件中角色需要已经学会的神通,不填则为无(可留空):
- id代表需要掌握的神通的Skill_ID
- isRemove代表满足条件学会后,是否移除这个神通
- staticSkill为条件中角色需要已经学会的功法,不填则为无(可留空可不填):
- id代表需要掌握的功法的Skill_ID
- level代表功法的等级
- type代表比较的类型,同上
- isRemove代表满足条件后,是否移除这个功法
- wuDao为条件中需要掌握的悟道的境界
- id代表对应的悟道类型
- level代表对应的悟道等级
- type代表比较的类型,同上
- item为条件中需要拥有的物品数量
- id代表对应的物品id
- level代表对应的物品数量
- type代表比较的类型,同上
- isRemove代表满足条件后是否移除对应物品
"tianFu":
[
1,2,3
],
- tianFu代表判断玩家开局所选的天赋,与CreateAvatarJsonData.json中的id相对应,可以填多个,通过逗号隔开。
"tianFuBuff":
[
1,2,3
],
- tianFuBuff代表玩家所拥有的天赋Buff,包含玩家开局所拥有的buff,以及后期通过例如Next剧情所给予的,仅判断玩家是否拥有,不判断数量。
"tipList":
[
"神通",
"神通",
"神通"
]
- tipList代表满足条件后弹出的Tip(可留空),可以填多个,每句话需要用英文双引号””包裹,中间用逗号隔开。
"nextEvent":"Next剧情事件ID"
- nextEvent代表满足条件后触发的Next事件,具体触发事件由填写的剧情事件ID决定。如果同时触发了多个剧情事件,将会依次触发。
"isCirculate":false
- isCirculate代表这个神通习得事件能否被重复执行,填true代表会反复触发,填false代表每个存档只会触发一次。该项默认为false。
反复触发可用于触发剧情等
即使已经习得了功法或者神通也会触发这个事件!
相应的,如果条件中填写了例如移除物品,同样会触发移除!
示例代码
包含所有的条件
{
"id":1,
"skillId":1,
"isCirculate":false,
"nextEvent":"Next剧情事件ID",
"playerLevel":
{
"type":">",
"num":0
},
"biGuanTime":
{
"type":">",
"num":0
},
"ziZhi":
{
"type":">",
"num":0
},
"wuXing":
{
"type":">",
"num":0
},
"shenShi":
{
"type":">",
"num":0
},
"dunSu":
{
"type":">",
"num":0
},
"nianLing":
{
"type":">",
"num":0
},
"xinJing":
{
"type":">",
"num":0
},
"danDu":
{
"type":">",
"num":0
},
"lingGan":
{
"type":">",
"num":0
},
"shouYuan":
{
"type":">",
"num":0
},
"hp":
{
"type":">",
"num":0
},
"hpMax":
{
"type":">",
"num":0
},
"time":
{
"year":
{
"type":">",
"num":1
},
"month":
{
"type":">",
"num":1
},
"day":
{
"type":">",
"num":1
}
},
"skill":
{
"1":
{
"id":1,
"isRemove":true
}
},
"staticSkill":
{
"1":
{
"id":1,
"level":1,
"type":"=",
"isRemove":true
},
"2":
{
"id":2,
"level":1,
"type":"=",
"isRemove":true
}
},
"item":
{
"5001":
{
"id":5002,
"level":10,
"type":"<",
"isRemove":true
}
},
"wuDao":
{
"1":
{
"id":1,
"type":">",
"level":4
}
},
"tianFu":
[
1,2,3
],
"tianFuBuff":
[
1,2,3
],
"tipList":
[
"神通",
"神通",
"神通"
]
}
最基础信息示例(至少包含这两项)
{
"id":1,
"skillId":1
}