Project1

标题: 新建能力显示时报错 [打印本页]

作者: xggzga117    时间: 2014-7-21 20:04
标题: 新建能力显示时报错
在Game_BattlerBase中新建了一个param,
并在Window_Status设定显示,
然后Game_Actor第379行报错(这样表达算清楚吧)。
报错处脚本如下。
  #--------------------------------------------------------------------------
  # ● 获取普通能力的附加值
  #--------------------------------------------------------------------------
  def param_plus(param_id)
    equips.compact.inject(super) {|r, item| r += item.params[param_id] }
  end
作者: taroxd    时间: 2014-7-21 20:25
你只新建了所谓的能力,却没有数据库里的数据当然报错-。-
作者: 3106345123    时间: 2014-7-21 21:02
自定义属性
作者: xggzga117    时间: 2014-7-22 06:49
标题: 如何设定新建能力的数值?
昨天的原帖可以废掉了。https://rpg.blue/thread-368541-1-1.html
鄙人知道要在备注or脚本里写,但是具体的写法不知道。
所以在这里求一个简单的范例。
作者: taroxd    时间: 2014-7-22 07:21
本帖最后由 taroxd 于 2014-7-22 07:37 编辑

读取备注的最简单示例(备注栏上写<strength 233>这种):
RUBY 代码复制
  1. class Game_Actor
  2.   def strength
  3.     actor.note =~ /<strength\s*(\d+)>/ ? $1.to_i : 0
  4.   end
  5. end
  6.  
  7. class Game_Enemy
  8.   def strength
  9.     enemy.note =~ /<strength\s*(\d+)>/ ? $1.to_i : 0
  10.   end
  11. end


要使用这种方法,你需要学会正则表达式。

至于写在脚本编辑器里,你可以这样写
RUBY 代码复制
  1. class Game_Actor
  2.   ACTOR_STRENGTH = Hash.new(0)
  3.   ACTOR_STRENGTH[1] = 233
  4.   ACTOR_STRENGTH[3] = 455
  5.   def strength
  6.     ACTOR_STRENGTH[@actor_id]
  7.   end
  8. end
  9.  
  10. class Game_Enemy
  11.   ENEMY_STRENGTH = Hash.new(0)
  12.   ENEMY_STRENGTH[10] = 233
  13.   ENEMY_STRENGTH[12] = 455
  14.   def strength
  15.     ENEMY_STRENGTH[@enemy_id]
  16.   end
  17. end


同样是最简单的做法了。至于升级后加属性,装备加属性这些东西,也都是以这样的方法来设置你的数据库。

以上内容均为直接在记事本中打出,没有经过实际测试。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1