Project1
标题:
GTBS问题求助
[打印本页]
作者:
pkboy9999
时间:
2011-8-24 01:00
标题:
GTBS问题求助
1.如何做出固定伤害,类似火焰之纹章?
2.每次攻击获得的经验,杀死敌人获得的经验在哪里修改?
3.我想删除战斗中的攻击按钮,同时增加一个休息按钮,按下后结束行动,mp恢复20%,应该如何修改脚本?
4.我对数据库的升级所需经验公式不满意,想自己设计升级所需经验公式,有没有办法实现?
希望各位能不吝赐教,谢谢。 dsu_plus_rewardpost_czw
作者:
pkboy9999
时间:
2011-8-25 01:16
一天了,第四个问题我找到解决方法了,第一个问题我的思路是删掉产生伤害波动的公式,但是我看不懂脚本- -
作者:
feizhaodan
时间:
2011-8-25 13:10
#--------------------------------------------------------------------------
# ● 计算普通攻击伤害
# attacker : 攻击者
# 计算结果赋值入 @hp_damage
#--------------------------------------------------------------------------
def make_attack_damage_value(attacker)
damage = attacker.atk * 4 - self.def * 2 # 基础计算
damage = 0 if damage < 0 # 设负数伤害为 0
damage *= elements_max_rate(attacker.element_set) # 属性校正
damage /= 100
if damage == 0 # 若伤害为 0
damage = rand(2) # 一半机率伤害为1
elsif damage > 0 # 若伤害为正数
@critical = (rand(100) < attacker.cri) # 会心一击判断
@critical = false if prevent_critical # 防止会心一击判断
damage *= 3 if @critical # 会心一击校正
end
damage = apply_variance(damage, 20) # 分散度
damage = apply_guard(damage) # 防御校正
@hp_damage = damage # 体力伤害
end
#--------------------------------------------------------------------------
# ● 计算技能/物品伤害
# user : 技能或物品的使用者
# obj : 使用的技能或物品
# 计算结果赋值入 @hp_damage
#--------------------------------------------------------------------------
def make_obj_damage_value(user, obj)
damage = obj.base_damage # 基础计算
if damage > 0 # 若伤害为正
damage += user.atk * 4 * obj.atk_f / 100 # 使用者攻击力关系度
damage += user.spi * 2 * obj.spi_f / 100 # 使用者精神力关系度
unless obj.ignore_defense # 除非无视防御力
damage -= self.def * 2 * obj.atk_f / 100 # 目标攻击力关系度
damage -= self.spi * 1 * obj.spi_f / 100 # 目标精神力关系度
end
damage = 0 if damage < 0 # 设负数伤害为0
elsif damage < 0 # 若伤害为负
damage -= user.atk * 4 * obj.atk_f / 100 # 使用者攻击力关系度
damage -= user.spi * 2 * obj.spi_f / 100 # 使用者精神力关系度
end
damage *= elements_max_rate(obj.element_set) # 属性校正
damage /= 100
damage = apply_variance(damage, obj.variance) # 分散度
damage = apply_guard(damage) # 防御校正
if obj.damage_to_mp
@mp_damage = damage # 伤害魔力
else
@hp_damage = damage # 伤害体力
end
end
复制代码
game_battler 629行左右,上面是普通攻击,下面是技能/物品
把分散度那个删了就可以固定了。
feizhaodan于2011-8-26 14:10补充以下内容:
可能是属性修正。
话说你用的是普通攻击还是技能
feizhaodan于2011-8-26 14:13补充以下内容:
可能是属性修正。
你试试把普通攻击的def和end之间写成这样
damage = attacker.atk - self.def
@hp_damage = damage
复制代码
再试试
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1