查看: 2050|回复: 3

[已经解决] 关于队伍成员状态打开开关

[复制链接]
梦石
0
星屑
572
在线时间
242 小时
注册时间
2011-7-17
回帖
79
发表于 2015-2-1 20:10:23 | 显示全部楼层 |阅读模式

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

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

×
思路是: 队伍中任何一人某个状态存在时开关打开,队伍中没有人是该状态时开关关闭。(都是以整个队伍判断的)

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-2-1 20:13:56 | 显示全部楼层
https://rpg.blue/thread-371714-1-1.html

设置如下:
[pre lang="ruby" line="1"]switch(开关id) { $game_party.members.any? { |a| a.state?(状态ID) } }[/pre]

点评

设置区域有标注的  发表于 2015-2-1 20:33
这句代码加在脚本哪里? 或者是在事件中调出?  发表于 2015-2-1 20:28

评分

参与人数 1星屑 +66 收起 理由
熊喵酱 + 66 认可答案

查看全部评分

回复

使用道具 举报

闇吼者の災悪眷族

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
回帖
6408
发表于 2015-2-1 20:17:41 | 显示全部楼层
  1. $game_party.members.any? {|actor| actor.state?(2)}
复制代码
这句的意思是如果队伍任一成员处在状态2则返回true,
否则换回false。

点评

是  发表于 2015-2-1 21:09
我前面一直以为你们在说一个脚本  发表于 2015-2-1 21:03
只要把这段代码加进脚本里的设置区域里 它就会自动运行了吧 不用再写公共事件和条件分歧了吧  发表于 2015-2-1 20:55
填的是楼上的代码,不是这一层的  发表于 2015-2-1 20:51
我看到脚本里的设置区域了啊 可是前面他说的是条件分歧啊  发表于 2015-2-1 20:50

评分

参与人数 1星屑 +66 收起 理由
熊喵酱 + 66 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
115
在线时间
121 小时
注册时间
2009-7-17
回帖
113
发表于 2015-2-1 20:17:52 | 显示全部楼层
本帖最后由 morningboo 于 2015-2-1 20:20 编辑

在class Scene_Base中定义一个新方法,然后用for循环和$game_party.members.state?(状态)来判断是否存在某个状态,如果存在,则开关$game_Switches=true,不存在则false,然后在update的的方法中加入这个新方法就可以了

点评

谢谢大大指导,的确用迭代是极好的, PS:貌似你们发帖的时候我正在发帖,因为我发帖的时候没看到有人回复,献丑了  发表于 2015-2-2 21:22
永远别用 for 循环,更好的姿势见楼上两层;注意 $game_switches 的大小写;注意 i 被论坛解释为斜体  发表于 2015-2-1 20:35

评分

参与人数 1星屑 +30 收起 理由
熊喵酱 + 30 感謝幫忙

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部