查看: 3740|回复: 3

[原创发布] 仿VA技能伤害公式

[复制链接]

○赛

梦石
0
星屑
1254
在线时间
1276 小时
注册时间
2013-1-22
回帖
2078

贵宾

发表于 2015-10-18 12:51:46 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 天地有正气 于 2015-10-18 13:24 编辑

好吧,我承认这个脚本很水……具体使用方法放在脚本里了,要转载请通知我。
[pre lang="ruby"]#==============================================================================
# ■ 技能伤害公式 by 小周
#------------------------------------------------------------------------------
# 更新记录:2015.10.17 #-> 初版
#------------------------------------------------------------------------------
# 说明:这是一个仿VA的技能伤害公式功能,通过在脚本编辑器里定义公式达成效果。
# 冲突可能:其他战斗类脚本,不会报错,但是可能没有效果。如果发生请联系作者。
#==============================================================================
module SmallZhou
  JNSHGS = []
  # 书写格式:JNSHGS[技能编号] = "公式内容"
  JNSHGS[57] = "A.atk * 100 - B.pdef"
  # A代表技能发动者 B代表技能接受者
  # 通过用A/B.属性名的形式来表示公式
end
class Game_Battler
  alias xz_151017_skill_effect skill_effect
  def skill_effect(user, skill)
    xz_151017_skill_effect(user, skill)
    unless SmallZhou::JNSHGS[skill.id].nil?
      s = SmallZhou::JNSHGS[skill.id]
      s.gsub!("A") { "user" }
      s.gsub!("B") { "self" }
      self.hp += self.damage
      self.damage = eval(s)
      self.hp -= self.damage
    end
  end
end[/pre]
发现bug请第一时间告诉我哦~
顺便说一下,公式里面可以写很多东西,比如$game_variables[编号]代表的就是变量,而且还可以使用一些绝对值之类的函数。
举个例子:"abs(A.atk-B.atk)"代表的就是两者攻击力的差值。
还有这个:"[A.atk * 2 - B.pdef * 2,1]"

点评

好东西,我拿去用了。多谢作者!  发表于 2015-11-2 19:48

评分

参与人数 3星屑 +230 收起 理由
白鬼 + 30 拿去用了,多谢小周
邪月长啸 + 100 塞糖
牛肉面 + 100 塞糖!!

查看全部评分

脚本白痴

梦石
0
星屑
422
在线时间
903 小时
注册时间
2007-7-9
回帖
1259
发表于 2015-10-20 18:44:23 | 显示全部楼层
我支持RMXP的支持者~

正统向RPG-大雄的高井山奇谈
https://rpg.blue/thread-369758-1-1.html
哆啦A梦RTP风格素材
https://rpg.blue/forum.php?mod=viewthread&tid=394608
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-10-22 22:48:43 | 显示全部楼层
必须用大写吗。。。直接匹配a.
b.不就好了。。。
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

聪仔

梦石
0
星屑
6187
在线时间
3077 小时
注册时间
2013-12-26
回帖
3076
发表于 2015-11-4 19:08:53 | 显示全部楼层
self.hp += self.damage
self.damage = eval(s)
self.hp -= self.damage
这一加一减是在干啥咿咿...
当伤害超过hp是否会出现bug咿咿...
全凭目测,未实际测试还请见谅咿咿...
聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部