Project1

标题: 如何去做状态与屏障同在的效果 [打印本页]

作者: 421342121    时间: 2019-8-25 23:45
标题: 如何去做状态与屏障同在的效果
用了YEP吸收屏障插件,想做一个有护甲时也有状态X,护甲被敌人打没时状态X也消失,不知道用代码怎么写
作者: yahzj    时间: 2019-8-25 23:45
JAVASCRIPT 代码复制
  1. Window_Base.prototype.drawActorHp = function(actor, wx, wy, ww) {
  2.     ww = ww || 186;
  3.     var color1 = this.hpGaugeColor1();
  4.     var color2 = this.hpGaugeColor2();
  5.     if (actor.barrierPoints() > 0) {//如果有护盾,则绘制护盾状态
  6.       color1 = this.textColor(8);//如果有护盾则改变血条颜色1
  7.       color2 = this.textColor(7);//如果有护盾则改变血条颜色2
  8.       this.drawGauge(wx, wy, ww, actor.hpRate(), color1, color2);
  9.       this.drawBarrierGauge(actor, wx+5, wy+45, ww);//绘制护盾图标,wx和wy是位置
  10.     }else{
  11.     this.drawGauge(wx, wy, ww, actor.hpRate(), color1, color2);
  12.     }
  13.     this.changeTextColor(this.systemColor());
  14.     var c1 = this.hpColor(actor);
  15.     var c2 = this.normalColor();
  16.     this.drawCurrentAndMax(actor.hp, actor.mhp, wx, wy+10, ww, c1, c2);
  17. };
  18.  
  19.  
  20. Window_Base.prototype.drawBarrierGauge = function(actor, wx, wy, ww) {
  21.     var ph = Window_Base._iconHeight;
  22.           this.drawIcon(90,wx,wy-ph);
  23.     this.drawText(actor.barrierPoints(), wx, wy-ph-3, 32,'center');
  24. }


这是我只用的代码,只要插入YEP_AbsorptionBarrier(YEP护盾屏障的插件)代码最后就行
实际想效果如下图

作者: 421342121    时间: 2019-8-26 08:23
<Custom Passive Condition>
  if (this._battler.barrierPoints() != 0) {
    condition = false;
  } else {
    condition = true;
  }
</Custom Passive Condition>
用了自动被动插件后写的 但是不对····
作者: 421342121    时间: 2019-8-26 13:04
本帖最后由 421342121 于 2019-8-26 13:06 编辑

<Custom Confirm Effect>
if (角色受到X点伤害) {
  target.removeState(id);
}
</Custom Confirm Effect>

无法采用护盾值的话我打算用受到伤害来做,角色受到多少伤害如何正确写出 望指教




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1