查看: 1251|回复: 3

[已经解决] 经验槽99级满经验 会报错 怎么解决?

  [复制链接]
梦石
0
星屑
296
在线时间
217 小时
注册时间
2008-12-18
回帖
30
发表于 2009-11-4 10:16:07 | 显示全部楼层 |阅读模式

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

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

×
class Game_Actor < Game_Battler
  def now_exp
    return @exp - @exp_list[@level]
  end
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end

class Window_Base < Window
  def EXP(actor,x,y,w=125)
  self.contents.fill_rect(x-2,y+20,w+4,11,Color.new(255,255,255,255))
  self.contents.fill_rect(x-1,y+21,w+2,9,Color.new(0,0,0,255))
    w1 = w * actor.now_exp / actor.next_exp
  self.contents.fill_rect(x-1,y+21,w1,1,Color.new(0,120,210,255))
  self.contents.fill_rect(x-1,y+22,w1,1,Color.new(0,120,230,255))
  self.contents.fill_rect(x-1,y+23,w1,1,Color.new(0,120,250,255))
  self.contents.fill_rect(x-1,y+24,w1,1,Color.new(0,120,270,255))
  self.contents.fill_rect(x-1,y+25,w1,1,Color.new(0,125,290,255))
  self.contents.fill_rect(x-1,y+26,w1,1,Color.new(0,120,270,255))
  self.contents.fill_rect(x-1,y+27,w1,1,Color.new(0,120,250,255))
  self.contents.fill_rect(x-1,y+28,w1,1,Color.new(0,120,230,255))
  self.contents.fill_rect(x-1,y+29,w1,1,Color.new(0,120,210,255))
end

只要一满级 在打开界面就会报错
谁来帮忙加个判定什么的

剑圣

梦石
0
星屑
50
在线时间
122 小时
注册时间
2008-8-31
回帖
672
发表于 2009-11-4 10:35:34 | 显示全部楼层
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0

w1 = w * actor.now_exp / actor.next_exp

问题在这两句,当满级后.next_exp返回的是0,
下一句就会出现分母为0的情况。

一个简单的解决办法是把第二句改成
w1 = w
w1 = w * actor.now_exp / actor.next_exp if actor.next_exp != 0

PC/IOS/Android共享的RM RPG:未名大学
回复

使用道具 举报

梦石
0
星屑
296
在线时间
217 小时
注册时间
2008-12-18
回帖
30
 楼主| 发表于 2009-11-4 11:27:09 | 显示全部楼层
报错解决了
但为什么 经验值满级后
顶不到头?
回复

使用道具 举报

梦石
0
星屑
296
在线时间
217 小时
注册时间
2008-12-18
回帖
30
 楼主| 发表于 2009-11-4 11:33:04 | 显示全部楼层
OK ~!自己解决了~!
w1 = w+2
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部