查看: 2627|回复: 1

[已经解决] 不会使用脚本Taroxd::ElementEffect = true提示错误这个怎解决?

[复制链接]
梦石
0
星屑
438
在线时间
32 小时
注册时间
2019-7-2
回帖
2
发表于 2019-7-4 11:19:48 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
# @taroxd metadata 1.0
# @display 属性修正的扩展
# @require taroxd_core
# @id element_effect
# @help
#             表示该角色/该职业/习得技能后/装上装备后/该敌人/获得状态后,
#             战斗者使用第 id 号属性的技能时,效果乘以 rate

Taroxd::ElementEffect = true

class RPG::BaseItem
  # 属性效果构成的 hash,属性ID => 效果
  def element_effect
    @element_effect ||= @note.scan(/<ELEMENT\s+(\d+)\s+(\d+(?:\.\d+)?)>/i)
      .each_with_object(Hash.new(1.0)) { |(id, rate), hash|
        hash[id.to_i] *= rate.to_f }
  end
end

class Game_Battler < Game_BattlerBase
  def element_effect
    note_objects.each_with_object(Hash.new(1.0)) do |e, h|
      h.merge!(e.element_effect) { |_, r1, r2| r1 * r2 }
    end
  end

  calc_new_rate = lambda do |old, user, item|
    if item.damage.element_id < 0
      user.atk_elements.pi(old) { |id| user.element_effect[id] }
    else
      old * user.element_effect[item.damage.element_id]
    end
  end
  def_with :item_element_rate, calc_new_rate
end
风缠云,不知所起
梦石
0
星屑
9862
在线时间
580 小时
注册时间
2017-9-28
回帖
203
发表于 2019-7-4 11:40:16 | 显示全部楼层
你需要在它前面放一个 Taroxd 基础设置 脚本
(# @require taroxd_core 这句就是这个意思)

评分

参与人数 1星屑 +30 收起 理由
VIPArcher + 30 我很赞同

查看全部评分

喵喵喵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部