Project1

标题: 怎么样才能制作一个法术吸血效果呢? [打印本页]

作者: zlpwb1666    时间: 2012-9-4 19:15
标题: 怎么样才能制作一个法术吸血效果呢?
类似于LOL中 娜娜的被动技能。造成的法术伤害将会回复XX%的生命值
作者: Mic_洛洛    时间: 2012-9-5 13:30
打开数据库-->技能-->技能效果-->回复体力值XX%
只要是该角色使用的法术都添加上就好了。
如果你觉得麻烦,
而且感觉不像被动的,
非要弄个蛋疼的被动技能的话
可以设置一个新的技能,技能效果中添加公共事件
然后公共事件里设置分歧条件判断技能是否符合体力值的回复条件
符合就回复,不符合就什么事都没有(具体应该要用到事件脚本= =||,可惜洛子不会脚本,所以抱歉了~)

简单的被动技能可以类似地设置,只是法术伤害的判断部分不好弄
因此,最实际的是找个专门的被动技能脚本(话说这好像暂未发现。。。)

抱歉啦,我只能给点思路。
希望你的问题最终能得到解决的说~


作者: 杜塞尔    时间: 2012-9-5 19:55
VA默认的就有吸血效果吧。

技能类型选体力值吸收就好了。
作者: zlpwb1666    时间: 2012-9-5 21:52
杜塞尔 发表于 2012-9-5 19:55
VA默认的就有吸血效果吧。

技能类型选体力值吸收就好了。

体力值吸收就是全额吸收啊  譬如 造成200点伤害就会吸收200点生命
我想要得是譬如说20%的法术吸血   造成200点伤害就恢复40点生命
作者: zlpwb1666    时间: 2012-9-5 22:06
Mic_洛洛 发表于 2012-9-5 13:30
打开数据库-->技能-->技能效果-->回复体力值XX%
只要是该角色使用的法术都添加上就好了。
如果你觉得麻烦, ...

饿 好像有点小问题哈
打开数据库-->技能-->技能效果-->回复体力值XX%
法术吸血是像吸血术一样,攻击目标 并将伤害的XX%恢复为自身的生命
但是如果这个技能的范围选择是对敌方单人造成伤害,那么这个恢复体力值是恢复施法者的还是敌方单人的呢
作者: Mic_洛洛    时间: 2012-9-5 22:18
看来睡眠不足,答题都答不好了
应该是会对敌人的说

那个技能可以类似这样设置
如图

作者: zlpwb1666    时间: 2012-9-5 22:24
Mic_洛洛 发表于 2012-9-5 22:18
看来睡眠不足,答题都答不好了
应该是会对敌人的说

辛苦了,不过好像。。。。
200+a的法强x3-b的魔抗。。。
体力值吸收还是全额吸收啊。
能不能就按百分比来吸收的啊 造成1000点伤害 就吸收200点生命   20%的法术吸血
作者: Mic_洛洛    时间: 2012-9-5 23:14
zlpwb1666 发表于 2012-9-5 22:24
辛苦了,不过好像。。。。
200+a的法强x3-b的魔抗。。。
体力值吸收还是全额吸收啊。

这个伤害什么的你可以自己设定啊
a是自己的角色
b是敌人
mat魔攻
mdf魔防
你把计算公式弄好后,整个用()括起来再添上*0.2就行了
如果是固定的话,那就把下面的离散度调0和允许必杀给选否即可。
如(a.mat * 3 - b.mdf)*0.2 ,即是最终效果=(角色魔攻*3-敌人魔防)*20%
其他的技能也可以类似的设置。。。
搜索相关的旧帖也有不少提及伤害公式的设置的说。(搜索关键词“伤害公式”即可)
这里我就不详解了。

PS:希望这能帮到LZ吧!

作者: zlpwb1666    时间: 2012-9-11 15:09
本帖最后由 zlpwb1666 于 2012-9-11 15:18 编辑
Mic_洛洛 发表于 2012-9-5 23:14
这个伤害什么的你可以自己设定啊
a是自己的角色
b是敌人


好厉害哦 。
其实我不太知道还可以用括号的。。
还有  我们好像又绕回原点了
(XXXXX)*0.2之后,就等于是将伤害也降到了0.2倍啊?
作者: Mic_洛洛    时间: 2012-9-11 17:17
技能使用效果--->体力值恢复改为负值的就好
因为上面用公式的是负责吸收部分的输出,
如果要加上原本的输出,那就得通过下面的使用效果来实现了。。。
试试吧!



作者: 只是逛逛    时间: 2012-9-16 11:06
我记得有个技能叫生命吸收,自己看着办。
作者: 空想飞翔    时间: 2012-9-17 05:51
本帖最后由 空想飞翔 于 2012-9-17 05:55 编辑

在脚本编辑器中选择Game_ActionResult,在右边找到“生成伤害”一栏,改为
  1.   #--------------------------------------------------------------------------
  2.   # ● 生成伤害
  3.   #--------------------------------------------------------------------------
  4.   def make_damage(value, item)
  5.     @critical = false if value == 0
  6.     @hp_damage = value if item.damage.to_hp?
  7.     @mp_damage = value if item.damage.to_mp?
  8.     @mp_damage = [@battler.mp, @mp_damage].min
  9.     @hp_drain = (@hp_damage*0.2).to_i if item.damage.drain?
  10.     @mp_drain = (@mp_damage*0.2).to_i if item.damage.drain?
  11.     @hp_drain = [@battler.hp, @hp_drain].min
  12.     @success = true if item.damage.to_hp? || @mp_damage != 0
  13.   end
复制代码
改9、10行,上面为hp吸收,下面为mp吸收,0.2为吸收的比例。
但注意这会改变所有吸收有关的技能,而非仅一个技能。

若要让不同技能吸收比例不同,预想上是把上面中0.2改为变量,在不同技能中令该变量不同,但具体的实现方法并不很清楚。{:2_270:}
作者: zlpwb1666    时间: 2012-9-17 20:02
Mic_洛洛 发表于 2012-9-11 17:17
技能使用效果--->体力值恢复改为负值的就好
因为上面用公式的是负责吸收部分的输出,
如果要加上原本的输出 ...

虽然有点局限性但是还是很好了  
真是的,不知道该怎么感谢你呢
作者: 1243852    时间: 2012-9-17 20:53
体力吸收里面,不是有个计算公式么,,不是全额吸收。




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