查看: 985|回复: 4

如何使技能的攻击力与人物等级有关

  [复制链接]
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-3-26
回帖
2
发表于 2008-9-7 05:55:31 | 显示全部楼层 |阅读模式

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

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

×
{/cy}就像梦幻OL里“牛刀小试”那样,攻击力=等级*x+n的,最好是脚本的……
此贴于 2008-9-7 12:56:39 被版主darkten提醒,请楼主看到后对本贴做出回应。
版务信息:版主帮忙结贴~
以打破砂锅为己任……
梦石
0
星屑
124
在线时间
148 小时
注册时间
2008-2-11
回帖
385
发表于 2008-9-7 05:59:56 | 显示全部楼层
事件就可以帮你

变量001号=角色等级

接着变量操作

变量001号 *55 +45(举例)

敌人减去变量这么大的血

特技里面弄这么个公共事件
版主对此帖的认可:『正确的思路,补上悬赏积分100分+1卡(=250分),感谢你的热心解答...』,积分『+350』。
要守护就守护到底,要放弃就别再回头。
回复

使用道具 举报

今、空を見上げ

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-11
回帖
1991
发表于 2008-9-7 06:09:01 | 显示全部楼层
Game_Battler 1
定义实例变量里加上
  attr_reader :level              # 等级
初始化变量 加上
@level = 0

在Game_battler 3
计算基本伤害里
atk = attacker.level * N + [attacker.atk - self.pdef / 2, 0].max
# 攻击力 = 攻击者的等级 * N + [攻击者的攻击力 - 敌人防御 / 2]


大概是这样了吧 N自己调整倍数..但是觉得好象 * 太变态了
上面的是 人物攻击力,我弄错了..



技能的伤害你在计算技能的伤害里改
self.damage = user.level * N + power * rate / 20
意思大概是 伤害 是 使用者等级 X N + 技能威力 * 放大率 / 20



系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
做任何事,都不要为自己找借口。任何事都不存在困难的借口。你只有3个字“做得到”
回复

使用道具 举报

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-3-26
回帖
2
 楼主| 发表于 2008-9-7 06:32:33 | 显示全部楼层
以下引用殲滅天使·玲于2008-9-6 22:09:01的发言:

Game_Battler 1
定义实例变量里加上
attr_reader :level              # 等级
初始化变量 加上
@level = 0

在Game_battler 3
计算基本伤害里
atk = attacker.level * N + [attacker.atk - self.pdef / 2, 0].max
# 攻击力 = 攻击者的等级 * N + [攻击者的攻击力 - 敌人防御 / 2]


大概是这样了吧 N自己调整倍数..但是觉得好象 * 太变态了

这样做好像是全部技能都是这样吧?有没有只对某个技能的?
以打破砂锅为己任……
回复

使用道具 举报

今、空を見上げ

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-11
回帖
1991
发表于 2008-9-7 06:40:42 | 显示全部楼层
表达能力不太好 红色是等级* 多少倍

在技能的# 计算基本伤害里 改成      
      # 计算基本伤害
      if skill.id = 57#技能ID
         self.damage = user.level * 4 + power * rate / 20
      # 属性修正
        self.damage *= elements_correct(skill.element_set)
        self.damage /= 100
      else
        self.damage = power * rate / 20
      # 属性修正
        self.damage *= elements_correct(skill.element_set)
        self.damage /= 100
      # 伤害符号正确的情况下
        if self.damage > 0
        # 防御修正
          if self.guarding?
            self.damage /= 2
          end
        end
      end
做任何事,都不要为自己找借口。任何事都不存在困难的借口。你只有3个字“做得到”
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部