设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3115|回复: 12
打印 上一主题 下一主题

[已经解决] 学会拥有某技能,普通攻击有概率会心一击

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2466
在线时间
473 小时
注册时间
2012-4-10
帖子
242
跳转到指定楼层
1
发表于 2017-9-6 19:52:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
在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倍伤害!
本人不懂脚本,求高手帮忙!   

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

2
发表于 2017-9-8 15:12:34 | 只看该作者
本帖最后由 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

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

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2466
在线时间
473 小时
注册时间
2012-4-10
帖子
242
3
 楼主| 发表于 2017-9-8 18:08:42 | 只看该作者
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),是不是这样改就可以了吗?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2466
在线时间
473 小时
注册时间
2012-4-10
帖子
242
4
 楼主| 发表于 2017-9-8 18:09:19 | 只看该作者
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),是不是这样改就可以了吗?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2466
在线时间
473 小时
注册时间
2012-4-10
帖子
242
5
 楼主| 发表于 2017-9-8 18:18:04 | 只看该作者
yang1zhi 发表于 2017-9-8 15:12
if self.skills.include?(55)   #角色技能数组是skills

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

    出错是什么意思
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2466
在线时间
473 小时
注册时间
2012-4-10
帖子
242
6
 楼主| 发表于 2017-9-8 18:19:05 | 只看该作者
1
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2466
在线时间
473 小时
注册时间
2012-4-10
帖子
242
7
 楼主| 发表于 2017-9-8 18:19:51 | 只看该作者
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

8
发表于 2017-9-8 19:02:37 | 只看该作者
本帖最后由 yang1zhi 于 2017-9-8 19:04 编辑

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

damage是写被攻击方的

点评

user是下面技能部分的 attacker是上边普通攻击部分的  发表于 2017-9-8 19:27
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2466
在线时间
473 小时
注册时间
2012-4-10
帖子
242
9
 楼主| 发表于 2017-9-8 19:45:42 | 只看该作者
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

点评

我说了。敌人没有SKILLS,所以你要判断attacker是不是敌人,不是敌人才可以if attacker.skills.include?(57)  发表于 2017-9-8 20:01
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2466
在线时间
473 小时
注册时间
2012-4-10
帖子
242
10
 楼主| 发表于 2017-9-8 19:52:29 | 只看该作者
看看 哪里出错了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-1 14:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表