Project1

标题: 进来看看我这个角色新加的变量该怎么改 [打印本页]

作者: yang1zhi    时间: 2016-4-13 22:51
标题: 进来看看我这个角色新加的变量该怎么改
我给角色设置了个体值努力值。
可是我角色加入选初始化,那么角色的个体值就会重复刷两次,这样当前HP和MXHP,SP,就对不上
RUBY 代码复制
  1. class Game_Battler
  2.           attr_accessor :nl_zh
  3.      attr_accessor :nl_maxhp
  4.      attr_accessor :nl_maxsp
  5.      attr_accessor :nl_str
  6.      attr_accessor :nl_dex
  7.      attr_accessor :nl_agi
  8.      attr_accessor :nl_int
  9.      attr_accessor :gtz_maxhp
  10.      attr_accessor :gtz_maxsp
  11.      attr_accessor :gtz_str
  12.      attr_accessor :gtz_dex
  13.      attr_accessor :gtz_agi
  14.      attr_accessor :gtz_int
  15.  
  16.      alias initialize2016412 initialize
  17.   def initialize
  18.     initialize2016412
  19.     #初始努力值   
  20.     @nl_zh = 600
  21.     @nl_maxhp = 0
  22.     @nl_maxsp = 0
  23.     @nl_str = 0
  24.     @nl_dex = 0
  25.     @nl_agi = 0
  26.     @nl_int = 0
  27.     #个体值
  28.    @gtz_maxhp = rand(31)
  29.    @gtz_maxsp = rand(31)
  30.    @gtz_str = rand(31)
  31.    @gtz_dex = rand(31)
  32.    @gtz_agi = rand(31)
  33.    @gtz_int = rand(31)
  34.  
  35.   end
  36. end
  37.  
  38. class Game_Actor < Game_Battler
  39.        attr_accessor :nl_zh
  40.      attr_accessor :nl_maxhp
  41.      attr_accessor :nl_maxsp
  42.      attr_accessor :nl_str
  43.      attr_accessor :nl_dex
  44.      attr_accessor :nl_agi
  45.      attr_accessor :nl_int
  46.      attr_accessor :gtz_maxhp
  47.      attr_accessor :gtz_maxsp
  48.      attr_accessor :gtz_str
  49.      attr_accessor :gtz_dex
  50.      attr_accessor :gtz_agi
  51.      attr_accessor :gtz_int
  52.  
  53.      alias setup2016412 setup
  54.     def setup(actor_id)
  55.     setup2016412(actor_id)
  56.     #初始努力值   
  57.     @nl_zh = 600
  58.     @nl_maxhp = 0
  59.     @nl_maxsp = 0
  60.     @nl_str = 0
  61.     @nl_dex = 0
  62.     @nl_agi = 0
  63.     @nl_int = 0
  64.     #个体值
  65.    @gtz_maxhp = rand(31)
  66.    @gtz_maxsp = rand(31)
  67.    @gtz_str = rand(31)
  68.    @gtz_dex = rand(31)
  69.    @gtz_agi = rand(31)
  70.    @gtz_int = rand(31)
  71.  
  72.   end
  73. end

作者: 喵呜喵5    时间: 2016-4-13 23:27
……所以你为什么要刷两遍?
作者: yang1zhi    时间: 2016-4-13 23:33
喵呜喵5 发表于 2016-4-13 23:27
……所以你为什么要刷两遍?

我要是不在Game_Battler里面设置,那么游戏中就P不出来,也不能在
    n = [[base_maxhp + @maxhp_plus + @gtz_maxhp +@nl_maxhp / 4, 1].max, 999999].min
会是没有定义@gtz_maxhp。
要是没在Game_Actor < Game_Battler里面设置,初始化角色入队就不会刷新@gtz_maxhp
作者: 喵呜喵5    时间: 2016-4-13 23:36
那你刷新第二遍结束之后再重新计算一下会出错的能力值不就好了




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