查看: 1388|回复: 2

[已经过期] 问下脚本伤害角色和伤害敌人的区别

  [复制链接]

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
回帖
2982

贵宾

发表于 2011-3-26 20:54:52 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 feizhaodan 于 2011-3-26 21:00 编辑

自己编了个脚本,里头用随机数来决定伤害对象,但怎么改都是敌人受伤。问下为什么。

点评

我们不是黑客,看不到你电脑里面的脚本  发表于 2011-3-26 21:08

虚構歪曲

梦石
0
星屑
354
在线时间
1196 小时
注册时间
2010-12-18
回帖
3842

贵宾

发表于 2011-3-27 10:22:09 | 显示全部楼层
关键是对象目标是enemy还是actor的问题……
回复

使用道具 举报

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
回帖
2982

贵宾

 楼主| 发表于 2011-3-27 13:34:48 | 显示全部楼层
  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的改成了这个

点评

汝没看到他的注册日期么?  发表于 2011-3-28 18:37
看了看LZ的经验和VIP,貌似是新手... PS:1:不相信是自己写的。2:这个脚本你放在哪的?  发表于 2011-3-27 22:04
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部