Project1
标题: 開場獲得死後復活被動(3次,1滴復活) [打印本页]
作者: jack2396 时间: 2018-2-4 21:06
标题: 開場獲得死後復活被動(3次,1滴復活)
rt。要製作出這種效果,你需要Yanfly的兩種插件:Buffs & States Core、Auto Passive States。
首先,先在狀態1(也就是KO、無法戰鬥)的註解中貼上
<Custom Apply Effect>
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();
}
</Custom Apply Effect>
<Custom Apply Effect>
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();
}
</Custom Apply Effect>
這邊是以狀態417作為被動狀態的範例。
接下來,在被動狀態的註解中貼上以下代碼:
<Category: Bypass Death Removal>
<Custom Passive Condition>
if ( target._stackingX == 3 )
condition = false;
else
condition = true;
</Custom Passive Condition>
<Category: Bypass Death Removal>
<Custom Passive Condition>
if ( target._stackingX == 3 )
condition = false;
else
condition = true;
</Custom Passive Condition>
我來依序解釋下各代碼的意義:
<Custom Apply Effect> //被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(); // 不解釋
}
</Custom Apply Effect>
<Custom Apply Effect> //被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(); // 不解釋
}
</Custom Apply Effect>
<Category: Bypass Death Removal> // 讓狀態不會KO後消失
<Custom Passive Condition>
if ( target._stackingX == 3 ) // 檢查變量是否等於3
condition = false; // 是則關閉狀態(因為復活3次了)
else
condition = true; // 否則狀態持續
</Custom Passive Condition>
<Category: Bypass Death Removal> // 讓狀態不會KO後消失
<Custom Passive Condition>
if ( target._stackingX == 3 ) // 檢查變量是否等於3
condition = false; // 是則關閉狀態(因為復活3次了)
else
condition = true; // 否則狀態持續
</Custom Passive Condition>
這些代碼應該還能弄得更簡略,小弟略懶,就不弄了,有強迫症的朋友們再弄吧!
排版不善,還請見諒。
作者: qq1065526265 时间: 2018-2-4 21:31
感谢大佬分享
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |