Project1

标题: 问下脚本伤害角色和伤害敌人的区别 [打印本页]

作者: feizhaodan    时间: 2011-3-26 20:54
标题: 问下脚本伤害角色和伤害敌人的区别
本帖最后由 feizhaodan 于 2011-3-26 21:00 编辑

自己编了个脚本,里头用随机数来决定伤害对象,但怎么改都是敌人受伤。问下为什么。dsu_plus_rewardpost_czw
作者: 忧雪の伤    时间: 2011-3-27 10:22
关键是对象目标是enemy还是actor的问题……
作者: feizhaodan    时间: 2011-3-27 13:34
  def random_event
    for actor in $game_party.actors
      if actor.state?(21)
        @event_target_control = true
      end
    end
    if @event_target_control = true
      @event_target_large = rand(3)
    else
      @event_target_large = 2
    end
    print @event_target_large
    if @event_target_large = 0 or @event_target_large = 1 #当为零时对象为敌人
      battler = $game_troop.random_target_enemy(false) #随机对象
      for actor in $game_party.actors
        if actor.level > @random_higest_level
          @random_higest_level = actor.level
        end
      end
      if @random_higest_level >= 10
        @damage_multyplyer = 10 + @random_higest_level / 10  
      else
        @damage_multyplyer = @random_higest_level
      end
      @random_event_damage = rand(201) * @damage_multyplyer  #随机伤害= 随机数*倍率
      @event_effect = rand(2)  #决定是恢复还是伤害
      if @event_effect = 1     #当1时恢复
        @random_event_damage * -1   
      end
      battler.damage = @random_event_damage     #开始显示伤害
      if @random_event_damage >= 200 * @damage_multyplyer / 2   #当伤害高于最大值的一般时显示暴击
        battler.critical = true
        $game_variables[14] += 1    #当暴击时增加RP
      end
      battler.damage_pop = true          #显示伤害
      battler.hp -= @random_event_damage #减/加血
      if @random_event_damage <= 0
        $game_variables[14] -= 1    #当恢复时减少RP
      elsif @random_event_damage > 0
        $game_variables[14] += 1    #当伤害时增加RP
      end
    elsif @event_target_large = 2  or @event_target_large = 3  #当1时对象为同伴
      battler = $game_party.random_target_actor(false)
      for actor in $game_party.actors
        if actor.level > @random_higest_level
          @random_higest_level = actor.level
        end
      end
      if @random_higest_level >= 10
        @damage_multyplyer = 10 + @random_higest_level / 10  
      else
        @damage_multyplyer = @random_higest_level
      end
      @random_event_damage = rand(201) * @damage_multyplyer  #随机伤害= 随机数*倍率
      @event_effect = rand(2)  #决定是恢复还是伤害
      if @event_effect = 1     #当1时恢复
        @random_event_damage * -1   
      end
      battler.damage = @random_event_damage     #开始显示伤害
      if random_event_damage >= 200 * @damage_multyplyer / 2   #当伤害高于最大值的一般时显示暴击
        battler.critical = true
        $game_variables[14] -= 1    #当暴击时减少RP
      end
      battler.damage_pop = true          #显示伤害
      target.hp -= @random_event_damage #减/加血
      if @random_event_damage <= 0
        $game_variables[14] += 1    #当恢复时增加RP
      else $game_variables[14] -= 1    #当伤害时减少RP
      end
    end
    # 判定胜败
    if judge
      # 胜利或者失败的情况下 : 过程结束
      return
    end
      # 开始同伴命令
      start_phase2
  end

放下脚本。
还有个地方把phase4里头该转到phase2的改成了这个




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