查看: 2781|回复: 7

[已经解决] 求助,指定角色自动回血回蓝的脚本

[复制链接]
梦石
0
星屑
50
在线时间
23 小时
注册时间
2017-7-21
回帖
7
发表于 2017-7-22 10:25:40 | 显示全部楼层 |阅读模式

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

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

×
如题,指定角色在战斗时每回合按百分比自动回血回魔,行走在地图上按步数回血回魔直到加满。依靠状态也可以,还请详细一点说明,谢谢_(:зゝ∠)_
梦石
0
星屑
2294
在线时间
610 小时
注册时间
2016-4-10
回帖
24
发表于 2017-7-22 13:32:12 | 显示全部楼层
这个是我现在正在用的,不知道能不能满足你的要求,具体功能就是附加这个状态之后可以每回合可以恢复血量,状态ID和回复量都是可以设定的,在脚本的开头。
  1. #==============================================================================
  2. # ★ 神圣之井技能设计
  3. #------------------------------------------------------------------------------
  4. #   本脚本来自rpg.blue
  5. #  作者:正太君(聪仔)
  6. #------------------------------------------------------------------------------
  7. #   使用时请保留版权信息,谢谢...
  8. #==============================================================================
  9. # 请设置神圣之井状态的ID:
  10.   SSZJ_STA = 18
  11. # 请设置恢复动画的ID:
  12.   SSZJ_ANI = 98
  13. # 请设置恢复最大HP的比例:
  14.   SSZJ_REC = 0.5
  15. #==============================================================================
  16. class Game_Party < Game_Unit
  17.   def sszj_recover
  18.     member = shenshengzhijing
  19.     return if member.nil?
  20.     member.animation_id = SSZJ_ANI
  21.     add_hp = (member.maxhp * SSZJ_REC).round
  22.     member.damage_num(-add_hp)
  23.   end
  24.   
  25.   def shenshengzhijing
  26.     members = []
  27.     self.members.each{|i| members.push(i) if i.hp > 0 and i.state?(SSZJ_STA)}
  28.     members.sort!{|a, b| a.hp * 1.0 / a.maxhp <=> b.hp * 1.0 / b.maxhp}
  29.     return members[0]
  30.   end
  31. end

  32. class Scene_Battle
  33.   alias :new_turn_end :turn_end unless method_defined? :new_turn_end
  34.   def turn_end
  35.     $game_party.sszj_recover
  36.     new_turn_end
  37.   end
  38. end
复制代码

点评

我用的是横版的战斗系统,默认纵版的战斗系统没测试过,应该是可行的。  发表于 2017-7-22 13:33
回复

使用道具 举报

梦石
0
星屑
19426
在线时间
3082 小时
注册时间
2013-1-11
回帖
1207
发表于 2017-7-22 13:43:35 | 显示全部楼层
本帖最后由 张咚咚 于 2017-7-22 23:06 编辑

[pre lang="ruby"]class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # ● 走一步时含有指定状态自动回复
  #--------------------------------------------------------------------------
  alias qqeat_increase_steps increase_steps
  def increase_steps
    qqeat_increase_steps
    members.each{|a|a.states.each{|s|
      if s.id == 8 #当含有8号状态时
        a.hp += 10 #HP+10
        a.mp += 5 #MP+5
      end
    }}
  end
  #--------------------------------------------------------------------------
  # ● 战斗结束时含有指定状态自动回复
  #--------------------------------------------------------------------------
  alias qqeat_do_auto_recovery do_auto_recovery
  def do_auto_recovery
    qqeat_do_auto_recovery
    members.each{|a|a.states.each{|s|
      if s.id == 8 #当含有8号状态时
        a.hp += a.maxhp * 0.1 #HP+10%
        a.mp += a.maxmp * 0.05 #MP+5%
      end
    }}
  end
end[/pre]

点评

第11行  发表于 2017-7-22 19:53

评分

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

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
23 小时
注册时间
2017-7-21
回帖
7
 楼主| 发表于 2017-7-22 14:49:08 | 显示全部楼层
封尘 发表于 2017-7-22 13:32
这个是我现在正在用的,不知道能不能满足你的要求,具体功能就是附加这个状态之后可以每回合可以恢复血量, ...

请问一下指定角色是在哪里设定呢?非常感谢
回复

使用道具 举报

梦石
0
星屑
50
在线时间
23 小时
注册时间
2017-7-21
回帖
7
 楼主| 发表于 2017-7-22 14:51:51 | 显示全部楼层
封尘 发表于 2017-7-22 13:32
这个是我现在正在用的,不知道能不能满足你的要求,具体功能就是附加这个状态之后可以每回合可以恢复血量, ...

啊抱歉,已经明白了,非常感谢_(:зゝ∠)_
回复

使用道具 举报

梦石
0
星屑
50
在线时间
23 小时
注册时间
2017-7-21
回帖
7
 楼主| 发表于 2017-7-22 14:53:10 | 显示全部楼层
张咚咚 发表于 2017-7-22 13:43
class Game_Party < Game_Unit
  #-------------------------------------------------------------------- ...

帮大忙啦,非常感谢!
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部