Project1

标题: 求教如何用脚本来分歧队伍第2名角色处于第几种状态 [打印本页]

作者: qknight    时间: 2014-5-2 04:56
标题: 求教如何用脚本来分歧队伍第2名角色处于第几种状态
本帖最后由 qknight 于 2014-5-2 16:00 编辑

之前用过喵呜大大写得让队伍X名角色退队的脚本,所以这次就在想应该也可以用脚本的方法分歧判断队伍前4名队员是否处于28(随便编个数字吧)号状态吧?然后再用脚本令处于该状态的第X名(反正在1-4之间)角色发动11号技能。脚本盲求这两段脚本该如何写

再次感谢喵呜大大的解答!{:2_275:}
作者: 喵呜喵5    时间: 2014-5-2 13:18
本帖最后由 喵呜喵5 于 2014-5-2 13:20 编辑

插入脚本,脚本开头设置一下,然后在事件页的脚本指令中输入qiangzhi
  1. class Game_Interpreter
  2.   def qiangzhi
  3.    
  4.     state_id = 9    #状态的ID
  5.     skill_id = 11   #使用技能的ID
  6.     position = 2    #第X名角色
  7.    
  8.     m5position = 1
  9.     $game_party.members.each do |actor|      
  10.       if actor.state?(state_id)
  11.         if m5position == position
  12.           @params = [1,actor.id,skill_id,-1]
  13.           command_339
  14.         end
  15.         m5position += 1
  16.       end
  17.     end      
  18.   end  
  19. end
复制代码

作者: qknight    时间: 2014-5-2 15:05
喵呜喵5 发表于 2014-5-2 13:18
插入脚本,脚本开头设置一下,然后在事件页的脚本指令中输入qiangzhi

问题已经解决了,不过为了更完美,所以新手还是再追问一下,假如想要在9号状态下再设立一个分歧,分歧已处于9号状态的队友再处于10号状态下打出11号技能,不处于10号状态下打出12号技能该怎么写?
目前在下是用状态分歧+把强制脚本复制修改为强制1和强制2来满足这个条件的,不过光是细分到每一个角色的状态分歧就好长……
作者: 喵呜喵5    时间: 2014-5-2 15:12
qknight 发表于 2014-5-2 15:05
问题已经解决了,不过为了更完美,所以新手还是再追问一下,假如想要在9号状态下再设立一个分歧,分歧已 ...
  1. class Game_Interpreter
  2.   def qiangzhi
  3.    
  4.     state_id1 = 9     #状态1的ID
  5.     state_id2 = 10    #状态2的ID
  6.     skill_id1 = 11    #处于状态2时使用的技能ID
  7.     skill_id2 = 12    #不处于状态2时使用的技能ID
  8.     position = 2      #第X名角色
  9.    
  10.     m5position = 1
  11.     $game_party.members.each do |actor|      
  12.       if actor.state?(state_id1)
  13.         if m5position == position
  14.           skill_id = actor.state?(state_id2) ? skill_id1 : skill_id2
  15.           @params = [1,actor.id,skill_id,-1]
  16.           command_339
  17.         end
  18.         m5position += 1
  19.       end
  20.     end
  21.   end
  22.   
  23. end
复制代码

作者: qknight    时间: 2014-5-2 16:19
喵呜喵5 发表于 2014-5-2 15:12

最后再举一反三一下吧……{:2_276:}

如果是想把这个分歧用在敌人身上,即第1~8位敌人如果处于9号状态则他们发动11号技能,不然发动12号技能……该怎么改
作者: 喵呜喵5    时间: 2014-5-2 16:52
qknight 发表于 2014-5-2 16:19
最后再举一反三一下吧……

如果是想把这个分歧用在敌人身上,即第1~8位敌人如果处于9号状态则 ...
  1. class Game_Interpreter
  2.   def qiangzhi
  3.    
  4.     state_id1 = 9     #状态1的ID
  5.     state_id2 = 10    #状态2的ID
  6.     skill_id1 = 11    #处于状态2时使用的技能ID
  7.     skill_id2 = 12    #不处于状态2时使用的技能ID   
  8.    
  9.     $game_troop.members.each_with_index do |actor,index|
  10.       if actor.state?(state_id1)
  11.         skill_id = actor.state?(state_id2) ? skill_id1 : skill_id2
  12.         @params = [0,index,skill_id,-1]
  13.         command_339
  14.       end
  15.     end
  16.   end
  17.   
  18. end
复制代码





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