Project1
标题:
请问怎么实现某状态下的追击效果?
[打印本页]
作者:
聪妖
时间:
2015-12-28 09:58
标题:
请问怎么实现某状态下的追击效果?
就是角色某状态下用技能或者攻击击破目标后,可以再攻击一次(攻击的用攻击追击,技能用技能追击)
尝试过在论坛搜索过类似效果,但是只有指定技能ID的.有没有状态的.
所以想问一下有没有状态版本的?
作者:
怪蜀黍
时间:
2015-12-28 11:00
事件法【强制行动】命令可以实现很多功能,何不自己试一试?
作者:
聪妖
时间:
2015-12-29 08:37
怪蜀黍 发表于 2015-12-28 11:00
事件法【强制行动】命令可以实现很多功能,何不自己试一试?
先感谢回复.
强制行动可以实现的追击,单纯追击我还行可以,但是击破这个该怎么判定暂时还搞不懂...单纯事件我勉勉强强,但是接触脚本就不行了
作者:
怪蜀黍
时间:
2015-12-29 09:23
本帖最后由 怪蜀黍 于 2015-12-29 09:26 编辑
鉴于汝的ID带有【聪】字……
变量引出法:将变量从脚本中引出,然后在公共事件里调用。
Game_Battler 3下找到def attack_effect(attacker)并修改
# HP 的伤害计算
self.hp -= self.damage
if self.hp == 0 and attacker.state?(追击的状态ID)#++++++++++
$game_variables[11] = attacker #++++++++++
$game_variables[12] = self #++++++++++
$game_variables[13] = -1 #+++++++++++
end
复制代码
此时$game_variables[11]就是攻击者,$game_variables[12]就是被击破者。
Game_Battler 3下找到def skill_effect(user, skill)并修改
# HP 的伤害减法运算
# HP 的伤害减法运算
last_hp = self.hp
self.hp -= self.damage
if self.hp == 0 and user.state?(追击的状态ID) #++++++++++
$game_variables[11] = user #++++++++++
$game_variables[12] = self #++++++++++
$game_variables[13] = skill.id #+++++++++++
end
复制代码
此时$game_variables[11]就是技能使用者,$game_variables[12]就是被击破者,$game_variables[13]就是击破的技能ID,等于-1时表示普通攻击。
然后整个游戏其他地方都别再使用变量11、变量12和变量13了。
当强制攻击或放技能之后,一定要记得把三个变量归零
$game_variables[11] = $game_variables[12] = $game_variables[13] = 0
复制代码
若不归零会导致今后的所有的攻击和技能都生效,无论是否击破。
以上均未测试,若测试出现BUG请告知。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1