Project1

标题: 跪求回復HP的code [打印本页]

作者: win21123    时间: 2016-1-7 21:33
标题: 跪求回復HP的code
http://yanfly.moe/2015/12/25/yep-50-buffs-states-core/

我正在用這個腳本,我發現要做到狀態消失時回HP必須使用Lunatic Mode,我對RMMV用的code完全無知,所以跪求各位高手指教,回復HP的code是甚麼?

題外話:我想做的是類似WOW神牧中的癒合禱言,受傷時狀態消失並回血,另外有可能真的像WOW一樣有層數然後彈跳到其他人身上然後減一層嗎?

作者: trentswd    时间: 2016-1-7 21:39
user.setHp(user.hp + 你要回复的值) 试试看
不能,因为这个插件没有叠层的功能……这插件想模仿wow的复杂的buff系统可能还差100光年
作者: win21123    时间: 2016-1-7 22:04
trentswd 发表于 2016-1-7 21:39
user.setHp(user.hp + 你要回复的值) 试试看
不能,因为这个插件没有叠层的功能……这插件想模仿wow的复杂 ...

感謝大大解答!
另外有沒有詳細不同RMMV的code list?
小弟稍有接觸過javascript,不過對於提取/更改遊戲數據的code一無所知,感謝!
作者: 小叮鈴    时间: 2016-1-7 22:09
受傷時狀態消失是可以辦到 內鍵就可以了
作者: trentswd    时间: 2016-1-7 22:18
win21123 发表于 2016-1-7 22:04
感謝大大解答!
另外有沒有詳細不同RMMV的code list?
小弟稍有接觸過javascript,不過對於提取/更改遊戲 ...

这要看YEP的Lunatic Mode里面的代码是在哪里eval的
然后根据eval的上下文来推测,比如我猜user是一个Game_BattlerBase,那么就应该有Game_BattlerBase的方法和属性,然后去查源码……
作者: sonicdonggua    时间: 2016-1-7 22:35
本帖最后由 sonicdonggua 于 2016-1-7 23:01 编辑

在状态note中试试这个 x为状态 y为恢复血量
<Custom Apply Effect>
if (target.isActor()) {
  if (target.gainHp() < 0) {
    target.removeState(x)
    var hp = Math.floor(y);
    target.gainHp(hp);
    target.startDamagePopup();
  }
}
</Custom Apply Effect>
未测试 思路是这个思路
如果叠加的话可以用变量 每次附加状态,变量加1,被敌人攻击一次变量减1,当变量为1时,敌人攻击,回血并移除状态。不再写了,就是在代码中加个if-else分歧判断
与军官之歌中旋弹集气有点像
不大明白您这个状态是为了什么啊,是要抵消敌人的攻击伤害吗?这样的话为什么不在trait中增加抗性,然后设置为攻击后状态解除呢?或者用Yanfly的Damage Core 在damage formula中设定,如果某人有XX状态,设置攻击为负值,否则伤害为正值




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