Project1

标题: 制作复活药水弹出了一个bug求帮助 [打印本页]

作者: douqunbo    时间: 2017-7-23 17:50
标题: 制作复活药水弹出了一个bug求帮助

如图,can not read property "is dead" of undefined

物品设置的是 对我方单体(战斗不能) 使用,效果是解除死亡状态并回血,但是如果当前队伍没有人死亡,使用时就会报错,这个要如何解决?

ps:设置复活技能的话没问题,如果当前没人死亡,就只是无法使用该技能,而不会报错。

作者: sutao80216    时间: 2017-7-23 18:40
不清楚你是怎么做的。正常使用编辑器做出来的复活道具无非就是解除一个1号状态,或者可以再恢复一点HP,一般不会引发什么错误。
作者: sonicdonggua    时间: 2017-7-23 19:52
我没有发现这个问题,是不是你用了什么选择目标之类的插件。
因为队伍中没有死亡队员,所以isDead()的对象是undefined,所以自然会报错。skill会自动判断而item不会
解决办法就是设置一个判断分歧:
if ($gameParty.aliveMembers() < $gameParty.maxBattleMembers())  会发生作用,反之不会
作者: douqunbo    时间: 2017-7-23 21:34
sonicdonggua 发表于 2017-7-23 19:52
我没有发现这个问题,是不是你用了什么选择目标之类的插件。
因为队伍中没有死亡队员,所以isDead()的对象 ...

这个判断分歧怎么设置呢?写在物品备注里面没用啊
作者: douqunbo    时间: 2017-7-24 21:16
douqunbo 发表于 2017-7-23 21:34
这个判断分歧怎么设置呢?写在物品备注里面没用啊

YEP.4 – Action Sequence Pack 1   这个插件对吧?
具体要怎么设置可以告知下吗?本人不是很懂代码。。。
谢谢!
作者: douqunbo    时间: 2017-7-24 21:16
sonicdonggua 发表于 2017-7-23 19:52
我没有发现这个问题,是不是你用了什么选择目标之类的插件。
因为队伍中没有死亡队员,所以isDead()的对象 ...

YEP.4 – Action Sequence Pack 1   这个插件对吧?
具体要怎么设置可以告知下吗?本人不是很懂代码。。。
谢谢!
作者: sonicdonggua    时间: 2017-7-24 22:20
if $gameParty.aliveMembers() < $gameParty.maxBattleMembers()
action effect
end
作者: TantaiAs0230    时间: 2017-7-25 09:23

這BUG存在許久,也不知道為甚麼官方一直沒有修正...

這是因為道具「限定對無法戰鬥的人」使用。
樓上之所以沒觸發應該是因為沒有「兩個人同時對同一個人使用」。

做遊戲時通常不會遇到,但玩遊戲時就不一樣了...
因為會怕使用復活道具的角色剛好也被打掛了,所以會控制兩支以上的角色使用道具,
又剛好這兩個使用道具的角色都沒有被打掛,那此時問題就發生了,
你對「已經復活的角色使用了限定無法戰鬥的道具」,遊戲就判斷錯誤了...

可以使用DeadOrAliveItem.js看看,
它可以讓限定對無法戰鬥的人使用的道具也能使用在可以戰鬥的角色上。
作者: douqunbo    时间: 2017-7-29 14:49
sonicdonggua 发表于 2017-7-24 22:20
if $gameParty.aliveMembers() < $gameParty.maxBattleMembers()
action effect
end

呃,我按你的操作了,还是没有用。。
作者: douqunbo    时间: 2017-7-30 16:22
TantaiAs0230 发表于 2017-7-25 09:23
這BUG存在許久,也不知道為甚麼官方一直沒有修正...

這是因為道具「限定對無法戰鬥的人」使用。

谢谢 用这个脚本解决了,不过跟另一个插件又有了冲突。




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