查看: 2024|回复: 4

[已经解决] 怎样实现单一技能攻击敌人次数设置?

[复制链接]
梦石
0
星屑
50
在线时间
26 小时
注册时间
2011-11-13
回帖
5
发表于 2014-4-13 13:53:35 | 显示全部楼层 |阅读模式

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

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

×
我现在想设定一个技能攻击一个敌人3次,可是默认连续攻击只能攻击两次,现在希望能找到解决方法
梦石
0
星屑
55
在线时间
108 小时
注册时间
2014-3-29
回帖
122
发表于 2014-4-13 15:32:10 | 显示全部楼层
Game_BattleAction类下找到定义def make_obj_targets
第264行targets += targets的下面再加一个targets += targets就是连续攻击3次了

评分

参与人数 1星屑 +100 收起 理由
丿梁丶小柒 + 100 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
26 小时
注册时间
2011-11-13
回帖
5
 楼主| 发表于 2014-4-13 16:12:01 | 显示全部楼层
王硕 发表于 2014-4-13 15:32
Game_BattleAction类下找到定义def make_obj_targets
第264行targets += targets的下面再加一个targets +=  ...

这样会变成连4下我改成了 targets += targets +=targets 就是3下,已经解决,多谢
回复

使用道具 举报

梦石
0
星屑
50
在线时间
26 小时
注册时间
2011-11-13
回帖
5
 楼主| 发表于 2014-4-13 16:16:04 | 显示全部楼层
但是如果我想每个技能连击数不一样怎么解决?
回复

使用道具 举报

梦石
0
星屑
55
在线时间
108 小时
注册时间
2014-3-29
回帖
122
发表于 2014-4-13 16:43:14 | 显示全部楼层
本帖最后由 王硕 于 2014-4-13 17:15 编辑

[pre lang="ruby" line="1"]  #--------------------------------------------------------------------------
  # ● 生成技能或物品目标
  #     obj : 技能或物品
  #--------------------------------------------------------------------------
  def make_obj_targets(obj)
    targets = []
    if obj.for_opponent?
      if obj.for_random?
        if obj.for_one?         # 敌随机单体
          number_of_targets = 1
        elsif obj.for_two?      # 敌随机二体
          number_of_targets = 2
        else                    # 敌随机三体
          number_of_targets = 3
        end
        number_of_targets.times do
          targets.push(opponents_unit.random_target)
        end
      elsif obj.dual?           # 敌单体连续
        if obj.is_a?(RPG::Skill) and obj.id == 1 #1号技能时
          targets.push(opponents_unit.smooth_target(@target_index))
          targets += targets
          targets += targets
        elsif obj.is_a?(RPG::Skill) and obj.id == 2 #2号技能时
          targets.push(opponents_unit.smooth_target(@target_index))
          targets += targets
          targets += targets
          targets += targets
        else
          targets.push(opponents_unit.smooth_target(@target_index))
          targets += targets
        end
      elsif obj.for_one?        # 敌单体
        targets.push(opponents_unit.smooth_target(@target_index))
      else                      # 敌全体
        targets += opponents_unit.existing_members
      end
    elsif obj.for_user?         # 使用者
      targets.push(battler)
    elsif obj.for_dead_friend?
      if obj.for_one?           # 我方单体(无法行动)
        targets.push(friends_unit.smooth_dead_target(@target_index))
      else                      # 我方全体(无法行动)
        targets += friends_unit.dead_members
      end
    elsif obj.for_friend?
      if obj.for_one?           # 我方单体
        targets.push(friends_unit.smooth_target(@target_index))
      else                      # 我方全体
        targets += friends_unit.existing_members
      end
    end
    return targets.compact
  end[/pre]
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部