设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1242|回复: 2
打印 上一主题 下一主题

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

 关闭 [复制链接]

Lv1.梦旅人

Mr.Gandum

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

贵宾

跳转到指定楼层
1
发表于 2011-3-26 20:54:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 feizhaodan 于 2011-3-26 21:00 编辑

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

点评

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

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

2
发表于 2011-3-27 10:22:09 | 只看该作者
关键是对象目标是enemy还是actor的问题……
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

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

贵宾

3
 楼主| 发表于 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
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-25 14:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表