じ☆ve冰风 发表于 2024-11-21 22:57:21

開場獲得死後復活被動(3次,1滴復活)

rt。要製作出這種效果,你需要Yanfly的兩種插件:Buffs & States Core、Auto Passive States。

首先,先在狀態1(也就是KO、無法戰鬥)的註解中貼上

JAVASCRIPT 代码

    target._stackingX = target._stackingX || 0;
    target._stackingX += 1;
    if( target._stackingX == 3)
      var i = 417 ;
    if(target.isStateAffected(i)){
      target.startAnimation(49);
      var hp = 1;
      target.gainHp(hp);
      target.startDamagePopup();
      target.removeState(417);
    }
    if( target._stackingX != 3)
      var i = 417 ;
    if(target.isStateAffected(i)){
      target.startAnimation(49);
      var hp = 1;
      target.gainHp(hp);
      target.startDamagePopup();
}



這邊是以狀態417作為被動狀態的範例。
接下來,在被動狀態的註解中貼上以下代碼:

JAVASCRIPT 代码



if( target._stackingX == 3)
condition = false;
else
condition = true;





我來依序解釋下各代碼的意義:
JAVASCRIPT 代码
//被KO時做出以下動作
target._stackingX = target._stackingX || 0; // 使變量存在
target._stackingX += 1; // 變量+1
if( target._stackingX == 3)// 如果變量等於3
var i = 417 ; // 令i=417(你被動的編號)
if(target.isStateAffected(i)){// 檢查是否持有被動
target.startAnimation(49); // 播放復活動畫
var hp = 1; // 令恢復量=1
target.gainHp(hp); // 恢復1滴體力
target.startDamagePopup(); // 不解釋
}
if( target._stackingX != 3)// 如果變量不等於3
var i = 417 ; // 令i=417(你被動的編號)
if(target.isStateAffected(i)){// 檢查是否持有被動
target.startAnimation(49); // 播放復活動畫
var hp = 1; // 令恢復量=1
target.gainHp(hp); // 恢復1滴體力
target.startDamagePopup(); // 不解釋
}



JAVASCRIPT 代码
// 讓狀態不會KO後消失


if( target._stackingX == 3)// 檢查變量是否等於3
condition = false; // 是則關閉狀態(因為復活3次了)
else
condition = true; // 否則狀態持續



這些代碼應該還能弄得更簡略,小弟略懶,就不弄了,有強迫症的朋友們再弄吧!
排版不善,還請見諒。



            本帖来自P1论坛作者jack2396,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=405412若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 開場獲得死後復活被動(3次,1滴復活)