查看: 1556|回复: 4

[已经解决] 自己修改普通攻击反弹的问题

[复制链接]
梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
回帖
914
发表于 2012-1-12 09:48:19 | 显示全部楼层 |阅读模式

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

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

×
想做一个普通攻击反弹的效果,比如攻击方击中20号状态的目标,伤害就反弹给对方随机一个成员。分别在Game_Battler 3 和 Scene_Battle 4 添加以下部分脚本,但是战斗测试时总是在一个队员成功反弹之后,下一个队员攻击就会命中敌人,也就是说敌人的反弹状态成功一次然后无效一次,以这样的规律交替(我设置的战斗角色是两个),求解决

Game_Battler 3 的● 应用通常攻击效果 下 if hit_result == true 下面添加(大约49行)
  1.       if self.state?(20)
  2.         $attack_return1 = true  #XXOO调用反弹的开关
  3.       else
  4.         $attack_return1 = false
  5.       end
复制代码
Scene_Battle 4的● 生成基本行动结果 下红色字体是添加的部分
      # 行动方的战斗者是角色的情况下
      if @active_battler.is_a?(Game_Actor)
        if @active_battler.restriction == 3
          target = $game_party.random_target_actor
        elsif @active_battler.restriction == 2
          target = $game_troop.random_target_enemy
        else
          index = @active_battler.current_action.target_index
          if $attack_return1 == true
            target = $game_party.smooth_target_actor(rand(2))  #XXOO敌人反弹随机目标
          else
            target = $game_troop.smooth_target_enemy(index)
          end

        end
      end
囡囚囨囚囨図囨囧

Mr.Gandum

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

贵宾

发表于 2012-1-12 12:29:21 | 显示全部楼层
  1. target = $game_party.smooth_target_actor(rand(2))  #XXOO敌人反弹随机目标
复制代码
这行下头添加:
  1. $attack_return = false
复制代码
试试
回复

使用道具 举报

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
回帖
914
 楼主| 发表于 2012-1-12 12:37:18 | 显示全部楼层
feizhaodan 发表于 2012-1-12 12:29
这行下头添加:试试

老样子,在敌人反弹状态下,还是交替的规律,角色攻击一个反弹一个不反弹
囡囚囨囚囨図囨囧
回复

使用道具 举报

Mr.Gandum

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

贵宾

发表于 2012-1-12 12:47:58 | 显示全部楼层
那个状态的解除条件看看
回复

使用道具 举报

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
回帖
914
 楼主| 发表于 2012-1-12 13:30:53 | 显示全部楼层
本帖最后由 幻耶 于 2012-1-12 13:32 编辑

把这个状态勾上连续伤害,再用 if @states_turn[20] == 0 在连续伤害里判断是否关闭开关,居然解决了,不知还有没有什么后遗症。。。
囡囚囨囚囨図囨囧
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部