Project1

标题: "接击"技能问题 [打印本页]

作者: szhb89122    时间: 2013-8-3 16:32
标题: "接击"技能问题
本帖最后由 szhb89122 于 2013-8-4 00:07 编辑

我想要做出这么一个效果:队员A有技能“接击姿态”,战斗中使用后会高速对自身附加“接击”状态一回合。然后当队员B用完某个特定的技能后,如果队员A处于“接击”状态时,会对队员B刚刚攻击完的敌人(可能是单体,也可能是全体)使用一个特定的高伤技能。

目前能想到的解决方法是,在队员B用的特定技能中增加一个公共事件作为使用效果,在公共事件里判断队员A是否处于“接击”状态。如果是,强制队员A使用技能。但这个解决方法有个弊端,因为队员A的强制攻击指令是没办法选择队员B刚刚攻击完的目标的,只能选择队员A的上一个攻击目标。

所以这里想请教一个问题,能否在队员B的这个特定技能的公共事件里加一条变量赋值,通过脚本获取队员B刚刚攻击完的敌人的target_index(或者说队员B的last_target_index?)赋值到这个变量中?另外还想请教如果攻击全体的话,这个target_index会是什么值?
作者: lirn    时间: 2013-8-3 19:01
如果改成目标状态,可以参考这个
http://rpg.blue/thread-307316-1-4.html
作者: szhb89122    时间: 2013-8-3 20:06
lirn 发表于 2013-8-3 19:01
如果改成目标状态,可以参考这个
http://rpg.blue/thread-307316-1-4.html

感谢回复。我看了一下,这帖子主要是在伤害方面下功夫。但如果我希望让我的“接击”技能有独立的技能动画和伤害计算的话,这个帖子的方法可能还是不太行
作者: szhb89122    时间: 2013-8-4 00:07
本帖最后由 szhb89122 于 2013-8-4 00:21 编辑

好吧,最后还是自己搞定了。把解决方案提供给大家参考。
案例:艾里克使用技能“接击姿态”后,如果当前回合娜塔丽使用“连续攻击”的话,艾里克就会对被娜塔丽打到的敌人用“火球”。
1.在发动技能的方法最后面,把target_index赋值到变量1中。

  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_Battle
  4. #------------------------------------------------------------------------------
  5. #  战斗画面
  6. #==============================================================================

  7. class Scene_Battle < Scene_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 发动技能/物品
  10.   #--------------------------------------------------------------------------
  11.   alias invoke_item_ace invoke_item
  12.   def invoke_item(target, item)
  13.     invoke_item_ace(target, item)
  14.      $game_variables[1] = target.index
  15.   end
  16. end
复制代码
2.增加状态“接击”,回合结束时自动解除。
3.增加技能“接击姿态”,速度修正2000,对自己附加状态“接击”。
4.增加公共事件“连续攻击”。敌人编号一共8个,正常应该做8个分支,不过我偷懒了...

5.技能"连续攻击"的使用效果中,增加公共事件"连续攻击"。
完成。全体技能同样适用。

不过实际用起来还是有几个弊端:
1.如果艾里克在“接击姿态”中,敌人使用“连续攻击”,那艾里克照样会放出火球来。
2.就算“连续攻击”被miss了,艾里克照样会放出火球来....

笨办法一个,有待继续改造...




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