查看: 2094|回复: 8

[已经解决] 修改战斗计算式

[复制链接]
梦石
0
星屑
50
在线时间
47 小时
注册时间
2013-7-14
回帖
30
发表于 2013-7-21 14:10:51 | 显示全部楼层 |阅读模式

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

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

×
我想把战斗计算式改为
(攻击方的LV×0.4+2)×技能威力×攻击方的攻击÷防御方的防御÷50+2。
怎么修改战斗计算式呢?
梦石
0
星屑
244
在线时间
584 小时
注册时间
2012-9-7
回帖
592
发表于 2013-7-21 16:41:27 | 显示全部楼层
攻击方的LV这个有疑问,我方有LV,但敌方没有,战斗计算公式是双方共用,所以你必须重新给每个敌人设置LV才行
改的话是在Game_Battler 3下面127行
# 计算威力
      power = skill.power + user.atk * skill.atk_f / 100
按照自己思路改掉这个即可
FTM正式版已经发布,点击图片开启传送门
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2013-7-14
回帖
30
 楼主| 发表于 2013-7-21 17:53:25 | 显示全部楼层
那把lv改成魔力值吧!
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2013-7-14
回帖
30
 楼主| 发表于 2013-7-21 17:57:49 | 显示全部楼层
我改的:
power = (user.int * 0.4 + 2) * skill.atk * (user.str + usr.atk) / self.dex + 2
但还是出错了,看看哪里错了

点评

另外skill没有atk  发表于 2013-7-21 20:38
usr.atk……  发表于 2013-7-21 20:37
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2013-7-14
回帖
30
 楼主| 发表于 2013-7-22 12:58:26 | 显示全部楼层
我修改后,终于成功了,但攻击时出现了无限循环小数,怎么办??

点评

0.4 是浮点数 运用浮点数计算就会显示小数 比如3/3.0 出现的就会使1.0 而不是1 所以把浮点数换成整数就可以了  发表于 2013-7-22 13:25
回复

使用道具 举报

梦石
0
星屑
34467
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2013-7-22 13:18:12 来自手机 | 显示全部楼层
那个 user.int * 0.4 是小数,所以整个就按小数在计算。 可把:user.int * 0.4换成:user.int * 2 / 5
回复

使用道具 举报

梦石
0
星屑
34467
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2013-7-22 13:19:02 来自手机 | 显示全部楼层
那个 user.int * 0.4 是小数,所以整个就按小数在计算。 可把:user.int * 0.4换成:user.int * 2 / 5

点评

用手机,信号不好,连按了 2 下。  发表于 2013-7-23 14:45
一不小心发现如水大大连楼了、、、、、、、、、、、、、、  发表于 2013-7-22 13:45

评分

参与人数 1星屑 +70 收起 理由
︶ㄣ牛排ぶ + 70 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
242
在线时间
830 小时
注册时间
2010-6-22
回帖
109

开拓者

发表于 2013-7-22 15:34:53 | 显示全部楼层
如果有小數那就捨去小數點後面的數值,或者取到最接近的數值吧。
用 truncate 或 round 就可以。
例如 -> self.damage = self.damage.truncate
           self.damage = self.damage.round

评分

参与人数 1星屑 +80 收起 理由
︶ㄣ牛排ぶ + 80 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2013-7-14
回帖
30
 楼主| 发表于 2013-7-23 12:59:32 | 显示全部楼层
我知道了,谢谢!
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部