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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
1572
在线时间
105 小时
注册时间
2011-2-5
帖子
3
跳转到指定楼层
1
发表于 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
复制代码

Lv1.梦旅人

梦石
0
星屑
202
在线时间
498 小时
注册时间
2006-10-21
帖子
907
2
发表于 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的存在了……
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 22:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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