Project1

标题: 自制几率秒杀技能(脚本)的问题。 [打印本页]

作者: 351323331    时间: 2012-6-5 18:25
标题: 自制几率秒杀技能(脚本)的问题。
  1. #--------------------------------------------------------------------------
  2.   # ● 计算技能/物品伤害
  3.   #     user : 技能或物品的使用者
  4.   #     obj  : 使用的技能或物品
  5.   #    计算结果赋值入 @hp_damage
  6.   #--------------------------------------------------------------------------
  7.   def make_obj_damage_value(user, obj)
  8.     damage = obj.base_damage                        # 基础计算
  9.         if damage > 0                               # 若伤害为正
  10.       damage += user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
  11.       damage += user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
  12.       unless obj.ignore_defense                     # 除非无视防御力
  13.         damage -= self.def * 2 * obj.atk_f / 100    # 目标攻击力关系度
  14.         damage -= self.spi * 1 * obj.spi_f / 100    # 目标精神力关系度
  15.       end
  16.       if skill_id = 86
  17.         n = rand(100)
  18.         if n < 3
  19.           Audio.se_play("Audio/SE/Confuse")
  20.           @hp = 0
  21.         end
  22.       end
  23.           @critical = (rand(100) < user.cri)            # 会心一击判断
  24.        @critical = false if prevent_critical         # 防止会心一击判断
  25.        damage *= 2 if @critical                      # 会心一击校正
  26.        damage = 0 if damage < 0                      # 设负数伤害为0
  27.     elsif damage < 0                                # 若伤害为负
  28.       damage -= user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
  29.       damage -= user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
  30.     end
  31.     damage *= elements_max_rate(obj.element_set)    # 属性校正
  32.     damage /= 100
  33.     damage = apply_variance(damage, obj.variance)   # 分散度
  34.     damage = apply_guard(damage)                    # 防御校正
  35.     if obj.damage_to_mp  
  36.       @mp_damage = damage                           # 伤害魔力
  37.     else
  38.       @hp_damage = damage                           # 伤害体力
  39.     end
  40.   end
复制代码
这么写效果是有,但是所有技能的变成带有秒杀效果了。请问该怎么修改。。

PS:这个是依葫芦画瓢弄的,楼主自己是脚本盲。。。dsu_plus_rewardpost_czw
作者: 明特·布兰马修    时间: 2012-6-5 19:30
纯路过
也不知道怎么改啊
于是多加个判断
  1. if skill_id = 86
  2.           if user.is_a?(Game_Actor)
  3.         n = rand(100) < 3
  4.           Audio.se_play("Audio/SE/Confuse")
  5.           @hp = 0
  6.         end
  7.       end
复制代码

作者: 怪蜀黍    时间: 2012-6-5 20:54
注意:if后面是“==”而不是“=”,你原脚本写错了,因此所有技能都有效了。还有,你的skill_id是非法的,未定义,系统是不认识它的。
  1. if obj.id == 86 and obj.is_a?(RPG::Skill)
  2.   if rand(100) < 3
  3.     Audio.se_play("Audio/SE/Confuse")
  4.     self.hp = 0
  5.   end
  6. end
复制代码





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