本帖最后由 taroxd 于 2013-12-26 06:41 编辑
按照第二种方式写的话,最后未完成的结果如下(删去冗长的注释,可自行补加):
class RPG::BaseItem
def fri
@note =~ /<FRI\s+( -*\d+) >/i ? $1 .to_i : 0
end
end
class Game_BattlerBase
attr_reader :fri_plus
def fri
( fri_base + fri_plus) * fri_rate
end
alias fri_initialize initialize
def initialize
fri_initialize
@fri_plus = 0
end
def add_fri( fri) #用于事件中增减属性
@fri_plus += fri
refresh
end
def fri_base
return 0
end
def fri_rate
return 1 #根据实际情况更改!
end
end
class Game_Actor
def fri_base
[ url=home.php ?mod=space&uid=22147 ] @level[ /url] * 2 + 1 #根据实际情况更改!
#多余的东西不要看,你懂的
end
def fri_plus
equips.compact .inject ( super ) { |r, item| r + item.fri }
end
end
class Game_Enemy
def fri_base
enemy.fri
end
end
class RPG::BaseItem
def fri
@note =~ /<FRI\s+( -*\d+) >/i ? $1 .to_i : 0
end
end
class Game_BattlerBase
attr_reader :fri_plus
def fri
( fri_base + fri_plus) * fri_rate
end
alias fri_initialize initialize
def initialize
fri_initialize
@fri_plus = 0
end
def add_fri( fri) #用于事件中增减属性
@fri_plus += fri
refresh
end
def fri_base
return 0
end
def fri_rate
return 1 #根据实际情况更改!
end
end
class Game_Actor
def fri_base
[ url=home.php ?mod=space&uid=22147 ] @level[ /url] * 2 + 1 #根据实际情况更改!
#多余的东西不要看,你懂的
end
def fri_plus
equips.compact .inject ( super ) { |r, item| r + item.fri }
end
end
class Game_Enemy
def fri_base
enemy.fri
end
end
没有环境,有错误请指正