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

Project1

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

[已经解决] GTBS问题求助

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
58 小时
注册时间
2008-5-1
帖子
43
跳转到指定楼层
1
发表于 2011-8-24 01:00:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.如何做出固定伤害,类似火焰之纹章?
2.每次攻击获得的经验,杀死敌人获得的经验在哪里修改?
3.我想删除战斗中的攻击按钮,同时增加一个休息按钮,按下后结束行动,mp恢复20%,应该如何修改脚本?
4.我对数据库的升级所需经验公式不满意,想自己设计升级所需经验公式,有没有办法实现?
希望各位能不吝赐教,谢谢。

Lv1.梦旅人

梦石
0
星屑
60
在线时间
58 小时
注册时间
2008-5-1
帖子
43
2
 楼主| 发表于 2011-8-25 01:16:17 | 只看该作者
一天了,第四个问题我找到解决方法了,第一个问题我的思路是删掉产生伤害波动的公式,但是我看不懂脚本- -
这游戏太难了
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

3
发表于 2011-8-25 13:10:45 | 只看该作者
  1.   #--------------------------------------------------------------------------
  2.   # ● 计算普通攻击伤害
  3.   #     attacker : 攻击者
  4.   #    计算结果赋值入 @hp_damage
  5.   #--------------------------------------------------------------------------
  6.   def make_attack_damage_value(attacker)
  7.     damage = attacker.atk * 4 - self.def * 2        # 基础计算
  8.     damage = 0 if damage < 0                        # 设负数伤害为 0
  9.     damage *= elements_max_rate(attacker.element_set)   # 属性校正
  10.     damage /= 100
  11.     if damage == 0                                  # 若伤害为 0
  12.       damage = rand(2)                              # 一半机率伤害为1
  13.     elsif damage > 0                                # 若伤害为正数
  14.       @critical = (rand(100) < attacker.cri)        # 会心一击判断
  15.       @critical = false if prevent_critical         # 防止会心一击判断
  16.       damage *= 3 if @critical                      # 会心一击校正
  17.     end
  18.     damage = apply_variance(damage, 20)             # 分散度
  19.     damage = apply_guard(damage)                    # 防御校正
  20.     @hp_damage = damage                             # 体力伤害
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 计算技能/物品伤害
  24.   #     user : 技能或物品的使用者
  25.   #     obj  : 使用的技能或物品
  26.   #    计算结果赋值入 @hp_damage
  27.   #--------------------------------------------------------------------------
  28.   def make_obj_damage_value(user, obj)
  29.     damage = obj.base_damage                        # 基础计算
  30.     if damage > 0                                   # 若伤害为正
  31.       damage += user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
  32.       damage += user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
  33.       unless obj.ignore_defense                     # 除非无视防御力
  34.         damage -= self.def * 2 * obj.atk_f / 100    # 目标攻击力关系度
  35.         damage -= self.spi * 1 * obj.spi_f / 100    # 目标精神力关系度
  36.       end
  37.       damage = 0 if damage < 0                      # 设负数伤害为0
  38.     elsif damage < 0                                # 若伤害为负
  39.       damage -= user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
  40.       damage -= user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
  41.     end
  42.     damage *= elements_max_rate(obj.element_set)    # 属性校正
  43.     damage /= 100
  44.     damage = apply_variance(damage, obj.variance)   # 分散度
  45.     damage = apply_guard(damage)                    # 防御校正
  46.     if obj.damage_to_mp  
  47.       @mp_damage = damage                           # 伤害魔力
  48.     else
  49.       @hp_damage = damage                           # 伤害体力
  50.     end
  51.   end
复制代码
game_battler 629行左右,上面是普通攻击,下面是技能/物品
把分散度那个删了就可以固定了。


feizhaodan于2011-8-26 14:10补充以下内容:
可能是属性修正。

话说你用的是普通攻击还是技能


feizhaodan于2011-8-26 14:13补充以下内容:
可能是属性修正。
你试试把普通攻击的def和end之间写成这样
  1. damage = attacker.atk - self.def
  2. @hp_damage = damage
复制代码
再试试

点评

伤害却是12,为什么不是15呢?  发表于 2011-8-25 23:08
我把和variance有关的脚本都ctrl+q了,伤害的确也固定了,但是我有个疑惑的地方,我已经把伤害公式改成攻击力-防御力,我角色攻击16,攻击防御1的怪  发表于 2011-8-25 23:08
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 03:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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