查看: 1566|回复: 4

[已经解决] 请教回血技能的对象为单个队友时目标为当前血比率最少的

[复制链接]
梦石
0
星屑
115
在线时间
121 小时
注册时间
2009-7-17
回帖
113
发表于 2014-11-22 11:24:51 | 显示全部楼层 |阅读模式

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

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

×
请教回血技能的对象选择为单个队友时,使用技能后对象为队友中当前血比率最少的(敌我均适用)
我写成这样,但是实际效果有问题,我方只给使用技能的人加血,敌方只给最后一个队员加血
[pre lang="ruby" line="1"]class RPG::UsableItem < RPG::BaseItem
def need_selection?
[1,6,7,9].include?(@scope)
end
def for_group1? #单个队友
@scope==7
end

end
class Game_Action
alias wdd_targets_for_opponents targets_for_opponents
  def targets_for_opponents  
if subject.is_a?(Game_Actor)   #行动方是我方
if item.note.include?("单体回血") and item.for_group1?
    return friends_unit.group_target104(@target_index)
end
else     #行动方是敌方
if item.note.include?("单体回血") and item.for_group1?
    return friends_unit.group_target104(@target_index)
end
end     
  wdd_targets_for_opponents
  end

end
class Game_Unit

def group_target104(index)   #我方单体回血

   group104 = friends_unit.alive_members
   group104 = [group104[0].hp_rate,group104[1].hp_rate,group104[2].hp_rate,group104[3].hp_rate,group104[4].hp_rate,group104[5].hp_rate].min
  end

end[/pre]


因为是截取的部分代码,可能不太完整,主要是核心问题,请各位大大指教

…あたしは天

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

开拓者贵宾

发表于 2014-11-22 11:32:20 | 显示全部楼层
opponent 不是对方的意思么……

另外,注意代码缩进。不养成缩进的好习惯的话,咱会拒绝看代码的哦~

点评

opponent 是敌人的意思…… 严重怀疑你定义错方法了  发表于 2014-11-22 15:42
不好意思,大大,因为是复制的部分代码,所以不太规矩哈,还有请大大明确指示一下可以吗?  发表于 2014-11-22 15:38
回复

使用道具 举报

梦石
0
星屑
115
在线时间
121 小时
注册时间
2009-7-17
回帖
113
 楼主| 发表于 2014-11-22 16:30:07 | 显示全部楼层
taroxd 发表于 2014-11-22 11:32
opponent 不是对方的意思么……

另外,注意代码缩进。不养成缩进的好习惯的话,咱会拒绝看代码的哦~ ...

对的呢,谢谢大大指正,应该是定义targets_for_friends
那么请问如何获得当前存活角色中hp或者hp_rate的角色呢?
(自己试了下,发现还是不行,还是只给自己补血)
回复

使用道具 举报

…あたしは天

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

开拓者贵宾

发表于 2014-11-22 16:53:37 | 显示全部楼层
morningboo 发表于 2014-11-22 16:30
对的呢,谢谢大大指正,应该是定义targets_for_friends
那么请问如何获得当前存活角色中hp或者hp_rate的 ...


friend_unit.alive_members.min_by(&:hp_rate)

当英语都能看懂,我就不解释了

评分

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

查看全部评分

回复

使用道具 举报

梦石
0
星屑
115
在线时间
121 小时
注册时间
2009-7-17
回帖
113
 楼主| 发表于 2014-11-22 17:28:38 | 显示全部楼层
taroxd 发表于 2014-11-22 16:53
friend_unit.alive_members.min_by(&:hp_rate)

当英语都能看懂,我就不解释了

谢谢大大解答,大大的办法真简单,自己刚刚也解决了,当然办法很笨,就不献丑了,请结贴,谢谢
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部