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

Project1

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

[已经解决] 求教一个敌人使用技能的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2015-6-30
帖子
11
跳转到指定楼层
1
发表于 2015-7-1 22:19:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
怎样让我方某队员处于某特定状态时,敌人才会使用某特定技能?
比如我方某队员处于麻痹状态,敌人才会使用强击技能攻击该角色,如果没有队员处于麻痹状态,那敌人的强击技能就一直不使用。

Lv1.梦旅人

梦石
0
星屑
163
在线时间
73 小时
注册时间
2014-4-10
帖子
109
2
发表于 2015-7-2 08:16:15 | 只看该作者
你看这样行不行呀。

001.png (13.17 KB, 下载次数: 23)

001.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
179 小时
注册时间
2013-12-8
帖子
100
3
发表于 2015-7-2 10:00:16 | 只看该作者
去在战斗事件里判定一个状态吧。如果在那个状态下,就开启开关。然后怪物的强击技能设定为“在开关X开启时”。注意判定开关的开和关,不然可能会有进入一次状态就一直可能用强击的困扰

全部RM技能点全都点到了做地图和写文本上了,别拦着我我准备去点那个专精点!(大义凛然状
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2015-6-30
帖子
11
4
 楼主| 发表于 2015-7-2 10:39:06 | 只看该作者
我试试,谢谢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
135
在线时间
450 小时
注册时间
2015-2-25
帖子
365
5
发表于 2015-7-2 18:41:53 | 只看该作者
RUBY 代码复制
  1. class Game_Battler
  2.   attr_accessor :target  
  3. end
  4.  
  5. class Scene_Battle
  6.   attr_reader :subject
  7. end
  8.  
  9. class RPG::Enemy
  10.   def 西蘭花(skill_id)
  11.     /<#{skill_id}\s*(\d+)>/ =~ note ? $1.to_i : nil
  12.   end  
  13. end
  14.  
  15. class Game_Enemy
  16.   alias baby_action_valid? action_valid?
  17.   def action_valid?(action)
  18.     if state_id = enemy.西蘭花(action.skill_id)
  19.       targets = $game_party.battle_members.select {|actor| actor.state?(state_id)}
  20.       return if targets.empty?
  21.       self.target = random_target(targets)
  22.     end
  23.     baby_action_valid?(action)
  24.   end  
  25.   def tgr_sum(targets)
  26.     targets.inject(0) {|r, target| r + target.tgr }
  27.   end  
  28.   def random_target(targets)
  29.     tgr_rand = rand * tgr_sum(targets)
  30.     targets.each do |target|
  31.       tgr_rand -= target.tgr
  32.       return target if tgr_rand < 0
  33.     end
  34.     targets[0]
  35.   end   
  36. end  
  37.  
  38. class Game_Action
  39.   alias baby_make_targets make_targets
  40.   def make_targets
  41.     if target = SceneManager.scene.subject.target
  42.       SceneManager.scene.subject.target = nil
  43.       return [target]
  44.     end      
  45.     baby_make_targets
  46.   end
  47. end


使用方法:
敵人備注欄寫上<技能id 狀態id>後
己方沒存活隊員有該狀態時敵人不會使用該技能
如果有的話也不一定會使用該技能,而是像一般情況一樣計算優先權(就是數據庫設置的)
多於一個隊員有該狀態的話,也會像一般情況一樣計算受攻擊率...
對了,技能會強制變成單體目標...(不清楚你的要求 就不改了)

点评

谢谢啦~~  发表于 2015-7-2 21:09

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 所以你起名都是啥习惯...

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22883
在线时间
8634 小时
注册时间
2011-12-31
帖子
3367
6
发表于 2015-7-2 19:10:52 | 只看该作者
找敵人AI脚本
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-2 16:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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