查看: 1478|回复: 7

[有事请教] 请问如何在公共事件中判定角色的HP/TP是否低于某百分比

[复制链接]
梦石
0
星屑
143
在线时间
23 小时
注册时间
2022-11-8
回帖
8
发表于 2023-10-30 14:21:56 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 ether弧人 于 2023-11-13 20:44 编辑

如题,例如我想实现“若此时生命值低于最大值的50%,则回复8%的最大生命值”,但条件分支栏中似乎并没有针对此的判定,请问这时我应如何实现呢?
梦石
0
星屑
7009
在线时间
1280 小时
注册时间
2016-12-6
回帖
378
发表于 2023-10-30 15:21:28 | 显示全部楼层
用脚本,hpRate()这个函数可以判断对象当前HP的比值,比如$gameActors.actor(1).hpRate()可以返回1号actor的当前HP比值
注意这个返回值是小数,比如0.2、1.0,你要按百分比去设计就得另外乘100倍

要回复血量也是同理,用gainHp(n)这个函数,把n改成要恢复的血量,负数就是反过来扣血
回复 1 0

使用道具 举报

梦石
0
星屑
1332
在线时间
165 小时
注册时间
2022-2-14
回帖
80
发表于 2024-2-13 00:36:59 | 显示全部楼层
shiroin 发表于 2023-10-30 15:21
用脚本,hpRate()这个函数可以判断对象当前HP的比值,比如$gameActors.actor(1).hpRate()可以返回1号actor ...

$gameActors.actor(1).hpRate()
大佬,这段代码具体怎么判断呢?比如最大生命值的50%
回复

使用道具 举报

梦石
0
星屑
7009
在线时间
1280 小时
注册时间
2016-12-6
回帖
378
发表于 2024-2-13 01:08:17 | 显示全部楼层
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
回复

使用道具 举报

梦石
0
星屑
1332
在线时间
165 小时
注册时间
2022-2-14
回帖
80
发表于 2024-2-13 09:52:17 | 显示全部楼层
shiroin 发表于 2024-2-13 01:08
$gameActors.actor(1).hpRate()运行后会直接得出1号角色当前的血量比值,所以你直接用运算符做判断就行了 ...

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

11111111.jpg
回复

使用道具 举报

梦石
0
星屑
1332
在线时间
165 小时
注册时间
2022-2-14
回帖
80
发表于 2024-2-13 11:04:02 | 显示全部楼层
shiroin 发表于 2024-2-13 01:08
$gameActors.actor(1).hpRate()运行后会直接得出1号角色当前的血量比值,所以你直接用运算符做判断就行了 ...

用并行插件解决了,原来直接用公共事件触发不了吗?
回复

使用道具 举报

梦石
0
星屑
7009
在线时间
1280 小时
注册时间
2016-12-6
回帖
378
发表于 2024-2-13 12:47:38 | 显示全部楼层
xin6429 发表于 2024-2-13 11:04
用并行插件解决了,原来直接用公共事件触发不了吗?

如果你是在战斗场景中试图调用公共事件,确实是会受到战斗场景中只能串行执行指令的限制,很多时候只能强制改为并行来执行
回复

使用道具 举报

梦石
0
星屑
1332
在线时间
165 小时
注册时间
2022-2-14
回帖
80
发表于 2024-2-13 12:59:13 | 显示全部楼层
shiroin 发表于 2024-2-13 12:47
如果你是在战斗场景中试图调用公共事件,确实是会受到战斗场景中只能串行执行指令的限制,很多时候只能强 ...

原来如此,谢谢大佬解惑
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部