Project1

标题: 请问如何在公共事件中判定角色的HP/TP是否低于某百分比 [打印本页]

作者: ether弧人    时间: 2023-10-30 14:21
标题: 请问如何在公共事件中判定角色的HP/TP是否低于某百分比
本帖最后由 ether弧人 于 2023-11-13 20:44 编辑

如题,例如我想实现“若此时生命值低于最大值的50%,则回复8%的最大生命值”,但条件分支栏中似乎并没有针对此的判定,请问这时我应如何实现呢?
作者: shiroin    时间: 2023-10-30 15:21
用脚本,hpRate()这个函数可以判断对象当前HP的比值,比如$gameActors.actor(1).hpRate()可以返回1号actor的当前HP比值
注意这个返回值是小数,比如0.2、1.0,你要按百分比去设计就得另外乘100倍

要回复血量也是同理,用gainHp(n)这个函数,把n改成要恢复的血量,负数就是反过来扣血
作者: xin6429    时间: 2024-2-13 00:36
shiroin 发表于 2023-10-30 15:21
用脚本,hpRate()这个函数可以判断对象当前HP的比值,比如$gameActors.actor(1).hpRate()可以返回1号actor ...

$gameActors.actor(1).hpRate()
大佬,这段代码具体怎么判断呢?比如最大生命值的50%
作者: shiroin    时间: 2024-2-13 01:08
xin6429 发表于 2024-2-13 00:36
$gameActors.actor(1).hpRate()
大佬,这段代码具体怎么判断呢?比如最大生命值的50% ...

$gameActors.actor(1).hpRate()运行后会直接得出1号角色当前的血量比值,所以你直接用运算符做判断就行了

比如:$gameActors.actor(1).hpRate() == 0.5,这会判断当前血量是不是50%,如果是就true,不是就false
作者: xin6429    时间: 2024-2-13 09:52
shiroin 发表于 2024-2-13 01:08
$gameActors.actor(1).hpRate()运行后会直接得出1号角色当前的血量比值,所以你直接用运算符做判断就行了 ...

谢谢大佬解答,我用低于50%怎么判断不了呢?
我是这样用的,血量低于50%的时候没有加上治愈状态

11111111.jpg (5.78 KB, 下载次数: 31)

11111111.jpg

作者: xin6429    时间: 2024-2-13 11:04
shiroin 发表于 2024-2-13 01:08
$gameActors.actor(1).hpRate()运行后会直接得出1号角色当前的血量比值,所以你直接用运算符做判断就行了 ...

用并行插件解决了,原来直接用公共事件触发不了吗?
作者: shiroin    时间: 2024-2-13 12:47
xin6429 发表于 2024-2-13 11:04
用并行插件解决了,原来直接用公共事件触发不了吗?

如果你是在战斗场景中试图调用公共事件,确实是会受到战斗场景中只能串行执行指令的限制,很多时候只能强制改为并行来执行
作者: xin6429    时间: 2024-2-13 12:59
shiroin 发表于 2024-2-13 12:47
如果你是在战斗场景中试图调用公共事件,确实是会受到战斗场景中只能串行执行指令的限制,很多时候只能强 ...

原来如此,谢谢大佬解惑




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