Project1

标题: 如何判断战斗出手的人物队伍中的顺序 [打印本页]

作者: 清远    时间: 2008-7-4 04:09
标题: 如何判断战斗出手的人物队伍中的顺序
如题 比如队伍三个人 张 刘 王
我用脚本如何判断出手用特技的人是排在第一的张 还是第三的王呢
注意是只要求知道顺序
谢谢
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: dbshy    时间: 2008-7-4 04:13
for actor in @action_battlers
p @action_battlers.name

作者: 清远    时间: 2008-7-4 04:22
看来我表达没清楚呀
比如这次特技出手一个人
我怎么判断他在队伍里是第几个呢
只求知道第几个 不求名字
作者: 391395435    时间: 2008-7-4 04:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2008-7-4 04:25
@action_battlers.index($game_party.actors[id])
作者: 清远    时间: 2008-7-4 04:47
嗯 貌似是这个东西
不过小弟学识浅薄 该如何融入判断呢
比如如果是第三个 变量+1
如果第二个 变量-5
谢谢
作者: dbshy    时间: 2008-7-4 04:52
if @action_battlers.index($game_party.actors[id]) == 3 then
t += 1
end [LINE]1,#dddddd[/LINE]版主对此帖的评论:『"then" is meaningless!!!!』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: 清远    时间: 2008-7-4 05:08
恩 使用了一下 出错
说明好像是没有定义 index
then我是去掉了的
麻烦再指点
作者: 3535    时间: 2008-7-4 05:18
以下引用清远于2008-7-3 21:08:56的发言:

恩 使用了一下 出错
说明好像是没有定义 index
then我是去掉了的
麻烦再指点

@action_battlers在phase4才被定义。
作者: dbshy    时间: 2008-7-4 05:20
以下引用清远于2008-7-3 21:08:56的发言:

恩 使用了一下 出错
说明好像是没有定义 index
then我是去掉了的
麻烦再指点


你是在哪里用的

PS: IF 后面的THEN 增加可读性
作者: 清远    时间: 2008-7-4 05:22
我是用在Game_Battler 3
在战斗中判断得
还要再次麻烦大家
作者: 3535    时间: 2008-7-4 05:28
以下引用清远于2008-7-3 21:22:01的发言:

我是用在Game_Battler 3
在战斗中判断得
还要再次麻烦大家

a = $scene.instance_variable_get("@action_battlers")
if a.index(self) == 3
t += 1
end

ps.什么可读性…即使是英文也不用每句if都带then…- - [LINE]1,#dddddd[/LINE]版主对此帖的认可:『自刪帖』,积分『+100』。
作者: Infrared    时间: 2008-7-4 05:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2008-7-4 05:40
instance_variable_get是个好东东
作者: 清远    时间: 2008-7-4 05:51
     # 计算基本伤害
      atk = [attacker.atk - self.pdef / 2, 0].max
      self.damage = atk * (20 + attacker.str) / 20
      
      if attacker.is_a?(Game_Actor)      
         a = $scene.instance_variable_get("@action_battlers")
         if a.index(self) == 1
            self.damage = 1
         end
      end
      
再次麻烦大家 我这样写入Game_Battler 3
可是实践出来的 却是四个队员每个人都可能出现攻击为1
怎么才能让 比如三号队员(不管什么人)攻击为1
其他不变了 谢谢

作者: dbshy    时间: 2008-7-4 06:00
你直接这样写就行
if attacker == $game_party.actors[id] then
      self.damage = 1
    end

上面的都不要 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 清远    时间: 2008-7-4 06:14
绕了这么大个圈子 原来这么简单
大道至简呀 感谢楼上诸公辛苦指点
太谢谢咯
以后有问题还请多多指教




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