Project1

标题: 持续百分比回血的技能做法 [打印本页]

作者: guoyq1988    时间: 2013-4-23 17:52
标题: 持续百分比回血的技能做法
本帖最后由 guoyq1988 于 2013-4-23 22:04 编辑

主动技能。
技能1释放后,增加一个状态,每回合回复总hp的10%
技能2释放后,增加一个状态,每回合回复总hp的20%
技能3释放后,增加一个状态,每回合回复总HP的30%
然后战斗结束后状态消失
不是被动技能
如何做出这样的效果,搜索了只有装备回复,没有技能呀,修改中毒的状态,也好像不行,求教呀
[line]50[/line]
不好意思。没说明情况,不好意思

作者: 芯☆淡茹水    时间: 2013-4-23 20:12
本帖最后由 芯☆淡茹水 于 2013-4-23 21:10 编辑

    还是我来解答吧。
貌似很简单,加了段脚本,50行都不到。但是完全符合LZ要求。(角色的血减少后才回血,满血不回。)
觉得还是发工程吧,里面已调试好,可直接测验,有问题请 @


********************************************
  有个重要的 BUG 。角色死亡后仍然回血,然后死亡的角色又活了,,,,
  所以,下面的工程已更新(已解决)
********************************************


Project1.rar (211.96 KB, 下载次数: 367)
作者: 亿万星辰    时间: 2013-4-23 20:16
被动回血技能?和毒状态在一个地方考虑一下~
作者: 芯☆淡茹水    时间: 2013-4-23 20:30
本帖最后由 芯☆淡茹水 于 2013-4-23 20:34 编辑
亿万星辰 发表于 2013-4-23 20:16
被动回血技能?和毒状态在一个地方考虑一下~


    其实可以简单化。在 Scene_Battle 的某个地方(一般在同伴命令之前比较好)。循环角色,判断角色
是否领悟设置的 “回血”特技,如果领悟“回血”特技,设置伤害 = 回血百分比 * 该角色的 maxhp
然后角色 HP + 伤害 ,最后再显示伤害 + 刷新状态窗口
作者: guoyq1988    时间: 2013-4-23 21:28
芯☆淡茹水 发表于 2013-4-23 20:12
还是我来解答吧。
貌似很简单,加了段脚本,50行都不到。但是完全符合LZ要求。(角色的血减少后才回血 ...

已测试,很赞,谢谢心大
我在试试会不会和  装备自动回血  有冲突
脚本盲就是悲剧
作者: 亿万星辰    时间: 2013-4-23 21:52
本帖最后由 亿万星辰 于 2013-4-24 17:43 编辑
  1. class Game_Actor < Game_Battler
  2.   # 1号技能恢复10%,5号技能恢复50%,注意大括号,逗号
  3.   Recover_Skill = {1=>10,5=>50}
  4.   # 17号状态每回合恢复15%
  5.   Recover_State = {17=>15}
  6.   # 1号武器恢复10%注意大括号
  7.   Recover_Weapon = {10=>10}
  8.   # 1号防具恢复10%注意大括号
  9.   Recover_Armor = {10=>10}
  10.   #--------------------------------------------------------------------------
  11.   # ● 判断状态 [连续伤害]
  12.   #--------------------------------------------------------------------------
  13.   def slip_damage?
  14.     recover = 0
  15.     for i in @skills
  16.       if Recover_Skill.keys.include?(i)
  17.         # 这里最后还是改成了全部叠加恢复效果,也就是如果3个技能都有恢复HP效果,那么就全部都会算在里面
  18.         recover += Recover_Skill[i]
  19.       end
  20.     end
  21.     for i in @states
  22.       if Recover_State.keys.include?(i)
  23.         recover += Recover_State[i]
  24.       end
  25.     end
  26.     if Recover_Weapon.keys.include?(@weapon_id)
  27.       recover += Recover_Weapon[@weapon_id]
  28.     end
  29.     for i in Recover_Armor.keys & [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
  30.       recover += Recover_Armor[i]
  31.     end
  32.     recover_hp = recover * self.maxhp / 100
  33.     recover_str = self.hp
  34.     self.hp += recover_hp
  35.     recover_str -= self.hp
  36.     self.damage = recover_str
  37.     self.damage_pop = true if recover_str != 0
  38.     super
  39.   end
  40. end
复制代码
这下连被动技能、状态、武器、防具的回血效果都有了,呵呵~
作者: 亿万星辰    时间: 2013-4-24 11:05
本帖最后由 亿万星辰 于 2013-4-24 17:45 编辑
亿万星辰 发表于 2013-4-23 21:52
这样试试看~@芯☆淡茹水  
顺道附赠一下装备武器和装备防具后的回血效果。。。


还是之前的代码,我又更新了一下,你可以去看一下~
@guoyq1988
作者: 芯☆淡茹水    时间: 2013-4-24 20:34
    还没弄好么?

那还是试试这个吧,依葫芦画瓢,把特技改成了状态,角色中了回血状态,每回合恢复相应的百分比血。
(角色满血不回血;角色有回血状态,再添加回血状态后,以前的回血状态将被解除,不同时存在两种回血状态)

回血状态设置为:不能抵抗 。 特技嘛,附加回血状态即可。(详见数据库设置)


Project1.rar (212.67 KB, 下载次数: 239)
作者: guoyq1988    时间: 2013-4-24 21:00
谢谢星大和心大(感觉好别扭。。。表打我。。。)
这个问题我一直搞不好,现在终于解决了
o(︶︿︶)o 唉悔当初不好好学习,现在看到鹰语就头疼。。。
谢谢两位。。。。
话说,怎么才能加分和好人卡?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1