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在线咨询功能删除,谢谢。 |