Project1

标题: 关于某些武器普通攻击为其他伤害公式,怎么做? [打印本页]

作者: 牛肉面    时间: 2014-6-23 12:04
标题: 关于某些武器普通攻击为其他伤害公式,怎么做?
本帖最后由 牛肉面 于 2014-6-23 12:12 编辑

我这样写,可是没有成功。。不报错,但是没用
if attacker.weapon_id ==[3,8]
       atk = [attacker.atk - self.mdef / 2, 0].max
       self.damage = atk * (20 + attacker.int) / 20
      else
       atk = [attacker.atk - self.pdef / 2, 0].max
       self.damage = atk * (20 + attacker.str) / 20
      end
作者: heiwang1997    时间: 2014-6-23 12:40
目测第一行可能是  if [3,8].include?(attacker.weapon_id)
作者: qq1353826915    时间: 2014-6-23 12:59
if attacker.weapon_id ==[3,8]
OAO这一行要表达什么,这样表达不正确呢。
[3,8](数字太喜感了)这是一个数组,不能够直接判定的(我是新手。脚本不太懂错了的话求指出!~=-=)
那么应该怎么改呢?其实数组有相应的循环。 for .. in ..
【简单解释就是 for A in B (B是一个数组)将B里面的数字一个一个带入A,然后之后就可以进行判定。】
然后我给予的改发是这样子的。
【原来】if attacker.weapon_id ==[3,8]
       atk = [attacker.atk - self.mdef / 2, 0].max
       self.damage = atk * (20 + attacker.int) / 20
      else
       atk = [attacker.atk - self.pdef / 2, 0].max
       self.damage = atk * (20 + attacker.str) / 20
      end

【更改后】

$更改武器数组 = [3,8]#这里的名字可以更改的!~
for a in $更改武器数组
  if attacker.weapon_id == a
   atk = [attacker.atk - self.mdef / 2, 0].max
       self.damage = atk * (20 + attacker.int) / 20
   else
       atk = [attacker.atk - self.pdef / 2, 0].max
       self.damage = atk * (20 + attacker.str) / 20
   end
end
【应该正确吧~哪里错了求懂脚本的指出一下。】
#注意一下我只是提供个思路,里面的attacker.weapon_id什么的错了不关我事QAQ









作者: 牛肉面    时间: 2014-6-23 13:26
heiwang1997 发表于 2014-6-23 12:40
目测第一行可能是  if [3,8].include?(attacker.weapon_id)

成功了!感谢!!{:2_280:}
作者: chd114    时间: 2014-6-23 14:55
请及时修改帖子分类···@P叔 @美丽晨露 ······




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