为啥返回结果是负值,请教大神。
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
获得的都是负值
引擎已经更新了完美的解决方案。不要计算了。AddhpPerEx 当前HP比例操作,想怎么操作怎么操作。 我也出过负值,怎么解决的忘了 血量超过21亿了,就是负值。变量最多只支持21亿。 只能绕个弯子,用S变量暂时保存
MOV S1 <$ATTACKMONSTER_HP>
DEC S1 6 10
MOV N$血量 <$str(S1)>
再对变量操作
补充内容 (2021-1-20 14:40):
绕远了,如果是切割怪物血量,怎么不试试M.ADDhpper - 2,哦当前剩余血量啊,那没事了 将30E复制给N变量,得到的结果是-1294967296
实际上N变量,U变量还有G变量保存上限只有17E holgo 发表于 2021-1-20 14:31 只能绕个弯子,用S变量暂时保存
MOV S1
DEC S1 6 10
DEC S1 6 10怎么解?
补充内容 (2021-1-20 14:49):
这样出来的结果,不就是个错误的了? 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就是你想要的结果了 转移到字符型变量 MOV S$血量 <$ATTACKMONSTER_HP> 去掉后面一位数 再去用整数型变量去操作啊 现阶段引擎数值类变量最大只能支持21E 超过21E 会出现负数的
页:
[1]
2