Project1

标题: 学会拥有某技能,普通攻击有概率会心一击 [打印本页]

作者: jenganchan    时间: 2017-9-6 19:52
标题: 学会拥有某技能,普通攻击有概率会心一击
在Game_Battler 3里

# 会心一击修正
        if rand(100) < 4 * attacker.dex / self.agi
          self.damage *= 2
          self.critical = true
        end
else
if self.skill_learn?(55)
if rand(100) < 30
  self.damage = (atk*3 )
Audio.se_play("Audio/SE/"+"m7-1剑法",100,100)  #必杀时播放音效
  self.critical = true
        end


说明:角色学会了55号被动技能后,  战斗时普通攻击有30%概率3倍伤害!
本人不懂脚本,求高手帮忙!   
作者: yang1zhi    时间: 2017-9-8 15:12
本帖最后由 yang1zhi 于 2017-9-8 15:14 编辑

if self.skills.include?(55)   #角色技能数组是skills

self.damage = (atk*3 )  变为  self.damage *= 3

atk是个变量,你要是有自己设过,那你知道是什么,也是可以的。
只是3倍伤害,那就是伤害乘以3,也就是self.damage自己乘以3,self.damage *= 3

另外不建议文件名含中文名,或者特殊字符。建议英文格式。
中文在英文环境下是不能运行的


作者: jenganchan    时间: 2017-9-8 18:08
yang1zhi 发表于 2017-9-8 15:12
if self.skills.include?(55)   #角色技能数组是skills

self.damage = (atk*3 )  变为  self.damage *= 3

谢谢提醒!if self.skills.include?(55)  改会出错, if attacker.skills.include?(55),是不是这样改就可以了吗?
作者: jenganchan    时间: 2017-9-8 18:09
yang1zhi 发表于 2017-9-8 15:12
if self.skills.include?(55)   #角色技能数组是skills

self.damage = (atk*3 )  变为  self.damage *= 3

谢谢提醒!if self.skills.include?(55)  改会出错, if attacker.skills.include?(55),是不是这样改就可以了吗?
作者: jenganchan    时间: 2017-9-8 18:18
yang1zhi 发表于 2017-9-8 15:12
if self.skills.include?(55)   #角色技能数组是skills

self.damage = (atk*3 )  变为  self.damage *= 3

    出错是什么意思
作者: jenganchan    时间: 2017-9-8 18:19
1
作者: jenganchan    时间: 2017-9-8 18:19

作者: yang1zhi    时间: 2017-9-8 19:02
本帖最后由 yang1zhi 于 2017-9-8 19:04 编辑

self是被攻击方。user是攻击方。会报错大概是那个被攻击的人没有SKILLS这个数组,大概是默认的敌人。默认的敌人是没有技能组的。
attacker应该也是攻击方
if self.is_a?(Game_Enemy)    #这样可以判断是不是敌人

damage是写被攻击方的
作者: jenganchan    时间: 2017-9-8 19:45
yang1zhi 发表于 2017-9-8 19:02
self是被攻击方。user是攻击方。会报错大概是那个被攻击的人没有SKILLS这个数组,大概是默认的敌人。默认的 ...


undefined method "skills" for#<game_enemy:0xb05fc28>   这个出错
     
         m = rand(4)
       if m == 2
       if attacker.skills.include?(57)  #
         if self.is_a?(Game_Enemy)    #这样可以判断是不是敌人
            self.damage *= 2
          end
         if attacker.skills.include?(58)      
           self.damage *= 3  
            end
          if attacker.skills.include?(59)     
          self.damage *= 4
          end

            Audio.se_play("Audio/SE/"+"jianfa",100,100)  #必杀时播放音效
            self.critical = true
    end
作者: jenganchan    时间: 2017-9-8 19:52
看看 哪里出错了
作者: jenganchan    时间: 2017-9-8 20:20
jenganchan 发表于 2017-9-8 19:45
undefined method "skills" for#<game_enemy:0xb05fc28>   这个出错
     
         m = rand(4)

非常感谢,我已经解决问题了,祝你生活愉快!!!




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