设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4296|回复: 15
打印 上一主题 下一主题

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

[复制链接]

Lv2.观梦者

梦石
0
星屑
375
在线时间
74 小时
注册时间
2014-1-13
帖子
40
跳转到指定楼层
1
发表于 2017-7-26 15:39:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
请各位大神帮帮忙

Lv2.观梦者

梦石
0
星屑
435
在线时间
150 小时
注册时间
2015-8-19
帖子
31
2
发表于 2017-7-27 02:32:45 手机端发表。 | 只看该作者
这用不着脚本吧
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36462
在线时间
10800 小时
注册时间
2009-3-15
帖子
4815
3
发表于 2017-7-27 13:28:01 | 只看该作者
像VA那样有技能公式就不用脚本..
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

4
发表于 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 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

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

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

使用道具 举报

Lv2.观梦者

梦石
0
星屑
375
在线时间
74 小时
注册时间
2014-1-13
帖子
40
6
 楼主| 发表于 2017-7-27 14:27:18 | 只看该作者
soulsaga 发表于 2017-7-27 13:28
像VA那样有技能公式就不用脚本..

可是我用的是XP。。。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
375
在线时间
74 小时
注册时间
2014-1-13
帖子
40
7
 楼主| 发表于 2017-7-27 14:29:08 | 只看该作者

那请问怎么实现这个设置呢?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

8
发表于 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
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1438
在线时间
328 小时
注册时间
2016-4-4
帖子
168

开拓者

9
发表于 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 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

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

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

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-27 10:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表