关于超杀取消普通攻击的问题
2dfm吧
全部回复
仅看楼主
level 5
vitamincc 楼主
在我的游戏里发现这样的问题,如果有技能点,超杀取消普通攻击是正常的,但是如果没有技能点,超杀没放出来,但是普通攻击还是被取消了。
超杀的失败动作是跳转到普通站立最后一帧的。
应该怎么办呢??
2009年11月26日 07点11分 1
level 9
问题原因:你的检测能量豆的脚本放在了超杀技能里面。所以,当指令生效时,超杀技能总能成功放出(即使没有能量豆)并抵消低级别技能,但是系统在开始播放超杀技能时根据超杀技能里面的脚本判定发现没有能量豆,跳转到发不出超杀的脚本。
解决办法:
第一步:新建一个技能(无图片,只有脚本)----{超杀检测1}:
[气1][销1][空1]
[气1]:气槽与0相比 大于时,±0相加后继续,不成立时 跳转到[空1]
[销1]:攻击,指定等级(你的普通超杀的技能等级,普通超杀就是只消耗一个能量豆的超杀)
[空1]:空白脚本方格
第二步:在所有能被普通超杀抵消的技能里的开头添加一个
[调]:调用{超杀检测1}技能。
解释:这个{超杀检测1}是一个条件判定,当角色能量豆多于0的条件不成立时(就是不足一个能量豆),判定脚本自动跳过[销1],执行那个[空1]
当我们把这个技能在所有可以被超杀抵消的技能开头进行调用时,所有这些技能开始都会进行检测以便让游戏系统确定是否对当前的技能考虑超杀的抵消条件,当然如果角色能量豆为0,就会跳过[销1]不执行,而直接执行[空1],从而顺序播放正常的技能,这就等于是忽略了超杀的抵消条件,此时超杀指令就算成功,超杀也无法抵消普通技能,也就发不出超杀了。
当角色拥有至少一个能量豆的时候,[气1]的跳转就无效,而是会顺序执行[销1]然后执行[空1],于是就等于在角色能量豆不为0的时候建立了超杀的抵消条件,此时只要玩家成功输入超杀指令,就能用超杀抵消普通技能。
2009年11月26日 14点11分 2
level 9
如果你的游戏里还存在超级超杀,比如消耗3个能量豆的(例如豪鬼的瞬狱杀----也叫一瞬千击),那么就再建立一个{超杀检测2}:
[气2][销2][空2] 
[气2]:气槽与2相比 大于时(也就是发动条件至少要有3能量豆),±0相加后继续,不成立时 跳转到[空2] 
[销2]:攻击,指定等级(你的超级超杀的技能等级) 
[空2]:空白脚本方格
然后把另一个[调]添加在所有可以被这个超级超杀抵消的技能的开头(放在普通超杀检测[调]的前面,因为判定优先级高),调用{超杀检测2}即可。
2009年11月26日 14点11分 3
level 9
超杀和普通必杀技不同,既然有能量豆条件,那就必须在那些可以被它抵消的技能中添加同样的条件判定来决定抵消条件是否生效。所以正确制作方法就是上面介绍的。
能量的增减还是要在超杀技能内部脚本中进行,上面的判定只是用来判定抵消条件是否生效,既然超杀没有放出,就不应该增减能量,所以判定条件里都是“±0相加后继续”。
另外,虽然有了上述制作过程,你还是要保留超杀技能里面放不出超杀的那个动作以及相应跳转脚本,因为上面判定的只是抵消条件。超杀单独放出时,还是要做能量豆条件检测的,能量豆条件间不成立时还是要跳转到发不出超杀的动作。
2009年11月26日 14点11分 4
level 5
vitamincc 楼主
老大,我真是服了你了,给出这么详细的解释,太敬业了!就为这个我在这定居了~
回正题,这个方法好是好,但有一个小问题,当普通技能判断到跳过“销”之后,打中敌人,这时正好能量点长满一格,但因为已经跳过了销,所以必杀会出不来。
这种情况下,能否把销放在攻击判定之后?但是这样会不会造成“销”的无效或者手感上的滞后?
暂时没有时间实践,先把问题放在这里吧
2009年11月26日 18点11分 5
level 11
你说的问题确实会出现:因为攻击命中导致能量增长到足以使用超杀,但此时超杀抵消条件没有被激活。
[销]放在攻击判定之后,虽然依旧有效,但是仍然不解决这个问题。
问题出现的原因是:2dfm默认的攻击命中后增加气量是在角色攻击技能播放结束后才增加的,所以[销]脚本虽然对攻击技能全程有效,却没法对没有增加气量的技能判定出增加气量之后的结果。
解决问题的办法比较复杂(我不推荐这样制作游戏,仅仅为了一个超杀抵消普通技能的小问题把整个游戏制作得这么复杂没有必要):
你得修改全部普通攻击技能,专门给每个普通攻击技能末尾添加一个[完],然后在[完]之后添加上这个技能攻击命中后的收招动画,然后在收招动画开始添加一个[槽](给自己加气),并在角色 基本 面板中把我方攻击命中增加气设置为0。然后再添加[调]脚本调用{超杀检测1}技能。同时应该把{超杀检测1}技能里面的[销]修改为“无条件”。
这样,所有攻击命中后的加气都是靠脚本设置的,就能解决你说的这个问题了。即使攻击命中后临时气槽条件满足,也能立即让取消条件生效。
不过这样一来你的游戏制作可能要多花很大工作量。但这样还有一个好处,就是可以让超杀技能命中敌人后不增加气量。因为增加气量都是脚本设置的,所以可以给那些不需要增加气量的技能不设置加气脚本。
而默认在角色 基本 面板中设置的攻击命中增加气量,对超杀命中敌人也是有效的。
2009年11月27日 14点11分 6
level 5
vitamincc 楼主
是这样的,不过刚才试了下,“气”的判断失败跳转到“空”貌似不可行。。添加“完”不知行不行
2009年11月27日 14点11分 7
level 11
恩,还是给[销1]后面加一个[移1](空的脚本,选择“相加”)吧,让[气1]跳转到这个[移1]
2009年11月27日 14点11分 8
level 11
不要添加其它的脚本,根据我的经验,只有空白的[移1](选择“相加”)不会产生什么bug。
2009年11月27日 14点11分 9
level 9
额。。。用错马甲了,才发现。
2009年11月27日 14点11分 10
level 5
vitamincc 楼主
刚才就发现了。。
火星人有没有qq啊,我把游戏传给你看看~
2009年11月27日 15点11分 11
level 9
我有百度hi
qq被盗已经很多年了
:D
你在百度Hi上找厉风吧,就是我。
2009年11月27日 15点11分 12
1