Project1
标题:
请教一下关于插件冲突的问题。【已解决】
[打印本页]
作者:
alucardzhou
时间:
2020-9-25 11:48
标题:
请教一下关于插件冲突的问题。【已解决】
本帖最后由 alucardzhou 于 2020-9-26 07:53 编辑
请教一个避免插件冲突的情况。
具体情况:
想引用FTKR_SkillTreeSystem
https://github.com/futokoro/RPGMaker/blob/master/sampleProject/SkillTreeSample.zip
结果发现FTKR_SkillTreeSystem和Yep_CoreEngine 有一个冲突:都定义了learnSkill = function(skillId)
Yep_CoreEngine
Game_Actor.prototype.learnSkill = function(skillId) {
if (!this._skills.contains(skillId)) {
this._skills.push(skillId);
this._skills.sort(function(a, b) {
return a - b;
});
}
};
FTKR_SkillTreeSystem
var _STS_Game_Actor_learnSkill = Game_Actor.prototype.learnSkill;
Game_Actor.prototype.learnSkill = function(skillId) {
if (!this.isStsLearnedSkill(skillId)) {
this.setStsSkillCount(skillId, 0);
}
_STS_Game_Actor_learnSkill.call(this, skillId);
this.checkInitSts();
if (this.isLearnedSkill(skillId) && !this.stsCount(skillId)) {
if (FTKR.STS.learnedActorVarID) $gameVariables.setValue(FTKR.STS.learnedActorVarID, this.actorId());
if (FTKR.STS.learnedSkillVarID) $gameVariables.setValue(FTKR.STS.learnedSkillVarID, skillId);
this.stsCountUp(skillId);
this._stsLearnSkills[skillId] = true;
this.checkStsForgetSkills(skillId);
}
if (this._initStsFlag) {
this.stsUsedCost(skillId);
}
};
虽然在插件管理中把FTKR_SkillTreeSystem 放到 Yep_CoreEngine 后面就可以了。
但是感觉Yep_CoreEngine 的逻辑是有用,怕以后有冲突
* Version 1.19:
* - Updated for RPG Maker MV version 1.3.2.
* - Fixed 'LearnSkill' function for actors to not be bypassed if a piece of
* equipment has temporarily added a skill.
参看了一下 https://www.wikimoe.com/?post=48
简单加上了 (function(_global) { })(this);
请教大神这样处理可以么?(以后Yep_CoreEngine 不会报错)如果不对请怎么改?
(function(_global) {
var _STS_Game_Actor_learnSkill = Game_Actor.prototype.learnSkill;
Game_Actor.prototype.learnSkill = function(skillId) {
if (!this.isStsLearnedSkill(skillId)) {
this.setStsSkillCount(skillId, 0);
}
_STS_Game_Actor_learnSkill.call(this, skillId);
this.checkInitSts();
if (this.isLearnedSkill(skillId) && !this.stsCount(skillId)) {
if (FTKR.STS.learnedActorVarID) $gameVariables.setValue(FTKR.STS.learnedActorVarID, this.actorId());
if (FTKR.STS.learnedSkillVarID) $gameVariables.setValue(FTKR.STS.learnedSkillVarID, skillId);
this.stsCountUp(skillId);
this._stsLearnSkills[skillId] = true;
this.checkStsForgetSkills(skillId);
}
if (this._initStsFlag) {
this.stsUsedCost(skillId);
}
};
})(this);
作者:
soulsaga
时间:
2020-9-25 15:03
YEP是重定义
FTKR是改别名..
所以FTKR在YEP下面应该没问题了吧?
作者:
alucardzhou
时间:
2020-9-26 07:43
soulsaga 发表于 2020-9-25 15:03
YEP是重定义
FTKR是改别名..
所以FTKR在YEP下面应该没问题了吧?
十分感谢。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1