Project1

标题: 我在这个脚本里添加了HPSP为什么会报错 [打印本页]

作者: yang1zhi    时间: 2015-11-17 18:58
标题: 我在这个脚本里添加了HPSP为什么会报错
本帖最后由 yang1zhi 于 2015-11-17 20:15 编辑

是使用道具加入新队友时报错
RUBY 代码复制
  1. module Fy
  2.   #下面填职业增加的属性对应数值,职业ID=>[四项属性增加值] , 四项属性依次是:
  3.   #[力量,灵巧,速度,魔力] , 下面只有楼主所说的战士(职业ID:1)法师(职业ID:2),
  4.   #其他就照格式添加。
  5.   Class_additions = {1=>[0,0,0,0,100,0], 2=>[0,0,0,0,0,1000]}
  6. end
  7. class Game_Actor < Game_Battler
  8.   #--------------------------------------------------------------------------
  9.   # ● 获取基本力量
  10.   #--------------------------------------------------------------------------
  11.   alias additions_str base_str
  12.   def base_str
  13.     return [[additions_str+Fy::Class_additions[@class_id][0], 1].max, 999].min
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 获取基本灵巧
  17.   #--------------------------------------------------------------------------
  18.   alias additions_dex base_dex
  19.   def base_dex
  20.     return [[additions_dex+Fy::Class_additions[@class_id][1], 1].max, 999].min
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 获取基本速度
  24.   #--------------------------------------------------------------------------
  25.   alias additions_agi base_agi
  26.   def base_agi
  27.     return [[additions_agi+Fy::Class_additions[@class_id][2], 1].max, 999].min
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 获取基本魔力
  31.   #--------------------------------------------------------------------------
  32.   alias additions_int base_int
  33.   def base_int
  34.     return [[additions_int+Fy::Class_additions[@class_id][3], 1].max, 999].min
  35.   end
  36. #--------------------------------------------------------------------------
  37.   # ● 获取基本HP
  38.   #--------------------------------------------------------------------------
  39.   alias additions_maxhp base_maxhp
  40.   def base_maxhp
  41.     return [[additions_maxhp+Fy::Class_additions[@class_id][4], 1].max, 9999].min
  42.   end
  43.     #--------------------------------------------------------------------------
  44.   # ● 获取基本SP
  45.   #--------------------------------------------------------------------------
  46.   alias additions_maxsp base_maxsp
  47.   def base_maxsp
  48.     return [[additions_maxsp+Fy::Class_additions[@class_id][5], 1].max, 9999].min
  49.   end
  50. end

作者: cinderelmini    时间: 2015-11-18 12:50
大概你一开始队友只有2个,分别职业是1号和2号,所以没事。。。
然后新加的队友的职业是其他ID,所以读到了nil。

在一开始的module Fy里加职业,一开始只有1和2,自己再往下加,比如:

  1. Class_additions = {
  2. 1 => [0,0,0,0,100,0],
  3. 2 => [0,0,0,0,0,1000],
  4. 3 => [1,2,3,4,5,233],
  5. 4 => [2,2,3,8,7,2333],
  6. #职业ID => [各项数值]
  7. }
复制代码

作者: 枫の叶    时间: 2015-11-18 17:12
本帖最后由 枫の叶 于 2015-11-18 17:14 编辑

注意:原脚本只有 四项属性 ,并不包含 HP 和 SP , 是不能乱添加的。

设置项弄成2L那样,多加2个项目,再对应的添加就可以实现。
作者: cinderelmini    时间: 2015-11-18 20:53
本帖最后由 cinderelmini 于 2015-11-18 20:57 编辑


总之……请看图……
职业ID是指这个ID……




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