Project1
标题:
怎样设置指定角色的一个变量数值有增伤和伤减效果?
[打印本页]
作者:
7795593
时间:
2014-1-25 02:07
标题:
怎样设置指定角色的一个变量数值有增伤和伤减效果?
例如角色1学会某技能,用事件增加变量【最终伤害+】80点,就会在普通攻击和技能的总伤害值加上80点固定伤害。
角色1学会某技能,用事件增加变量【防御抵消+】80点,就会在受到伤害的总值减掉80点固定伤害。
目前,我是这样弄的,
Game_Battler里def make_attack_damage_value(attacker)里
@hp_damage = damage上面插入
damage -= $game_variable[5] if attacker.is_a?(Game_Enemy)
damage += $game_variable[6] if attacker.is_a?(Game_Actor)
然后还有def make_obj_damage_value(user, obj)里if obj.damage_to_mp上面插入
if damage > 0
damage -= $game_variable[5] if user.is_a?(Game_Enemy)
damage += $game_variable[6] if user.is_a?(Game_Actor)
end
这样子,所以角色都对这两个变量有效果.
我想要的是每个ID都有两个变量实现效果.
希望有大神能改成[指定角色]享有,这样就能做出不同角色有不同的效果了.
作者:
a364774426
时间:
2014-1-25 02:07
你需要每个角色都有这种效果,且每个角色的不一样,有两个办法,
设置n个变量,
对于角色1
if attacker.is_a?(Game_Actor) and attacker.id == 1
damage += $game_variables[1]
end
if self.is_a?(Game_Actor) and self.id == 1
damage -= $game_variables[2]
end
复制代码
你的脚本之所以对每个角色都生效,是因为没有判定角色ID。
另外一种办法就是在Game_Actor开始部分加入
attr_accessor :atk_plus
attr_accessor :def_plus
复制代码
在def setup(actor_id)中加入
@atk_plus = 0
@def_plus = 0
复制代码
然后
if attacker.is_a?(Game_Actor)
damage += atk_plus
end
if self.is_a?(Game_Actor)
damage -= def_plus
end
复制代码
通过脚本
$game_actors[i].atk_plus += n
复制代码
来增加atk_plus 或 def_plus的值
作者:
yangjunyin2002
时间:
2014-1-25 08:03
这种大事情当然应该要找大触P叔叔了~~~我来帮你at把(>_<)
@protosssonny
@丿梁丶小柒
作者:
7795593
时间:
2014-1-31 20:12
a364774426 发表于 2014-1-25 08:56
你需要每个角色都有这种效果,且每个角色的不一样,有两个办法,
设置n个变量,
对于角色1你的脚本之所以对 ...
不好意思~
if attacker.is_a?(Game_Actor)
damage += atk_plus
end
if self.is_a?(Game_Actor)
damage -= def_plus
end
这段应该插在哪里?
作者:
a364774426
时间:
2014-1-31 20:43
将你自己写的改成我的就行了
作者:
crow2006
时间:
2014-1-31 21:43
我补充一点,设定减伤的话需要注意判断obj.base_damage大于0还是小于0。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1