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

Project1

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

[已经解决] 请教关于敌人特技使用的问题

[复制链接]

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
跳转到指定楼层
1
发表于 2012-2-2 12:47:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果某敌人的状态编号为20~50之间,那么该敌人就不会使用效果范围为使用者的特技,直至状态消失?

如果只用脚本编辑器修改,应该怎么实现?
囡囚囨囚囨図囨囧

Lv2.观梦者

梦石
0
星屑
777
在线时间
1270 小时
注册时间
2011-2-14
帖子
5589
2
发表于 2012-2-2 14:29:24 | 只看该作者
我只给你思路哦:
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


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


回复

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
3
 楼主| 发表于 2012-2-3 10:36:52 | 只看该作者
本帖最后由 幻耶 于 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
复制代码
囡囚囨囚囨図囨囧
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
777
在线时间
1270 小时
注册时间
2011-2-14
帖子
5589
4
发表于 2012-2-3 10:40:16 | 只看该作者
幻耶 发表于 2012-2-3 10:36
是在Game_Enemy 的 def make_action下面这段脚本修改么?那么当判断出敌人附带XX号状态,就不使用.scope  ...

如果判断出来是那个范围就重新决定,可以使用while语句
如果全部是那个范围,就直接为什么也不做
回复

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
5
 楼主| 发表于 2012-2-3 10:51:36 | 只看该作者
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
囡囚囨囚囨図囨囧
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 13:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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