Project1

标题: 仿VA技能伤害公式 [打印本页]

作者: 天地有正气    时间: 2015-10-18 12:51
标题: 仿VA技能伤害公式
本帖最后由 天地有正气 于 2015-10-18 13:24 编辑

好吧,我承认这个脚本很水……具体使用方法放在脚本里了,要转载请通知我。
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 技能伤害公式 by 小周
  3. #------------------------------------------------------------------------------
  4. # 更新记录:2015.10.17 #-> 初版
  5. #------------------------------------------------------------------------------
  6. # 说明:这是一个仿VA的技能伤害公式功能,通过在脚本编辑器里定义公式达成效果。
  7. # 冲突可能:其他战斗类脚本,不会报错,但是可能没有效果。如果发生请联系作者。
  8. #==============================================================================
  9. module SmallZhou
  10.   JNSHGS = []
  11.   # 书写格式:JNSHGS[技能编号] = "公式内容"
  12.   JNSHGS[57] = "A.atk * 100 - B.pdef"
  13.   # A代表技能发动者 B代表技能接受者
  14.   # 通过用A/B.属性名的形式来表示公式
  15. end
  16. class Game_Battler
  17.   alias xz_151017_skill_effect skill_effect
  18.   def skill_effect(user, skill)
  19.     xz_151017_skill_effect(user, skill)
  20.     unless SmallZhou::JNSHGS[skill.id].nil?
  21.       s = SmallZhou::JNSHGS[skill.id]
  22.       s.gsub!("A") { "user" }
  23.       s.gsub!("B") { "self" }
  24.       self.hp += self.damage
  25.       self.damage = eval(s)
  26.       self.hp -= self.damage
  27.     end
  28.   end
  29. end

发现bug请第一时间告诉我哦~
顺便说一下,公式里面可以写很多东西,比如$game_variables[编号]代表的就是变量,而且还可以使用一些绝对值之类的函数。
举个例子:"abs(A.atk-B.atk)"代表的就是两者攻击力的差值。
还有这个:"[A.atk * 2 - B.pdef * 2,1]"
作者: 牛肉面    时间: 2015-10-20 18:44
我支持RMXP的支持者~
作者: chd114    时间: 2015-10-22 22:48
必须用大写吗。。。直接匹配a.
b.不就好了。。。
作者: 正太君    时间: 2015-11-4 19:08
self.hp += self.damage
self.damage = eval(s)
self.hp -= self.damage
这一加一减是在干啥咿咿...
当伤害超过hp是否会出现bug咿咿...
全凭目测,未实际测试还请见谅咿咿...




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