Project1

标题: 速度判断异常==》0杀伤 [打印本页]

作者: 灯笼菜刀王    时间: 2008-7-26 23:38
- -,没想到小柯也会问这种无厘头问题~~~

是什么什么呢?战斗公式?我不相信小柯不会改战斗公式- -......
作者: 越前リョーマ    时间: 2008-7-26 23:49
以下引用灯笼菜刀王于2008-7-26 15:38:28的发言:

- -,没想到小柯也会问这种无厘头问题~~~

是什么什么呢?战斗公式?我不相信小柯不会改战斗公式- -......

不是战斗公式……
是速度的判断有问题,高于100就拥有绝对的回避能力。
作者: 柳之一    时间: 2008-7-27 00:44
这个问题的确很棘手,没有想出来是那里出现问题{/gg}
作者: 灯笼菜刀王    时间: 2008-7-27 01:14
以下引用越前リョーマ于2008-7-26 15:49:23的发言:


以下引用灯笼菜刀王于2008-7-26 15:38:28的发言:

- -,没想到小柯也会问这种无厘头问题~~~

是什么什么呢?战斗公式?我不相信小柯不会改战斗公式- -......


不是战斗公式……
是速度的判断有问题,高于100就拥有绝对的回避能力。


只要把命中率的公式删掉,那所有攻击都是100%~~
回避能力就是看战斗公式嘛.....
如果不是战斗公式,那还会在哪里有能影响命中的?(回避力就是相对命中率来说的嘛)
作者: 越前リョーマ    时间: 2008-7-27 01:52
突然……
速度的问题恢复了……
但是……
新问题又出现了……
打敌人总是0杀伤……
作者: 灯笼菜刀王    时间: 2008-7-27 02:05
以下引用越前リョーマ于2008-7-26 17:52:07的发言:

突然……
速度的问题恢复了……
但是……
新问题又出现了……
打敌人总是0杀伤……


= = 你是不是没给你的系统饭吃,让他们一个一个造反...还是轮流的= =...
作者: 越前リョーマ    时间: 2008-7-27 02:15
以下引用灯笼菜刀王于2008-7-26 18:05:58的发言:


以下引用越前リョーマ于2008-7-26 17:52:07的发言:

突然……
速度的问题恢复了……
但是……
新问题又出现了……
打敌人总是0杀伤……



= = 你是不是没给你的系统饭吃,让他们一个一个造反...还是轮流的= =...

我都是好好对待他们的……
作者: CIS狂人    时间: 2008-7-27 02:50
...少废话....把战斗公式改下
作者: 越前リョーマ    时间: 2008-7-27 02:59
以下引用CIS狂人于2008-7-26 18:50:27的发言:

...少废话....把战斗公式改下

我没改过战斗公式。
作者: 凌冰    时间: 2008-7-27 03:03
把def attack_effect(attacker)那个函数给我看看
作者: 精灵使者    时间: 2008-7-27 03:08
命中和闪避是不能超过100的。
我就因为这个修正了闪避公式
作者: 越前リョーマ    时间: 2008-7-27 03:12
以下引用精灵使者于2008-7-26 19:08:43的发言:

命中和闪避是不能超过100的。
我就因为这个修正了闪避公式

把改过的闪避公式给我吧……
[LINE]1,#dddddd[/LINE]
以下引用凌冰于2008-7-26 19:03:17的发言:

把def attack_effect(attacker)那个函数给我看看

你等一下……
作者: 越前リョーマ    时间: 2008-7-27 03:35
话说那个函数部分……
  1. def attack_effect(attacker)
  2.     # 清除会心一击标志
  3.     self.critical = false
  4.     # 第一命中判定
  5.     hit_result = (rand(100) < attacker.hit)
  6.     # 命中的情况下
  7.     if hit_result == true
  8.       # 计算基本伤害
  9.       atk = [attacker.atk - self.pdef / 2, 0].max
  10.       self.damage = atk * (20 + attacker.str) / 20
  11.       # 属性修正
  12.       self.damage *= elements_correct(attacker.element_set)
  13.       self.damage /= 100
  14.       # 伤害符号正确的情况下
  15.       if self.damage > 0
  16.         # 会心一击修正
  17.         if rand(100) < 4 * attacker.dex / self.agi
  18.           self.damage *= 2
  19.           self.critical = true
  20.         end
  21.         # 防御修正
  22.         if self.guarding?
  23.           self.damage /= 2
  24.         end
  25.       end
  26.       # 分散
  27.       if self.damage.abs > 0
  28.         amp = [self.damage.abs * 15 / 100, 1].max
  29.         self.damage += rand(amp+1) + rand(amp+1) - amp
  30.       end
  31.       # 第二命中判定
  32.       eva = 8 * self.agi / attacker.dex + self.eva
  33.       hit = self.damage < 0 ? 100 : 100 - eva
  34.       hit = self.cant_evade? ? 100 : hit
  35.       hit_result = (rand(100) < hit)
  36.     end
  37.     # 命中的情况下
  38.     if hit_result == true
  39.       # 状态冲击解除
  40.       remove_states_shock
  41.       # HP 的伤害计算
  42.       self.hp -= self.damage
  43.       # 状态变化
  44.       @state_changed = false
  45.       states_plus(attacker.plus_state_set)
  46.       states_minus(attacker.minus_state_set)
  47.     # Miss 的情况下
  48.     else
  49.       # 伤害设置为 "Miss"
  50.       self.damage = "Miss"
  51.       # 清除会心一击标志
  52.       self.critical = false
  53.     end
  54.     # 过程结束
  55.     return true
  56.   end
复制代码

作者: 精灵使者    时间: 2008-7-27 03:39
似乎我没有改这里
我改的是def的命中部分。
搜索一下“命中”
作者: redant    时间: 2008-7-27 03:55
觉得默认的伤害不好计算 所以改了……{/gg}
先填上试试吧
不行,再删了……再PIA飞我

#物理伤害=(我攻击力+我力量-敌物理防御)*2
  1. def attack_effect(attacker)
  2.     # 清除会心一击标志
  3.     self.critical = false
  4.     # 第一命中判定
  5.     hit_result = (rand(100) < attacker.hit)
  6.     # 命中的情况下
  7.     if hit_result == true
  8.       # 计算基本伤害
  9.       atk = [attacker.atk , 0].max
  10.       self.damage = (attacker.atk  - self.pdef + attacker.str)*2
  11.       # 属性修正
  12.       self.damage *= elements_correct(attacker.element_set)
  13.       self.damage /= 100
  14.       # 伤害符号正确的情况下
  15.       if self.damage > 0
  16.         # 会心一击修正
  17.         if rand(100) < 4 * attacker.dex / self.agi
  18.           self.damage *= 2
  19.           self.critical = true
  20.         end
  21.         # 防御修正
  22.         if self.guarding?
  23.           self.damage /= 2
  24.         end
  25.       end
复制代码
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 越前リョーマ    时间: 2008-7-27 04:04
以下引用redant于2008-7-26 19:55:39的发言:

觉得默认的伤害不好计算 所以改了……
先填上试试吧
不行,再删了……再PIA飞我

#物理伤害=(我攻击力+我力量-敌物理防御)*2
def attack_effect(attacker)
    # 清除会心一击标志
    self.critical = false
    # 第一命中判定
    hit_result = (rand(100) < attacker.hit)
    # 命中的情况下
    if hit_result == true
      # 计算基本伤害
      atk = [attacker.atk , 0].max
      self.damage = (attacker.atk  - self.pdef + attacker.str)*2
      # 属性修正
      self.damage *= elements_correct(attacker.element_set)
      self.damage /= 100
      # 伤害符号正确的情况下
      if self.damage > 0
        # 会心一击修正
        if rand(100) < 4 * attacker.dex / self.agi
          self.damage *= 2
          self.critical = true
        end
        # 防御修正
        if self.guarding?
          self.damage /= 2
        end
      end

可以了……
谢谢了……
作者: redant    时间: 2008-7-27 04:36
恩 这个只是把 速度之类的
我觉得很囧 计算伤害 麻烦的东西 改了改{/gg}
作者: 越前リョーマ    时间: 2009-6-12 08:00
标题: 速度判断异常==》0杀伤
不知道为什么,速度判断异常。
当速度超过100时,就绝对无法打中。
我想是因为哪个脚本把速度的定义改变了。

所以我希望有人能再写一个恢复成默认判断速度的脚本,来解决这个问题……
[LINE]1,#dddddd[/LINE]
突然……
速度的问题恢复了……
但是……
新问题又出现了……
打敌人总是0杀伤…… [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~




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