设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1236|回复: 4
打印 上一主题 下一主题

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
116 小时
注册时间
2009-7-17
帖子
139
跳转到指定楼层
1
发表于 2014-11-22 11:24:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
请教回血技能的对象选择为单个队友时,使用技能后对象为队友中当前血比率最少的(敌我均适用)
我写成这样,但是实际效果有问题,我方只给使用技能的人加血,敌方只给最后一个队员加血
RUBY 代码复制
  1. class RPG::UsableItem < RPG::BaseItem
  2. def need_selection?
  3. [1,6,7,9].include?(@scope)
  4. end
  5. def for_group1? #单个队友
  6. @scope==7
  7. end
  8.  
  9. end
  10. class Game_Action
  11. alias wdd_targets_for_opponents targets_for_opponents
  12.   def targets_for_opponents  
  13. if subject.is_a?(Game_Actor)   #行动方是我方
  14. if item.note.include?("单体回血") and item.for_group1?
  15.     return friends_unit.group_target104(@target_index)
  16. end
  17. else     #行动方是敌方
  18. if item.note.include?("单体回血") and item.for_group1?
  19.     return friends_unit.group_target104(@target_index)
  20. end
  21. end     
  22.   wdd_targets_for_opponents
  23.   end
  24.  
  25. end
  26. class Game_Unit
  27.  
  28. def group_target104(index)   #我方单体回血
  29.  
  30.    group104 = friends_unit.alive_members
  31.    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
  32.   end
  33.  
  34. end



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

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-11-22 11:32:20 | 只看该作者
opponent 不是对方的意思么……

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

点评

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
116 小时
注册时间
2009-7-17
帖子
139
3
 楼主| 发表于 2014-11-22 16:30:07 | 只看该作者
taroxd 发表于 2014-11-22 11:32
opponent 不是对方的意思么……

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

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

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

4
发表于 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 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
116 小时
注册时间
2009-7-17
帖子
139
5
 楼主| 发表于 2014-11-22 17:28:38 | 只看该作者
taroxd 发表于 2014-11-22 16:53
friend_unit.alive_members.min_by(&:hp_rate)

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

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

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-1 11:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表