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)并修改
  1.       # HP 的伤害计算
  2.       self.hp -= self.damage
  3.       if self.hp == 0 and attacker.state?(追击的状态ID)#++++++++++
  4.         $game_variables[11] = attacker #++++++++++
  5.         $game_variables[12] = self  #++++++++++
  6.         $game_variables[13] = -1 #+++++++++++
  7.       end
复制代码
此时$game_variables[11]就是攻击者,$game_variables[12]就是被击破者。


Game_Battler 3下找到def skill_effect(user, skill)并修改
  1.       # HP 的伤害减法运算
  2.       # HP 的伤害减法运算
  3.       last_hp = self.hp
  4.       self.hp -= self.damage
  5.       if self.hp == 0 and user.state?(追击的状态ID) #++++++++++
  6.         $game_variables[11] = user #++++++++++
  7.         $game_variables[12] = self #++++++++++
  8.         $game_variables[13] = skill.id #+++++++++++
  9.       end
复制代码
此时$game_variables[11]就是技能使用者,$game_variables[12]就是被击破者,$game_variables[13]就是击破的技能ID,等于-1时表示普通攻击。
然后整个游戏其他地方都别再使用变量11、变量12和变量13了。
当强制攻击或放技能之后,一定要记得把三个变量归零
  1. $game_variables[11] = $game_variables[12] = $game_variables[13] = 0
复制代码
若不归零会导致今后的所有的攻击和技能都生效,无论是否击破。

以上均未测试,若测试出现BUG请告知。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1