Project1

标题: 如何获取队伍中前四位角色的id或者身上某个状态? [打印本页]

作者: bloodyliao    时间: 2014-7-26 16:41
标题: 如何获取队伍中前四位角色的id或者身上某个状态?
用事件判断角色是否存在某个状态的话,要知道角色id,但是玩家可能会调整队伍顺序、角色进队离队等会打乱队伍中的顺序(id=1的不一定是队伍里第一个人),
所以要肿么样才能在战斗前,判断参加战斗的人员(队伍里前四个人)身上是否有状态A?
谢谢各位大神了!

(。◕∀◕。)(。◕∀◕。)
作者: taroxd    时间: 2014-7-26 16:44
条件分歧-脚本:
$game_party.battle_members.any? {|a| a.state?(状态A的ID) }
表明至少有一人有状态A

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

未测试
作者: bloodyliao    时间: 2014-7-26 19:12
本帖最后由 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来判断
所以请教大家该怎么办?
作者: taroxd    时间: 2014-7-26 21:47
bloodyliao 发表于 2014-7-26 19:12
咱只要检测上场的前四个角色该怎么弄?

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

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





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