Project1

标题: 自动百分百回血回魔的状态怎么弄? [打印本页]

作者: 灼眼的焰刃    时间: 2014-6-5 21:23
标题: 自动百分百回血回魔的状态怎么弄?
XP设这种状态是要该脚本的,但度娘上说的都用不起来。比如有个连续伤害的妙用,就用不起来。产生的问题是在平常状态会如中毒一样扣血。我也看不懂那个脚本,放弃了。
就是想求个能用的自动回血脚本。
以上
作者: Im剑侠客    时间: 2014-6-5 23:56
原来是这样,用一个并行处理的公共事件,使用条件分歧,若某角色处在某状态时,该角色,hp =9999,sp =9999。
作者: moy    时间: 2014-6-6 00:20
本帖最后由 myownroc 于 2014-6-7 01:06 编辑

RUBY 代码复制
  1. module PERCENT_REGEN
  2.    REGEN_RATE = 0.05 # 以小数表示的百分比,每有一个回血状态会增加5%的自动回血的意味
  3.    REGEN_STATES = [35,37] # 回复状态id数组,存在于此数组的
  4. end
  5.  
  6. class Game_Battler
  7.   include PERCENT_REGEN
  8.   #--------------------------------------------------------------------------
  9.   # ● 应用连续伤害效果
  10.   #--------------------------------------------------------------------------
  11.   def slip_damage_effect
  12.     # 设置回复
  13.     regen_rate = 0
  14.     slip_count = 0
  15.     @states.each{|id|
  16.         regen_rate += REGEN_RATE if REGEN_STATES.include(id)
  17.         slip_count += 1
  18.     }
  19.     # 设置伤害
  20.     self.damage = 0
  21.     self.damage = self.maxhp / 10 if slip_count > regen_rate / REGEN_RATE
  22.     self.damage -= self.maxhp * regen_rate
  23.     # 抵消返回
  24.     return if self.damage ==0
  25.     # 分散准备
  26.     amp = [self.damage.abs * 15 / 100, 1].max
  27.     #分散度
  28.     if self.damage.abs > 0
  29.       self.damage += rand(amp+1) + rand(amp+1) - amp
  30.     else
  31.       self.damage -= rand(amp+1) + rand(amp+1) - amp
  32.     end
  33.     # HP 的伤害减法运算
  34.     self.hp -= self.damage
  35.     # 过程结束
  36.     return true
  37.   end
  38. end


以上未经测试。





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