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

Project1

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

[已经解决] 敵人選擇自己陣營HP最低者補血的腳本問題

[复制链接]

Lv1.梦旅人

梦石
0
星屑
185
在线时间
373 小时
注册时间
2013-10-10
帖子
83
跳转到指定楼层
1
发表于 2016-10-9 23:25:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
class Game_Action
  alias targets_for_friends_20140611 targets_for_friends
  def targets_for_friends
    if item.note.include?('<指定同隊HP最低者>')
      [friends_unit.alive_members.min_by(&:hp_rate)]
    elsif item.note.include?('<指定同隊HP最高者>')
      [friends_unit.alive_members.max_by(&:hp_rate)]
    else
      targets_for_friends_20140611
    end
  end

這是敵人使用技能選擇同隊HP最低或最高的腳本, 想多加一個判定是排除HP滿血的對象,若全體滿血則使用次要技能,要怎修改?

Lv4.逐梦者 (版主)

梦石
0
星屑
6901
在线时间
7028 小时
注册时间
2013-11-2
帖子
1344

开拓者剧作品鉴家

2
发表于 2016-10-17 08:50:56 | 只看该作者
如果你是要敌人在敌队全满血时则不使用这个技能:

  1. class Game_Enemy < Game_Battler
  2.   
  3.   def select_enemy_action(action_list, rating_zero)
  4.     sum = action_list.inject(0) {|r, a| r += a.rating - rating_zero }
  5.     return nil if sum <= 0
  6.     value = rand(sum)
  7.     action_list = action_list.clone
  8.     action_list.each{|a|
  9.       if a.skill_id == 技能ID
  10.         action_list.delete(a) if $game_troop.alive_members_hp_full?
  11.       end
  12.     }  
  13.     action_list.each do |action|
  14.       return action if value < action.rating - rating_zero
  15.       value -= action.rating - rating_zero
  16.     end
  17.   end
  18.   
  19. end  

  20. class Game_Unit
  21.   
  22.   def alive_members_hp_full?
  23.     return alive_members.select{|e| e.hp_rate > 1.0}.empty?
  24.   end
  25.   
  26. end  
复制代码


请自行填入技能ID

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 21:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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