Project1

标题: 请教关于敌人特技使用的问题 [打印本页]

作者: 幻耶    时间: 2012-2-2 12:47
标题: 请教关于敌人特技使用的问题
如果某敌人的状态编号为20~50之间,那么该敌人就不会使用效果范围为使用者的特技,直至状态消失?

如果只用脚本编辑器修改,应该怎么实现?dsu_plus_rewardpost_czw
作者: R-零    时间: 2012-2-2 14:29
我只给你思路哦:
1.首先,game_batter 里定义了一个array数组states
2.敌人的行动是用Game_Enemy里的make_action来决定的
3.技能的效果范围:$data_skills[技能id].scope
     效果范围(0:无,1:敌单体,2:敌全体,3:己方单体,4:己方全体,5:己方单体(HP 0),
                  6:己  方全体(HP 0),7:使用者)。
4.判断某数c在a.b之间
     if c.between?(a,b)
     end


以上,思路你已经有了,具体怎么写自己写哦



作者: 幻耶    时间: 2012-2-3 10:36
本帖最后由 幻耶 于 2012-2-3 10:38 编辑
R-零 发表于 2012-2-2 14:29
我只给你思路哦:
1.首先,game_batter 里定义了一个array数组states
2.敌人的行动是用Game_Enemy里的make_ ...


是在Game_Enemy 的 def make_action下面这段脚本修改么?那么当判断出敌人附带XX号状态,就不使用.scope < 7 的特技应该怎么添加呢?
  1.       # 设置对应生成随机数的当前行动
  2.       for action in available_actions
  3.         if action.rating > rating_max - 3
  4.           if value < action.rating - (rating_max - 3)
  5.             self.current_action.kind = action.kind
  6.             self.current_action.basic = action.basic
  7.             self.current_action.skill_id = action.skill_id
  8.             self.current_action.decide_random_target_for_enemy
  9.             return
  10.           else
  11.             value -= action.rating - (rating_max - 3)
  12.           end
  13.         end
  14.       end
复制代码

作者: R-零    时间: 2012-2-3 10:40
幻耶 发表于 2012-2-3 10:36
是在Game_Enemy 的 def make_action下面这段脚本修改么?那么当判断出敌人附带XX号状态,就不使用.scope  ...

如果判断出来是那个范围就重新决定,可以使用while语句
如果全部是那个范围,就直接为什么也不做
作者: 幻耶    时间: 2012-2-3 10:51
R-零 发表于 2012-2-3 10:40
如果判断出来是那个范围就重新决定,可以使用while语句
如果全部是那个范围,就直接为什么也不做 ...

我改成这样,出错了

      # 设置对应生成随机数的当前行动
      for action in available_actions
        if action.rating > rating_max - 3
          if value < action.rating - (rating_max - 3)
            self.current_action.kind = action.kind
            self.current_action.basic = action.basic
            if self.state?(21) and $data_skills[self.current_action.skill_id].scope == 7
              #什么都不做
            else
              self.current_action.skill_id = action.skill_id
            end

            self.current_action.decide_random_target_for_enemy
            return
          else
            value -= action.rating - (rating_max - 3)
          end
        end
      end




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