Project1

标题: s如何制作百分比扣血技能? [打印本页]

作者: 终极骑士    时间: 2012-7-27 09:17
标题: s如何制作百分比扣血技能?
本帖最后由 终极骑士 于 2012-7-27 13:17 编辑

我想制作一个使用后造成我方99%生命上限的伤害的技能,如何使用公共事件或是脚本制作出此效果?dsu_plus_rewardpost_czw
作者: nc的汪海兵    时间: 2012-7-27 12:47
扣上限……还让不让人活了
就在该技能上弄个公共事件
变量操作 将该角色的hp上限赋值给一个变量,这里用变量1表示
然后再变量操作,将那个被赋值的变量(变量1)先乘99再除100
再选择增减角色hp,选减少,数值为变量1 完成
如果有多个角色会这个技能,那就设多个同名技能,再按以上步骤做公共事件
作者: cinderelmini    时间: 2012-7-27 19:56
意思是扣满HP的99%吧?还是扣现有HP的99%?
因为如果是扣满HP的99%的话,要是角色不是满血去打架被用这个技能就挂掉了说~
还有另一种理解就是2楼的意思:扣上限?这样的话以后HP就算满也就是目前的1%了啊亲!!!~
嗯~~~提供这三种理解的脚本方法:
先在[Game_Battler 3]脚本里找到def skill_effect(user, skill)~也就是"应用特技效果"这段~
找到里面的:
# HP 的伤害减法运算
last_hp = self.hp
self.hp -= self.damage
effective |= self.hp != last_hp

然后我们开始~
思路1:扣满HP的99%
(呃...我们以阿尔西斯的十字斩为例~十字斩的ID是57哦~别问我ID在哪里查~)
在这里的
self.hp -= self.damage
这句,加个条件,变成:
if skill.id == 57
self.hp -= (self.maxhp * 0.99).to_i
else
self.hp -= self.damage
end
这样一来,只要发动十字斩,对象的HP就减少满HP的99%~

然后第二个思路,扣对方目前血量的99%:
只需要把条件里的伤害式子换一下:
也就是这样子:
if skill.id == 57
self.hp -= (self.hp * 0.99).to_i
else
self.hp -= self.damage
end

而第三种思路就是要命的黑手技能了~~
一样的改法:
if skill.id == 57
self.maxhp -= (self.maxhp * 0.99).to_i
else
self.hp -= self.damage
end
于是这样大概也就完成了~~~吧~~~
作者: 爆焰    时间: 2012-7-29 23:58
设置变量到技能上即可。




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