Project1

标题: 開場獲得死後復活被動(3次,1滴復活) [打印本页]

作者: jack2396    时间: 2018-2-4 21:06
标题: 開場獲得死後復活被動(3次,1滴復活)
rt。要製作出這種效果,你需要Yanfly的兩種插件:Buffs & States Core、Auto Passive States。

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

JAVASCRIPT 代码复制
  1. <Custom Apply Effect>
  2.     target._stackingX = target._stackingX || 0;
  3.     target._stackingX += 1;
  4.     if ( target._stackingX == 3 )
  5.         var i = 417 ;
  6.     if (target.isStateAffected(i)) {
  7.         target.startAnimation(49);
  8.         var hp = 1;
  9.         target.gainHp(hp);
  10.         target.startDamagePopup();
  11.         target.removeState(417);
  12.     }
  13.     if ( target._stackingX != 3 )
  14.         var i = 417 ;
  15.     if (target.isStateAffected(i)) {
  16.         target.startAnimation(49);
  17.         var hp = 1;
  18.         target.gainHp(hp);
  19.         target.startDamagePopup();
  20. }
  21. </Custom Apply Effect>


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

JAVASCRIPT 代码复制
  1. <Category: Bypass Death Removal>
  2.  
  3. <Custom Passive Condition>
  4. if ( target._stackingX == 3 )
  5. condition = false;
  6. else
  7. condition = true;
  8.  
  9. </Custom Passive Condition>



我來依序解釋下各代碼的意義:
JAVASCRIPT 代码复制
  1. <Custom Apply Effect> //被KO時做出以下動作
  2. target._stackingX = target._stackingX || 0; // 使變量存在
  3. target._stackingX += 1; // 變量+1
  4. if ( target._stackingX == 3 ) // 如果變量等於3
  5. var i = 417 ; // 令i=417(你被動的編號)
  6. if (target.isStateAffected(i)) { // 檢查是否持有被動
  7. target.startAnimation(49); // 播放復活動畫
  8. var hp = 1; // 令恢復量=1
  9. target.gainHp(hp); // 恢復1滴體力
  10. target.startDamagePopup(); // 不解釋
  11. }
  12. if ( target._stackingX != 3 ) // 如果變量不等於3
  13. var i = 417 ; // 令i=417(你被動的編號)
  14. if (target.isStateAffected(i)) { // 檢查是否持有被動
  15. target.startAnimation(49); // 播放復活動畫
  16. var hp = 1; // 令恢復量=1
  17. target.gainHp(hp); // 恢復1滴體力
  18. target.startDamagePopup(); // 不解釋
  19. }
  20. </Custom Apply Effect>


JAVASCRIPT 代码复制
  1. <Category: Bypass Death Removal> // 讓狀態不會KO後消失
  2.  
  3. <Custom Passive Condition>
  4. if ( target._stackingX == 3 ) // 檢查變量是否等於3
  5. condition = false; // 是則關閉狀態(因為復活3次了)
  6. else
  7. condition = true; // 否則狀態持續
  8. </Custom Passive Condition>


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



作者: qq1065526265    时间: 2018-2-4 21:31
感谢大佬分享  




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