查看: 5017|回复: 15

[已经解决] 请问有没有类似DNF狂战士那种血量越低技能伤害越高的脚本

[复制链接]
梦石
0
星屑
375
在线时间
74 小时
注册时间
2014-1-13
回帖
31
发表于 2017-7-26 15:39:44 | 显示全部楼层 |阅读模式

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

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

×
请各位大神帮帮忙
梦石
0
星屑
435
在线时间
150 小时
注册时间
2015-8-19
回帖
23
发表于 2017-7-27 02:32:45 来自手机 | 显示全部楼层
这用不着脚本吧
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2017-7-27 13:28:01 | 显示全部楼层
像VA那样有技能公式就不用脚本..
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2017-7-27 14:13:35 | 显示全部楼层
本帖最后由 yang1zhi 于 2017-7-27 14:19 编辑

在脚本里找到计算伤害的地方,稍微改动一下就可以了。
默认的应该是在def skill_effect(user, skill)里面
self.damage这个是伤害。self.damage = power * rate / 20

# 计算威力
      power = skill.power + user.atk * skill.atk_f / 100
计算伤害里面有用到POWER这个变量。
这条是POWER这个变量的计算。你想根据血量设置,那在里面加个血量就行了。
你可以乘以血量。或者除以血量,这里就根据数学自己发挥了。
.HP是当前血量
.MAXHP是最大血量
user是使用者
self是被打者

评分

参与人数 1星屑 +200 收起 理由
RyanBern + 200 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
375
在线时间
74 小时
注册时间
2014-1-13
回帖
31
 楼主| 发表于 2017-7-27 14:26:56 | 显示全部楼层
yang1zhi 发表于 2017-7-27 14:13
在脚本里找到计算伤害的地方,稍微改动一下就可以了。
默认的应该是在def skill_effect(user, skill)里面
s ...

可是我只是想某些人这样伤害计算怎么弄呢
回复

使用道具 举报

梦石
0
星屑
375
在线时间
74 小时
注册时间
2014-1-13
回帖
31
 楼主| 发表于 2017-7-27 14:27:18 | 显示全部楼层
soulsaga 发表于 2017-7-27 13:28
像VA那样有技能公式就不用脚本..

可是我用的是XP。。。
回复

使用道具 举报

梦石
0
星屑
375
在线时间
74 小时
注册时间
2014-1-13
回帖
31
 楼主| 发表于 2017-7-27 14:29:08 | 显示全部楼层

那请问怎么实现这个设置呢?
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2017-7-27 15:07:49 | 显示全部楼层
本帖最后由 yang1zhi 于 2017-7-27 15:08 编辑
liujinjie9999 发表于 2017-7-27 14:29
那请问怎么实现这个设置呢?


这个问题比较广泛。只是说血越少伤害越高。并没有说按什么比例,怎么计算。
只是求伤害的话,可以直接把
self.damage进行修改,首先你要知道伤害和攻击的区别。伤害是减多少HP,而攻击是还没进行伤害计算。
所以你要给你个结果的话。
那么。self.damage = power * rate / 20下面加一句
self.damage *=  user.hp/user.maxhp

如果要限定哪个技能的话。就是
if skill.id == 技能ID
self.damage *=  user.hp/user.maxhp
end
回复

使用道具 举报

梦石
0
星屑
1442
在线时间
328 小时
注册时间
2016-4-4
回帖
126

开拓者

发表于 2017-7-27 15:20:01 | 显示全部楼层
本帖最后由 porlutia 于 2017-7-27 15:24 编辑

如果是单一技能的话  可以这么写  
self.damage = power * rate / 20 * (2 - user.hp/user.maxhp) if skill.id == x #如果技能id为x  技能伤害为原计算公式计算的伤害 乘上2减去剩余HP的百分比  
比如 MAXHP是200 你剩下50 那加成就是 2 -  50/200 也就是 1-50/200+1 也就是 1.75 就是说 如果你MAXHP200 你当前HP50的情况下 你的技能伤害会是原来的1.75倍

评分

参与人数 1星屑 +200 收起 理由
RyanBern + 200 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
375
在线时间
74 小时
注册时间
2014-1-13
回帖
31
 楼主| 发表于 2017-7-27 22:45:07 | 显示全部楼层
porlutia 发表于 2017-7-27 15:20
如果是单一技能的话  可以这么写  
self.damage = power * rate / 20 * (2 - user.hp/user.maxhp) if skill ...

请问这个改动在哪个脚本里面呢?
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部