查看: 2093|回复: 4

[已经解决] 如何设置这样类似“神圣之井”的技能?

[复制链接]
梦石
0
星屑
632
在线时间
921 小时
注册时间
2013-3-13
回帖
503
发表于 2014-8-10 13:22:56 | 显示全部楼层 |阅读模式

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

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

×
该技能具体效果说明及要求:
释放之后,每回合自动为我方在队、尚未牺牲、并且当前生命值最低的那名队员回复20%生命,如果两人血量一样多,按队列顺序生效。
持续4回合。
求教了。
梦石
0
星屑
632
在线时间
921 小时
注册时间
2013-3-13
回帖
503
 楼主| 发表于 2014-8-11 14:52:12 | 显示全部楼层
正太君 发表于 2014-8-11 12:44
其中班尼特有神圣之井技能...

#====================================================================== ...

谢谢聪仔,我这就学习一下

点评

好的。等我下班到家试试。非常感谢。  发表于 2014-8-11 17:04
不用客气,如果满意的话请申请认可答案...  发表于 2014-8-11 15:07
回复

使用道具 举报

梦石
0
星屑
50
在线时间
196 小时
注册时间
2013-5-10
回帖
379
发表于 2014-8-10 14:17:33 | 显示全部楼层
(感觉跟我的召唤术好像)
如果你的人物少就用战斗事件+公共事件解决,如果人物多就只能等待脚本帝出现了。
大前年的作品《猪刀历险记》
前年的作品《深蓝之心》
上面都是黑历史!
开学了我终于要长久潜水了!
回复

使用道具 举报

梦石
0
星屑
632
在线时间
921 小时
注册时间
2013-3-13
回帖
503
 楼主| 发表于 2014-8-10 17:45:17 | 显示全部楼层
本帖最后由 crow2006 于 2014-8-10 19:56 编辑
  1. class Game_Interpreter
  2. def 全神贯注
  3. $血1 = $game_party.members[0].hp / $game_party.members[0].maxhp
  4. $血2 = $game_party.members[1].hp / $game_party.members[1].maxhp
  5. $血3 = $game_party.members[2].hp / $game_party.members[2].maxhp
  6. $血4 = $game_party.members[3].hp / $game_party.members[3].maxhp  
  7. $血1 = 1 if $game_party.members[0].hp == 0
  8. $血2 = 1 if $game_party.members[1].hp == 0
  9. $血3 = 1 if $game_party.members[2].hp == 0
  10. $血4 = 1 if $game_party.members[3].hp == 0
  11. end  
  12. def 血1
  13. 全神贯注
  14. if $血1 <= $血2 and $血1 <= $血3 and $血1 <= $血4 and $game_party.members[0].hp > 0
  15.   return true
  16. else
  17.   return false
  18. end
  19. end
  20. def 血2
  21. 全神贯注
  22. if $血2 <= $血1 and $血2 <= $血3 and $血2 <= $血4 and $game_party.members[1].hp > 0
  23.   return true
  24. else
  25.   return false
  26. end
  27. end
  28. def 血3
  29. 全神贯注
  30. if $血3 <= $血1 and $血3 <= $血2 and $血3 <= $血4 and $game_party.members[2].hp > 0
  31.   return true
  32. else
  33.   return false
  34. end
  35. end
  36. def 血4
  37. 全神贯注
  38. if $血4 <= $血1 and $血4 <= $血2 and $血4 <= $血3 and $game_party.members[3].hp > 0
  39.   return true
  40. else
  41.   return false
  42. end
  43. end
  44. end
复制代码
我已经做出来了,但是还不够优化,请求帮助:
I:编写上述脚本;
II:每回合战斗结束执行战斗事件:根据上述脚本判定使用技能的角色;
1.jpg (下略)
III:实现如下效果:角色释放某个针对自身的单体技能后,附加编号368的状态,每回合开始前,该角色能够自动对当前HP比例最低、且尚未死亡的成员释放快速治疗。
求助:上述战斗事件如何写比较简洁?我这样要设置4个角色,很繁琐。请求优化。

点评

就是按照百分比加血的。百分比越少的单位越优先得到治疗  发表于 2014-8-11 09:20
LZ没有测试过吧...LZ可以用脚本算一算a、b、c并比较大小,其中a=1/3;b=2/3;c=3/3  发表于 2014-8-10 21:57
回复

使用道具 举报

聪仔

梦石
0
星屑
6187
在线时间
3077 小时
注册时间
2013-12-26
回帖
3076
发表于 2014-8-11 12:44:37 | 显示全部楼层
其中班尼特有神圣之井技能...
神圣之井.rar (577.47 KB, 下载次数: 62)
[pre lang="ruby" line="1"]#==============================================================================
# ★ 神圣之井技能设计
#------------------------------------------------------------------------------
#   本脚本来自rpg.blue
#  作者:正太君(聪仔)
#------------------------------------------------------------------------------
#   使用时请保留版权信息,谢谢...
#==============================================================================
# 请设置神圣之井状态的ID:
  SSZJ_STA = 21
# 请设置恢复动画的ID:
  SSZJ_ANI = 39
# 请设置恢复最大HP的比例:
  SSZJ_REC = 0.2
#==============================================================================
class Game_Party < Game_Unit
  def sszj_recover
    member = shenshengzhijing
    return if member.nil?
    member.animation_id = SSZJ_ANI
    add_hp = (member.maxhp * SSZJ_REC).round
    member.damage_num(-add_hp)
  end
  
  def shenshengzhijing
    members = []
    self.members.each{|i| members.push(i) if i.hp > 0 and i.state?(SSZJ_STA)}
    members.sort!{|a, b| a.hp * 1.0 / a.maxhp <=> b.hp * 1.0 / b.maxhp}
    return members[0]
  end
end

class Scene_Battle
  alias :new_turn_end :turn_end unless method_defined? :new_turn_end
  def turn_end
    $game_party.sszj_recover
    new_turn_end
  end
end [/pre]

评分

参与人数 1梦石 +1 收起 理由
丿梁丶小柒 + 1 认可答案

查看全部评分

聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部