查看: 2329|回复: 5

[已经解决] 求教如何用脚本来分歧队伍第2名角色处于第几种状态

[复制链接]
梦石
0
星屑
342
在线时间
377 小时
注册时间
2013-1-30
回帖
162
发表于 2014-5-2 04:56:05 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 qknight 于 2014-5-2 16:00 编辑

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

再次感谢喵呜大大的解答!{:2_275:}

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-5-2 15:12:18 | 显示全部楼层
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
复制代码
回复

使用道具 举报

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-5-2 13:18:39 | 显示全部楼层
本帖最后由 喵呜喵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
复制代码
回复

使用道具 举报

梦石
0
星屑
342
在线时间
377 小时
注册时间
2013-1-30
回帖
162
 楼主| 发表于 2014-5-2 15:05:17 | 显示全部楼层
喵呜喵5 发表于 2014-5-2 13:18
插入脚本,脚本开头设置一下,然后在事件页的脚本指令中输入qiangzhi

问题已经解决了,不过为了更完美,所以新手还是再追问一下,假如想要在9号状态下再设立一个分歧,分歧已处于9号状态的队友再处于10号状态下打出11号技能,不处于10号状态下打出12号技能该怎么写?
目前在下是用状态分歧+把强制脚本复制修改为强制1和强制2来满足这个条件的,不过光是细分到每一个角色的状态分歧就好长……
回复

使用道具 举报

梦石
0
星屑
342
在线时间
377 小时
注册时间
2013-1-30
回帖
162
 楼主| 发表于 2014-5-2 16:19:49 | 显示全部楼层
喵呜喵5 发表于 2014-5-2 15:12

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

如果是想把这个分歧用在敌人身上,即第1~8位敌人如果处于9号状态则他们发动11号技能,不然发动12号技能……该怎么改
回复

使用道具 举报

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-5-2 16:52:22 | 显示全部楼层
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
复制代码

评分

参与人数 1梦石 +2 收起 理由
Sion + 2 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部