查看: 2469|回复: 3

[已经解决] 如何获取队伍中前四位角色的id或者身上某个状态?

[复制链接]
梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
发表于 2014-7-26 16:41:47 | 显示全部楼层 |阅读模式

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

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

×
用事件判断角色是否存在某个状态的话,要知道角色id,但是玩家可能会调整队伍顺序、角色进队离队等会打乱队伍中的顺序(id=1的不一定是队伍里第一个人),
所以要肿么样才能在战斗前,判断参加战斗的人员(队伍里前四个人)身上是否有状态A?
谢谢各位大神了!

(。◕∀◕。)(。◕∀◕。)

…あたしは天

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

开拓者贵宾

发表于 2014-7-26 16:44:23 | 显示全部楼层
条件分歧-脚本:
$game_party.battle_members.any? {|a| a.state?(状态A的ID) }
表明至少有一人有状态A

如果要表示全员都有状态A,可以把 any? 改成 all?

未测试

点评

我可能没说清楚……  发表于 2014-7-26 21:32
是这样的,我有一个数组,4个元素分别对应每个战斗人员的位置(x,y),我一共有8个人员,我只要判断上场战斗的4个人,每个人可能有A或B两种状态...  发表于 2014-7-26 21:28

评分

参与人数 2星屑 +151 收起 理由
VIPArcher + 150 认可答案
双黄连2_副本2 + 1 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
 楼主| 发表于 2014-7-26 19:12:06 | 显示全部楼层
本帖最后由 bloodyliao 于 2014-7-26 21:31 编辑
taroxd 发表于 2014-7-26 16:44
条件分歧-脚本:
$game_party.battle_members.any? {|a| a.state?(状态A的ID) }
表明至少有一人有状态A


咱只要检测上场的前四个角色该怎么弄?

是这样的,我有一个数组,4个元素分别对应每个战斗人员的位置(x,y),我一共有8个人员,我只要判断上场战斗的4个人,每个人可能有A或B两种状态...
当第一个人是A状态,说明是前排,其位置元素就靠前一点设置(100,200),否则如果是B状态,位置就靠后(300,200);
接着判断第二个人,如果是A状态,说明是前排,其位置元素就靠前一点设置(100,300),否则如果是B状态,位置就靠后(300,300);
接着判断第三个人,如果是A状态,说明是前排,其位置元素就靠前一点设置(100,400),否则如果是B状态,位置就靠后(300,400);
接着判断第四个人,如果是A状态,说明是前排,其位置元素就靠前一点设置(100,500),否则如果是B状态,位置就靠后(300,500);

我上面说的第几个人,不是这些人的id,而是排列的顺序,因为前四个人是战斗的,我一共有8个队员,所以不能用角色id来判断
所以请教大家该怎么办?

点评

就这么弄啊,有问题么  发表于 2014-7-26 19:18
回复

使用道具 举报

…あたしは天

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

开拓者贵宾

发表于 2014-7-26 21:47:36 | 显示全部楼层
bloodyliao 发表于 2014-7-26 19:12
咱只要检测上场的前四个角色该怎么弄?

是这样的,我有一个数组,4个元素分别对应每个战斗人员的位置(x ...

$game_party.battle_members[0].state?(A状态ID) # 第一个人
# 把 0 改为 1,2,3 即可判断第二、三、四个人
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部