Project1

标题: 请教P叔,关于你整合系统的问题。 [打印本页]

作者: crow2006    时间: 2013-7-3 15:27
标题: 请教P叔,关于你整合系统的问题。
你在http://rpg.blue/forum.php?mod=viewthread&tid=227667帖子中说:

把以下脚本代替到Scene_Base类下第46行的更新画面的定义:def update
#假定镜子盾是20号防具,反射状态是15号状态   
def update
  for i in 0...$game_party.members.size
    if $game_actors.armors.include?($data_armors[20])
      $game_actors.add_state(15)
    else
      $game_actors.remove_state(15)
    end
  end
end

在你的整合系统中放上这段脚本无效。装备和防具好像被随机属性、装备升级重新定义了。
不知应该如何写。请赐教。
同理还有这句脚本:
  #--------------------------------------------------------------------------
  # ● 发动普通攻击
  #     attacker : 攻击者
  #--------------------------------------------------------------------------
  def attack_effect(attacker)
    $array = [31, 32] # 方括号内的数字为吸血武器的武器ID,如果有多个武器的话
                      # 中间请用半角逗号隔开。
    clear_action_results
    unless attack_effective?(attacker)
      @skipped = true
      return
    end
    if rand(100) >= calc_hit(attacker)            # 计算命中率
      @missed = true
      return
    end
    if rand(100) < calc_eva(attacker)             # 计算闪躲率
      @evaded = true
      return
    end
    make_attack_damage_value(attacker)            # 计算伤害
    execute_damage(attacker)                      # 伤害效果
    if @hp_damage == 0                            # 判断是否有物理伤害
      return                                    
    end
    apply_state_changes(attacker)                 # 增减状态
    if attacker.is_a?(Game_Actor)                 # 如果攻击者是“主角”
      b = attacker.weapon_id
      if $array.include?(b)                       # 判断主角是否装备了吸血武器
        attacker.hp += @hp_damage / 10            # 给攻击者加血,这里加血的比例是对敌人造成的伤害的十分之一
      end
    end
  end

上面的 b = attacker.weapon_id在整合系统中也是无效的,请赐教。
非常感谢。
作者: Password    时间: 2013-7-3 18:22
本帖最后由 Password 于 2013-7-3 18:24 编辑

  1. b = attacker.weapon_id
  2.       if $array.include?(b)                       # 判断主角是否装备了吸血武器
  3.         attacker.hp += @hp_damage / 10            # 给攻击者加血,这里加血的比例是对敌人造成的伤害的十分之一
  4.       end
复制代码
直接改为
  1. if $array.include?(attacker.weapon_id)                       # 判断主角是否装备了吸血武器
  2.     attacker.hp += @hp_damage / 10            # 给攻击者加血,这里加血的比例是对敌人造成的伤害的十分之一
  3. end
复制代码
试试?

另外……P叔是@protosssonny  
作者: crow2006    时间: 2013-7-3 22:48
非常感谢,明天到班上试试,家里的下午没改。
作者: 怪蜀黍    时间: 2013-7-11 20:09
  1. attacker.hp += @hp_damage / 10  if attacker.weapons.any?{|i| $array.include?(i.base_id)} if attacker.weapons != [nil]
复制代码





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