Project1

标题: 咋做一个敌人用的只能给队友回血的技能 [打印本页]

作者: 午睡的风铃    时间: 2017-8-2 14:55
标题: 咋做一个敌人用的只能给队友回血的技能
敌人的队友当然还是敌人
就是敌人用的这个加血技能不能对自己,只能对其他敌人用,并且是优先对HP最少的人用。
作者: jianyulei    时间: 2017-8-2 23:30
用Taroxd 的目标扩展脚本,这个脚本非常吊,我一直都是当做敌人的AI脚本来使用的,甚至比其他我知道的所有AI脚本都好用(虽然它不是AI脚本),在技能备注之后敌人学会技能就行了
你要的效果是这么备注:
   <target>
     select: alive? && b != a && hp < mhp
     min_by: hp_rate
   </target>
这个技能只能对存活的目标发动、目标不能是使用者,而且目标必须不满血,且会优先HP最少的目标
如此一来,当敌人没有自己以外的同伴血没满时将不会使用技能

脚本位置
https://taroxd.github.io/rgss/
脚本名《使用目标的扩展》,需要《Taroxd 基础设置》 作为前置。

作者: elemmy72    时间: 2017-8-3 02:30
我知道的也是Taroxd大大的腳本,
是設置在技能備註欄裡的。

  1. class Game_Action
  2.   alias targets_for_friends_20140611 targets_for_friends
  3.   def targets_for_friends
  4.     if item.note.include?('<指定同隊HP最低者>')
  5.       [friends_unit.alive_members.min_by(&:hp_rate)]
  6.     elsif item.note.include?('<指定同隊HP最高者>')
  7.       [friends_unit.alive_members.max_by(&:hp_rate)]
  8.     else
  9.       targets_for_friends_20140611
  10.     end
  11.   end

  12.   alias targets_for_opponents_20140611 targets_for_opponents
  13.   def targets_for_opponents
  14.     if item.note.include?('<指定敵隊HP最低者>')
  15.       [opponents_unit.alive_members.min_by(&:hp_rate)]
  16.     elsif item.note.include?('<指定敵隊HP最高者>')
  17.       [opponents_unit.alive_members.max_by(&:hp_rate)]
  18.     else
  19.       targets_for_opponents_20140611
  20.     end
  21.   end
  22. end
复制代码


在技能備註欄輸入 <指定敵隊HP最低者>,
那麼敵人就會進行判斷使用該備註的技能攻擊我方HP最低者,
若是備註<指定同隊HP最低者>,那麼就是對同隊HP最低者使用此技能,
(前提是必須在敵人行動模式上設置能施放該技能)
這樣能達到良好的敵人AI感覺,就是要慢慢設置而已。




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