Skip to content

兼容性

概念

定义

兼容性: 是指两个插件之间的关系,具体兼容性见下列关系。

1)冲突

冲突是指插件A直接干扰/破坏了插件B的结构,造成系统报错。使得游戏无法运行。冲突并不是刻意造成的,有时候是插件作者没有考虑到特殊的情况。

2)强占资源

强占资源是指,插件A强占了插件B需要的系统资源,虽然系统不报错,且能正常运行,但是插件B的部分功能会失效。一般换换插件顺序,能够解决这类情况。

3)相互独立

两个插件各自要各自的系统资源,即使是相同的系统资源,也会排队等待,相互不干扰,这样就说明插件之间相互独立。

4)依赖

依赖表示插件A必须要插件B给予的资源才能运行。

详细可见后面章节 基于

5)不完全依赖

不完全依赖表示插件A在有插件B的情况下,使用计划1;如果没有插件B,那么使用计划2。这样插件通常可以独立运行。但是计划1的功能效果肯定比计划2的要好。

详细可见后面章节 作用于、被扩展

特点

你的游戏中通常情况下会放置大量的插件,虽然大部分插件相互独立,但是也会遇到小概率冲突的情况。因为你每加入一个新插件时,相同作用域下的插件都会相互影响。

另外,你不能给游戏装上两个相同的插件,这是必然 冲突/强占资源 的。

插件扩展

定义

基于: 如果插件A必须要插件B给予的资源才能运行,那么就称插件A基于插件B。

所有drill插件中,都加入了校验机制,如果所基于的插件缺失,会弹出相应提示,所以不需要担心游戏时会因缺插件而报错。

作用于/可作用于: 根据下图的箭头关系,插件A作用于插件B。箭头是可断开的。

被扩展/可被扩展: 根据下图的箭头关系,插件B被插件A扩展。箭头是可断开的。

与”基于”的定义不同,这两个关系属于不完全依赖。插件中经常出现这种扩展关系。

特点

插件有 基于、被扩展 关系的,比较容易出现不同版本插件的 冲突。

比如下图中插件A[v1.2]向插件B[v1.0]寻求资源时,由于旧插件可能没有新的资源提供,造成插件A出错。解决这类问题,只要保证插件都是示例中最新的版本,就可以了。

(但要注意,一次性升级所有插件,还是存在一些风险的,升级时要备份工程。)

不同作者的插件

不同作者之间,冲突的隐患非常大。

因为不同作者的写脚本时,考虑的方向完全不同。如果插件的某些地方作硬性设定,将直接影响到其他作者对脚本进行扩展。

Mog自身插件版本组兼容情况(插件示例1.60 – 2.00的旧版本)

Mog大部分插件可以单独运行,但是 插件组合后 会对版本比较敏感如果与目标插件的版本太高或太低,会报错误

当前已知的版本组如下:(你其实只要按最新的版本来替换 组中所有插件就可以了

插件旧版本组1旧版本组2最新版本组
MOG_ATB 即时战斗模式MOG_BattleHud 角色窗口MOG_BattleCommands 技能类型面板MOG_BalloonActionName 招式名气泡框MOG_ConsecutiveBattles 车轮战MOG_BattlerMotion 技能动作+呼吸效果MOG_EmergeMotion 敌人出现动画效果无(v3.5)(v1.0)(v1.5)无(v1.6)无(v0.1 Beta)(v4.0)(v1.2)(v1.7)(v1.0)(v1.8)(v1.2)(v0.3 Beta)(v4.0)(v1.2)(v1.7)(v1.1)(v2.0)(v1.4)

如果你用了表中高版本组的插件,需要都换成组中高版本的插件,因为两组之间存在不兼容情况。(如果你使用了插件组中以外的版本,兼容情况就未知了。)

已知冲突插件

下列有一些已知会产生冲突的插件,你需要对其做出选择,进行取舍。

MOG_SceneItem.js全自定义物品界面MiniInformationWindow.js详细信息窗口🡨🡪YEP_ItemCore.jsyep物品核心
MOG_BattleResult.js战斗结果🡨🡪YEP_VictoryAftermath.jsyep战斗结算
MOG_ATB.js即时战斗模式MOG_SkipWindowLog.js去掉窗口提示消息Drill_WindowLog.js窗口提示消息🡨🡪YEP_BattleEngineCore.jsyep战斗核心
Drill_SenceShop全自定义商店界面🡨🡪YEP_ShopMenuCoreYep商店核心

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史