1. 设置等级之后,血量不满
该问题主要是与 YEP_BaseParamControl 插件冲突,其属性被一级的时候缓存了,导致正确的初始化,可以修改插件如下
JAVASCRIPT 代码 - Game_Summon.prototype.initialize = function(actorId, level, turns, introAni, exitAni, masterId){
- Game_Actor.prototype.initialize.call(this, actorId);
- this._level = level;
- this._turns = turns;
- this._introAnimation = introAni;
- this._exitAnimation = exitAni;
- if(this._baseParamCache){
- this._baseParamCache = []
- }
- this.setMasterId(masterId || 0);
- this.recoverAll();
- };
复制代码
2. 设置等级后,攻防属性还是一级,这是因为没有在 GameActors 里面添加召唤物,可以修改如下
JAVASCRIPT 代码 - Game_Action.prototype.createSummons = function(){
- constitem = this.item();
- const result = [];
- for(let i = 0; i < item.summonInfo.length; i++){
- const actor = $gameActors.actor(this._subjectActorId);
- const info = item.summonInfo[i];
- const id = eval(info.id);
- const lvl = eval(info.lvl);
- const turns = eval(info.turn);
- const introAni = eval(info.ani);
- const exitAni = eval(info.exit);
- const summon = $gameParty.summonActor(id, lvl, turns, introAni, exitAni, this._subjectActorId);
- //不添加会二次初始化
- $gameActors._data[id] = summon;
- if(!summon)break;
- actor.addSummon(summon);
- summon.setX(info.x);
- summon.setY(info.y);
- if(this.isSkill()){
- summon.setSkillId(item.id, 's');
- }elseif(this.isItem()){
- summon.setSkillId(item.id, 'i');
- }
- BattleManager._spriteset.registerSummonSprite(summon);
- result.push(summon);
- }
- return result;
- };
复制代码
不知道我用的插件是有问题还是什么回事,还是没人用 SRD的这个召唤插件啊。。。为什么这个问题我没搜到答案呢?
本帖来自P1论坛作者q3226257,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=477165 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 |