Project1

标题: 如何让敌人处于某一状态时,不能使用某些技能? [打印本页]

作者: 无忧谷主幻    时间: 2023-5-2 02:51
标题: 如何让敌人处于某一状态时,不能使用某些技能?
比如敌人会使用蓄力让自己增加攻击力,由于已经是蓄力状态了,所以没必要再次使用蓄力
直到蓄力状态被我方角色消除(我方角色是可以消除敌人身上的状态),敌人才会有概率再次使用蓄力

1,由于使用了半即时脚本,回合数被重新定义,事件出现条件中的回合全部失效(不过即使不失效,敌人也没办法判断自己身上的状态)
2,使用状态法,在Game_Battler 3插入
RUBY 代码复制
  1. if skill_id == 47 and self.states.include?(43)
  2.      #状态存在时,技能无法使用
  3.      return false
  4.    end

也没用,敌人由于会施展不出技能直接空过
3,在战斗页面用开关判断倒是没问题,但是这样无疑很麻烦,而且要消耗大量开关

半即时

作者: 契约师Vi    时间: 2023-5-2 09:03
[Automated Switches/Variables Indie] 自更新开关变量独立版 v1.0 by SailCat,
=\E.any?{|i| i.state(13)? },13号状态,不知道对不对未测试,不过可以学一下自变量开关脚本。
作者: soulsaga    时间: 2023-5-2 11:15
蓄力用强制行动
作者: 陈大帅帅帅哥    时间: 2023-5-2 14:53
在Game_Enemy类的make_action方法里修改
例如
if action.skill_id == 47 and self.states.include?(43)
     #状态存在时,技能无法使用
     next
   end
作者: SailCat    时间: 2023-5-2 20:34
首先插入这个脚本:
https://rpg.blue/thread-488418-1-1.html

然后选择一个开关,将其名字改成
=!a.state?(43)

最后将47号技能的使用条件关联这个开关
就行了





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