查看: 1850|回复: 1

[已经解决] 某职业脚本的问题

[复制链接]
梦石
0
星屑
1572
在线时间
105 小时
注册时间
2011-2-5
回帖
0
发表于 2011-3-6 18:19:14 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 BQICEX 于 2011-3-6 18:22 编辑

就是下面这段脚本,在变更职业时会出现NoMethodError,找不到parameters。不过当角色变更成已加入队伍的角色的职业时就会没问题。请求修复方法。本人是脚本盲...
  1. class Game_Actor < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # * 获取初始HP上限值资讯
  4.   #--------------------------------------------------------------------------
  5.   def base_maxhp
  6.     return $data_actors[self.class.id].parameters[0, @level]
  7.   end
  8.   #--------------------------------------------------------------------------
  9.   # * 获取初始MP上限值资讯
  10.   #--------------------------------------------------------------------------
  11.   def base_maxmp
  12.     return $data_actors[self.class.id].parameters[1, @level]
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # * 获取初始攻击力资讯
  16.   #--------------------------------------------------------------------------
  17.   def base_atk
  18.     n = $data_actors[self.class.id].parameters[2, @level]
  19.     for item in equips.compact do n += item.atk end
  20.     return n
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # * 获取初始防御力资讯
  24.   #--------------------------------------------------------------------------
  25.   def base_def
  26.     n = $data_actors[self.class.id].parameters[3, @level]
  27.     for item in equips.compact do n += item.def end
  28.     return n
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # * 获取初始精神意志力资讯
  32.   #--------------------------------------------------------------------------
  33.   def base_spi
  34.     n = $data_actors[self.class.id].parameters[4, @level]
  35.     for item in equips.compact do n += item.spi end
  36.     return n
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # * 获取初始机敏性资讯
  40.   #--------------------------------------------------------------------------
  41.   def base_agi
  42.     n = $data_actors[self.class.id].parameters[5, @level]
  43.     for item in equips.compact do n += item.agi end
  44.     return n
  45.   end
  46. end
复制代码
梦石
0
星屑
202
在线时间
498 小时
注册时间
2006-10-21
回帖
859
发表于 2011-3-6 18:58:10 | 显示全部楼层
当然要出错,关键分析一下你这句
$data_actors[self.class.id].parameters[0, @level]
self.class.id 就是指你角色职业的ID
$data_actors[self.class.id] 就是你根据所用角色对应的职业ID所决定的角色……是不是很乱……

脚本出现问题原因无非是 self.class.id 的值,换职业时,它过大或者是nil或0都会导致
$data_actors[self.class.id] == nil
自然不会有其属性parameters的存在了……
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部