设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5581|回复: 24
打印 上一主题 下一主题

[已经解决] 怎样让变量支持小数?

[复制链接]

Lv2.观梦者

梦石
0
星屑
615
在线时间
84 小时
注册时间
2012-8-12
帖子
178
跳转到指定楼层
1
发表于 2018-10-13 16:19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我想让1~10号变量支持小数,请问该怎么修改脚本?

Lv5.捕梦者

梦石
0
星屑
39034
在线时间
5725 小时
注册时间
2006-11-10
帖子
6622
2
发表于 2018-10-13 16:35:06 | 只看该作者
本帖最后由 灯笼菜刀王 于 2018-10-13 16:57 编辑

你说的支持小数是什么意思?

要赋值小数, 直接赋值,               $game_variables[1] = 1.0
要用小数计算, 直接计算            $game_variables[1] *= 0.5
要以小数表示,                          $game_variables[1].to_f
要判断是否小数,                       $game_variables[1].is_a?(Float)
要显示小数点后5位的字符串     sprintf("%.5f", $game_variables[1])

点评

別老勾鼻子  发表于 2018-10-13 21:55
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
615
在线时间
84 小时
注册时间
2012-8-12
帖子
178
3
 楼主| 发表于 2018-10-13 17:53:33 | 只看该作者
灯笼菜刀王 发表于 2018-10-13 14:35
你说的支持小数是什么意思?

要赋值小数, 直接赋值,               $game_variables[1] = 1.0

想让这10个变量跟角色的能力值有一样的表达效果。
就打比方说
力量10,增加0.5后,状态栏还是显示10,要再加0.5才会显示11
而你说的方法。
变量1为10,增加0.5后,状态栏里显示的是10.5,不是10。
会保留小数点。
怎么样让变量跟力量等数值一样的显示?
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39034
在线时间
5725 小时
注册时间
2006-11-10
帖子
6622
4
发表于 2018-10-13 18:36:35 | 只看该作者
火焰卷轴 发表于 2018-10-13 17:53
想让这10个变量跟角色的能力值有一样的表达效果。
就打比方说
力量10,增加0.5后,状态栏还是显示10,要 ...

  p Integer($game_variables[1])
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
615
在线时间
84 小时
注册时间
2012-8-12
帖子
178
5
 楼主| 发表于 2018-10-13 21:27:12 | 只看该作者
灯笼菜刀王 发表于 2018-10-13 16:36
p Integer($game_variables[1])

Integer($game_variables[1])
$game_variables[1] += 0.5
无论加多少次0.5都得不到1是什么情况?

点评

你得计算完整数化才有用..  发表于 2018-10-14 11:08
自帶的系統会吧數据自动to_i (化為整數) 所以你得用自己的變量去改,  发表于 2018-10-13 21:58
數据庫內計算不能用小數吧? 要用腳本才能用  发表于 2018-10-13 21:55
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36477
在线时间
10808 小时
注册时间
2009-3-15
帖子
4815
6
发表于 2018-10-14 11:11:50 | 只看该作者
$game_variables[1] = 10
$game_variables[1] += 0.5 #10.5
显示变量Integer($game_variables[1])#10
$game_variables[1] += 0.5 #11
显示变量Integer($game_variables[1])#11
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2263
在线时间
176 小时
注册时间
2018-5-11
帖子
144
7
发表于 2018-10-14 16:34:05 | 只看该作者
楼主的意思应该是不让在状态栏里的值显示出来吧
人生总会有中二的时候,比如现在
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
615
在线时间
84 小时
注册时间
2012-8-12
帖子
178
8
 楼主| 发表于 2018-10-14 17:38:09 | 只看该作者
soulsaga 发表于 2018-10-14 09:11
$game_variables[1] = 10
$game_variables[1] += 0.5 #10.5
显示变量Integer($game_variables[1])#10

没用,你的方法还是显示10
可否提供一下范例
最好可以在变量脚本修改

点评

你可以试试楼下的方法..  发表于 2018-10-14 18:16
我这个方法是+0.5后显示还是10实际数值是10.5  发表于 2018-10-14 18:12
你的要求不就是要显示10么..  发表于 2018-10-14 18:08
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4007
在线时间
604 小时
注册时间
2017-4-21
帖子
229
9
发表于 2018-10-14 18:04:15 | 只看该作者
火焰卷轴 发表于 2018-10-14 17:38
没用,你的方法还是显示10
可否提供一下范例
最好可以在变量脚本修改

$game_variables[1] = 10.0
#这样变量才会支持小数计算
$game_variables[1] += 0.5
#再执行+0.5才有效果吧

点评

不过不排除我的XP版本太旧..会有差别..  发表于 2018-10-14 18:14
不用10.0可以正常计 算小数的..  发表于 2018-10-14 18:13
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
615
在线时间
84 小时
注册时间
2012-8-12
帖子
178
10
 楼主| 发表于 2018-10-14 18:21:37 | 只看该作者
@soulsaga
我想要的是加一次0.5时显示10
加第二次后显示11

点评

我测试过确实是这样显示的..  发表于 2018-10-14 18:26
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-1 00:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表