Project1

标题: 想加入新的人物属性 [打印本页]

作者: dukesward    时间: 2009-10-25 10:13
标题: 想加入新的人物属性
本帖最后由 凌辰 于 2009-10-25 10:16 编辑

想知道比如要加入类似耐力这种属性,直接影响HP值的,那要在脚本中修改多少呢?是只要修改game_ battler就够了还是要改别的
另外,game_ battler中我看到有这样的句式:@hp = [[hp, maxhp].min, 0].max 请问这怎么翻译?那个min和max什么的是什么意思,刚学RUBY不大懂又找不到相关的书
作者: 傲慢的裁决    时间: 2009-10-25 17:22
= =看置顶,置顶没有就求达人做吧....
我觉得这个想法很好,但是搞起来也很疯狂,真的。
作者: secondsen    时间: 2009-10-25 18:47
min数组中的最小值,max数组中的最大值,看英文也能知道啊。。。
作者: wsmyzc    时间: 2009-10-26 17:36
新人物属性是很麻烦的。可以参照那个横版整合2.7。。里面有新的属性,也就是魔防
作者: 后知后觉    时间: 2009-10-27 00:10
加个新属性也没那么麻烦的吧
比如要加个新属性叫 np
先找到这个方法在最后加个 @np_plus = 0
  #--------------------------------------------------------------------------
  # ● 能力値に加算する値をクリア
  #--------------------------------------------------------------------------
  def clear_extra_values
    @maxhp_plus = 0
    @maxmp_plus = 0
    @atk_plus = 0
    @def_plus = 0
    @spi_plus = 0
    @agi_plus = 0
    @np_plus = 0
  end
然后全局搜索 def agi
把这整个方法COPY一次再咱贴出来后改成
  def np
    n = [[base_np + @np_plus, 1].max, 999].min
    return n
  end
要注意的是这里去除了状态的影响效果.想要状态效果的话要追加状态部分才行
然后接着全局搜索 def agi=
同样复制再咱贴出来并改成
  def np=(new_np)
    @np_plus += new_np - self.np
    @np_plus = [[@np_plus, -999].max, 999].min
  end
然后全局搜索 def base_agi
搜索出来2个结果.一个是actor的.一个是enemy的
分别复制后咱贴出来把def base_agi改成 def base_np
这个np属性还要影响hp
那就全局搜索 def maxhp
改成
  def maxhp
    return [[base_maxhp + @maxhp_plus + np, 1].max, maxhp_limit].min
  end
这样最基本的模型就完成了.接下来需要做的就是让这个新的属性不和agi一模一样




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