找回密码
 立即注册
查看: 234|回复: 10

为啥返回结果是负值,请教大神。

[复制链接]

211

主题

562

回帖

214

积分

中级会员

积分
214
发表于 2026-3-29 16:43:29 | 显示全部楼层 |阅读模式
2021-1-20 星期三 14:07:48 [脚本错误]  脚本命令:HUMANHP NPC名称Function 地图:0(0:0) 参数1:- 参数2:-26016002 参数3: 参数4: 参数5: 参数6: 参数7: 参数8: 参数9: 参数10:
为什么怪物血量多了之后,计算百分比的结果是负值?怪物血量是30E.如何得到正确的数值,找大佬指点下。
MOV N$血量 <$ATTACKMONSTER_HP>
DIV N$血量 100
MUL N$血量 2
和
CalcPercent <$ATTACKMONSTER_HP> 2 N9
获得的都是负值

本帖子中包含更多资源

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

×

215

主题

501

回帖

768

积分

高级会员

积分
768
发表于 2026-3-29 16:43:29 | 显示全部楼层
引擎已经更新了完美的解决方案。不要计算了。AddhpPerEx 当前HP比例操作,想怎么操作怎么操作。

215

主题

501

回帖

768

积分

高级会员

积分
768
发表于 2026-3-29 16:43:29 | 显示全部楼层
我也出过负值,怎么解决的忘了

本帖子中包含更多资源

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

×

0

主题

583

回帖

0

积分

新手上路

积分
0
发表于 2026-3-29 16:43:29 | 显示全部楼层
血量超过21亿了,就是负值。变量最多只支持21亿。

0

主题

583

回帖

20

积分

新手上路

积分
20
发表于 2026-3-29 16:43:29 | 显示全部楼层
只能绕个弯子,用S变量暂时保存
MOV S1 <$ATTACKMONSTER_HP>
DEC S1 6 10
MOV N$血量 <$str(S1)>
再对变量操作
补充内容 (2021-1-20 14:40):
绕远了,如果是切割怪物血量,怎么不试试M.ADDhpper - 2,哦当前剩余血量啊,那没事了

2797

主题

3万

回帖

2801

积分

金牌会员

积分
2801
发表于 2026-3-29 16:43:29 | 显示全部楼层
将30E复制给N变量,得到的结果是-1294967296
实际上N变量,U变量还有G变量保存上限只有17E

0

主题

511

回帖

0

积分

新手上路

积分
0
发表于 2026-3-29 16:43:29 | 显示全部楼层
holgo 发表于 2021-1-20 14:31 只能绕个弯子,用S变量暂时保存
MOV S1  
DEC S1 6 10
DEC S1 6 10怎么解?
补充内容 (2021-1-20 14:49):
这样出来的结果,不就是个错误的了?

267

主题

572

回帖

980

积分

高级会员

积分
980
发表于 2026-3-29 16:43:29 | 显示全部楼层
huhuhaha 发表于 2021-1-20 14:45 DEC S1 6 10怎么解?
补充内容 (2021-1-20 14:49):
去掉 30E数字后面5个0  这样就只剩30000了,你只想去两个0就是
DEC S1 8 10
结果再MUL 个 2就是你想要的结果了

250

主题

530

回帖

264

积分

中级会员

积分
264
发表于 2026-3-29 16:43:29 | 显示全部楼层
转移到字符型变量 MOV S$血量 <$ATTACKMONSTER_HP> 去掉后面一位数 再去用整数型变量去操作啊

0

主题

511

回帖

14

积分

新手上路

积分
14
发表于 2026-3-29 16:43:29 | 显示全部楼层
现阶段引擎数值类变量最大只能支持21E 超过21E 会出现负数的

© 2026 折翼天使社区 版权所有