Project1

标题: va做被动技能 [打印本页]

作者: 506859867    时间: 2013-5-2 02:10
标题: va做被动技能
就是做一个当敌人的血量小于50%就对其伤害加倍的被动技能,我是事件白痴,脚本的话还能看懂
作者: 光の異形    时间: 2013-5-2 09:13
本帖最后由 光の異形 于 2013-5-2 10:11 编辑

吾辈脑子笨
不知道这样可以吗

增加攻击属性 拥有被动技能XXXXX的角色 能把自身的技能换成这个属性 强化技能 或者习得更强的技能种类 像是什么奥义 秘奥义之类的

增加状态 这个状态可以和其他状态并存 处于这个状态的敌人会进入XXX属性伤增加一倍的状态

当某个敌人生命低于50%时 会自动进入这个状态
效果是 XXX属性的抗性弱化一倍
这样就好了

技能里边21 22 23 是没有用的技能 可以在天赋栏吧 像是22备注 XXX技能\奥义 能习得XX类的技能\奥义
能对生命值低于的敌人造成双倍伤害 什么的 ········· 自己思考要怎么描述才满意吧

总之 我这个办法 就是 给你的角色的技能一个独有属性 给处于50%生命下的敌人自己添加 XXX状态 这个状态效果是角色独有属性伤害加倍
然后 就能限制某个角色 对50%生命以下的敌人造成双倍伤害了

如果觉得强化什么的 奥义什么的 不满意 你可以设置同名技能 同名属性 但是ID不一样 但是游戏显示是一样 一样可以实现的
属性
1炎
2炎
3炎
4
···
这样名字一样的属性 但是ID不一样 系统就会为三个了 显示是一样的 玩家看到的都是炎 觉得是一个 技能 物品是一样的 ······················
  吾辈只会这种笨办法 想笑就笑吧
作者: 506859867    时间: 2013-5-4 19:45
- -给事件帝跪了,但是貌似有些麻烦啊,有无更简单点的方法?
作者: 熊喵酱    时间: 2013-5-5 02:26
http://rpg.blue/thread-251357-1-1.html

這應該有
作者: 506859867    时间: 2013-5-5 02:38
76213585 发表于 2013-5-5 02:26
http://rpg.blue/thread-251357-1-1.html

這應該有

这个我会了,因为是对自己角色作用的脚本,而我需要的技能是对敌人作用的
作者: 熊喵酱    时间: 2013-5-5 05:46
本帖最后由 76213585 于 2013-5-4 14:59 编辑
506859867 发表于 2013-5-4 11:38
这个我会了,因为是对自己角色作用的脚本,而我需要的技能是对敌人作用的 ...


所以是指說一個技能
如果敵人hp少於50% 就附加100点什麼的那類的?
我記得在哪看過 我去找找


找到了...
http://rpg.blue/forum.php?mod=viewthread&tid=307316


如果你是要血低於50%攻擊1.2應該是這樣

(最大hp-hp)乘上最大hp跟現有hp的比例如果大於0.5 (50%) 是的話乘上0.2(120%)  不是就乘0(100%)
-------------------------------------------------------------
(b.mhp-b.hp)*(b.hp_rate <= 0.5 ? 0.2 : 0)
作者: 506859867    时间: 2013-5-5 14:00
76213585 发表于 2013-5-5 05:46
所以是指說一個技能
如果敵人hp少於50% 就附加100点什麼的那類的?
我記得在哪看過 我去找找

谢谢!事件有时还是挺省事的
作者: 救世小树    时间: 2013-5-8 22:10
本帖最后由 救世小树 于 2013-5-8 22:11 编辑

Game_Battler 脚本第350行左右有一个方法叫 make_damage_value
  1.   def make_damage_value(user, item)
  2.     value = item.damage.eval(user, self, $game_variables)
  3.     value *= 2 if self.hp_rate<=0.5 && user.is_a?(Game_Actor) && user.skill_learn?($data_skills[44]) #添加这一行,44号技能就是你想要的被动技能了
  4.     value *= item_element_rate(user, item)
  5.     value *= pdr if item.physical?
  6.     value *= mdr if item.magical?
  7.     value *= rec if item.damage.recover?
  8.     value = apply_critical(value) if @result.critical
  9.     value = apply_variance(value, item.damage.variance)
  10.     value = apply_guard(value)
  11.     value += 1
  12.     @result.make_damage(value.to_i, item)
  13.   end
复制代码
去测试吧




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