查看: 1333|回复: 5

[已经解决] 事件中小数点计算导致的问题.

  [复制链接]
梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
回帖
772
发表于 2009-8-5 17:12:56 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 jhhuang 于 2009-8-6 03:59 编辑

HP/(MAXHP/100)中忽略小数点导致计算的偏差有人知道怎么解决吗?

打个比方:我HP=2062,满血
按图片上的计算是MAXHP=2062/100=20(除去小数点)
                               HP=2062/20=103
也就是说满血的时候- -显示的数字是103%血
未命名.jpg

孤独守望

梦石
0
星屑
3144
在线时间
1535 小时
注册时间
2006-10-16
回帖
4223

开拓者贵宾

发表于 2009-8-5 17:14:30 | 显示全部楼层
改成100.0,20.0试试看
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
回帖
772
 楼主| 发表于 2009-8-5 17:37:18 | 显示全部楼层

事件中小数点计算导致的问题.

不会是这样吧- -?好像不行~好乱
未命名.jpg
回复

使用道具 举报

梦石
0
星屑
50
在线时间
128 小时
注册时间
2009-1-28
回帖
2695
发表于 2009-8-5 18:12:33 | 显示全部楼层
本帖最后由 霜冻之狼 于 2009-8-5 18:14 编辑

默认的战斗脚本里就有忽略小数点获取整数的运算:
# 属性修正
self.damage *= elements_correct(attacker.element_set)
self.damage /= 100

比如让变量乘于150,再除于100就能获得整数

炼金术的根本法则是等价交换。想要获得,必须失去同等价值的东西。每当烦躁的时候,煎熬在不想做却又正在做的烦心事中的时候,我就安慰自己,提醒自己做这些事情的目的所在,告诉自己不要忽略所获得或者即将获得的回报,物质的,精神的,肉体的,灵魂的回报!只做想做的事情,就会失去不想失去的东西。
回复

使用道具 举报

梦石
0
星屑
7095
在线时间
1666 小时
注册时间
2008-10-29
回帖
6612

贵宾

发表于 2009-8-5 18:27:08 | 显示全部楼层
本帖最后由 后知后觉 于 2009-8-5 18:41 编辑

n = 2062 / (2062 / 100.0)
n = n.to_i

数据库的变量好像不能赋值浮点数又或者是在某种情况下
浮点数会被自动转换成整数- - 不太清楚- -
用事件里的脚本指令吧

actor = $game_actors[角色ID]
n=$game_variables[5] = actor.maxhp
m=$game_variables[6] = actor.hp
$game_variables[6] = (n/(n/100.0)).to_i











你知道得太多了

回复

使用道具 举报

梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
回帖
772
 楼主| 发表于 2009-8-6 03:59:08 | 显示全部楼层
其实是(m/(n/100.0))
maxhp/hp的
试了下~好像没问题,又学到东西鸟,感谢.
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部