赞 | 1 |
VIP | 0 |
好人卡 | 0 |
积分 | 2 |
经验 | 0 |
最后登录 | 2020-11-20 |
在线时间 | 25 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 245
- 在线时间
- 25 小时
- 注册时间
- 2020-4-6
- 帖子
- 17
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 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);
|
|