查看: 2059|回复: 5

[已经解决] nil can't be coerced into fixnum

[复制链接]
梦石
0
星屑
50
在线时间
44 小时
注册时间
2015-2-28
回帖
12
发表于 2016-5-3 00:07:25 | 显示全部楼层 |阅读模式

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

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

×
不好意思最近问题真的很多,我测试游戏 一切正常,但是我只要一把用对象是我方hp0的药品用在活人身上,rtab脚本就会出错
出错的部分行数
#------------------------------------------------- -------------------------
  # ● ダメージ演算
  #------------------------------------------------- -------------------------
  def damage_effect(battler, item)
    if item == 2
        self.hp ​​+= self.recover_hp[battler]
      self.sp += self.recover_sp[battler]
      if self.recover_sp[battler] != 0
        self.damage_sp[battler] = -self.recover_sp[battler]
      end
    else
      if self.damage[battler].class != String
        self.hp ​​-= self.damage[battler]
      end
    end
    for i in self.state_p[battler]
      add_state(i)
    end
    for i in self.state_m[battler]
      remove_state(i)
    end
  end

使用复活技能不会出错 但是药品会出错
提示是
nil can't be coerced into fixnum
如果有需要 我再发工程上来....

点评

我记得有人好像也遇到过复活药用活人的问题,他解决了。但是记不住是谁了  发表于 2016-5-3 09:56
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-5-3 12:16:08 | 显示全部楼层
判断里面加个self.hp == 0来判断被使用者是不是0HP的人
回复

使用道具 举报

梦石
0
星屑
50
在线时间
44 小时
注册时间
2015-2-28
回帖
12
 楼主| 发表于 2016-5-3 19:18:09 | 显示全部楼层
请问具体该怎么加?我加self.hp ​​== 0到这段脚本中,使用复活药都出错!
回复

使用道具 举报

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
回帖
187
发表于 2016-5-3 19:30:04 | 显示全部楼层
查看 Game_Battler 3 中 item_effect(item) 方法下 :
  1. if ((item.scope == 3 || item.scope == 4) && (self.hp == 0)) || ((item.scope == 5 || item.scope == 6) && (self.hp >= 1))
  2.   return false
  3. end
复制代码
有没有改动
我的博客:http://wang1212.github.io/
回复

使用道具 举报

梦石
0
星屑
50
在线时间
44 小时
注册时间
2015-2-28
回帖
12
 楼主| 发表于 2016-5-3 20:14:33 | 显示全部楼层
没有改动,但是Game_Battler 3 被RTAB重新定义过的,上面我发的那段脚本是RTAB报错,抱歉我刚开始问题没有描述清楚,我该从RTAB中哪里加入这段呢?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
44 小时
注册时间
2015-2-28
回帖
12
 楼主| 发表于 2016-5-3 20:25:12 | 显示全部楼层
问题解决了 谢谢你们帮助
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部