Project1

标题: 有没有1个脚本,让人物打BOSS,最高扣20000HP [打印本页]

作者: qq1515200117    时间: 2013-11-23 13:05
标题: 有没有1个脚本,让人物打BOSS,最高扣20000HP
本帖最后由 qq1515200117 于 2013-11-23 13:11 编辑

有没有1个脚本,让人物打BOSS,最高扣20000HP
作者: 凝望·流年    时间: 2013-11-23 13:44
这不就是修改特技的能力吗?
作者: 抖S的二二    时间: 2013-11-24 05:47
是限制最高输出上限么。
作者: qq1515200117    时间: 2013-11-24 08:01
抖S的二二 发表于 2013-11-24 05:47
是限制最高输出上限么。

对,就是限制最高输出上限
作者: a364774426    时间: 2013-11-24 10:51
在脚本编辑器的Game_Battler中找到这两段
  def make_attack_damage_value(attacker)
    damage = attacker.atk * 4 - self.def * 2        # 基础计算
    damage = 0 if damage < 0                        # 设负数伤害为 0
    damage *= elements_max_rate(attacker.element_set)   # 属性校正
    damage /= 100
    if damage == 0                                  # 若伤害为 0
      damage = rand(2)                              # 一半机率伤害为1
    elsif damage > 0                                # 若伤害为正数
      @critical = (rand(100) < attacker.cri)        # 会心一击判断
      @critical = false if prevent_critical         # 防止会心一击判断
      damage *= 3 if @critical                      # 会心一击校正
    end
    if self.is_a?(Game_Enemy) and self.id == xx      ##这里的xx就是敌人数据库中BOSS的ID
        if damage > 20000                                     ##当伤害超过20000时
        damage = 20000                                   ##将伤害调整为20000
        end
    end

    damage = apply_variance(damage, 20)             # 分散度
    damage = apply_guard(damage)                    # 防御校正
    @hp_damage = damage                             # 体力伤害
  end
  #--------------------------------------------------------------------------
  # ● 计算技能/物品伤害
  #     user : 技能或物品的使用者
  #     obj  : 使用的技能或物品
  #    计算结果赋值入 @hp_damage
  #--------------------------------------------------------------------------
  def make_obj_damage_value(user, obj)
    damage = obj.base_damage                        # 基础计算
    if damage > 0                                   # 若伤害为正
      damage += user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
      damage += user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
      unless obj.ignore_defense                     # 除非无视防御力
        damage -= self.def * 2 * obj.atk_f / 100    # 目标攻击力关系度
        damage -= self.spi * 1 * obj.spi_f / 100    # 目标精神力关系度
      end
      damage = 0 if damage < 0                      # 设负数伤害为0
    elsif damage < 0                                # 若伤害为负
      damage -= user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
      damage -= user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
    end
    damage *= elements_max_rate(obj.element_set)    # 属性校正
    damage /= 100
    damage = apply_variance(damage, obj.variance)   # 分散度
    damage = apply_guard(damage)                    # 防御校正

  if self.is_a?(Game_Enemy) and self.id == xx      ##这里的xx就是敌人数据库中BOSS的ID
        if damage > 20000                                     ##当伤害超过20000时
        damage = 20000                                   ##将伤害调整为20000
        end
    end

    if obj.damage_to_mp  
      @mp_damage = damage                           # 伤害魔力
    else
      @hp_damage = damage                           # 伤害体力
    end
  end
作者: qq1515200117    时间: 2013-11-29 18:14
a364774426 发表于 2013-11-24 10:51
在脚本编辑器的Game_Battler中找到这两段
  def make_attack_damage_value(attacker)
    damage = attacke ...

你能给个范例吗?
作者: gm741852963    时间: 2014-2-7 06:36
那麼如果我的道具是直接扣除敵人100%的HP
那麼會跟限制最高傷害輸出起衝突嗎?




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