level 5
在人物CNS里没有看到人物受击的状态(之前在DUBUG找到是号码是5000、5001、5010等),那么这些状态的参数是在哪里设置的呢?mugen系统是如何识别某项攻击会带来对手哪项受击的声音呢?
小白求指点。。。
2016年06月27日 16点06分
1
level 11
公用受击状态是在stcommon里面,但是声音不是在那里设置,而是攻击人物的hitdef的hitsound设置
2016年06月27日 22点06分
3
是hitsound参数吗?如果是的话他的两个数值分别是什么意思呢?如果是我猜测的话是后面那个是人物声音的序号,可是我用FF查看的时候又不是这个声效耶。。求指点。。。
2016年06月28日 14点06分
咦我发现了原来hitsound是打击的声音(提取自己的声音)而不是对方人物受击时该人物发出的声音耶。。
2016年06月28日 14点06分
啊我可能没有问得很清楚。。其实我是想问对方人物受击时该人物发出的声音。。不是打击的声音。。不好意思。。
2016年06月28日 15点06分
@犬夜叉he犬夜叉 人物受击时发出音效的话并没有系统默认的声音,应该是自己写的playsnd决定的,建议在FF中打开snd文件找到人物声音编号以后,再去搜索playsnd看看是哪个playsnd发出来的
2016年06月28日 15点06分
level 11
接3L,举个例子,北斗神拳的二爷的受击音效如下:
;-----------------------やられサウンド
;「ぬはあっ!」「うおーはーは!」「ま、まだー!」
[State -2,PlaySnd]
Type = PlaySnd
TriggerAll=Time=1
TriggerAll=Alive
TriggerAll=Random<333
TriggerAll=StateNo=5000||StateNo = 5010
Trigger1 = Anim = 5000||Anim = 5010||Anim = 5020
value = 0,0+(Random%3)
channel = 0
[State -2,PlaySnd]
Type = PlaySnd
TriggerAll=Time=1
TriggerAll=Alive
TriggerAll=Random<500
TriggerAll=StateNo=5000||StateNo=5010
Trigger1 = Anim=5001||Anim=5011||Anim=5021
Trigger2 = Anim=5002||Anim=5012||Anim=5022
value = 0,0+(Random%3)
channel = 0
[State -2,PlaySnd]
Type = PlaySND
TriggerAll=Time=1
TriggerAll=Alive
Trigger1 = StateNo=5000
Trigger1 = GetHitVar(fall)
Trigger2 = StateNo=5020
Trigger3 = StateNo=5071
value = 0,0+(Random%3)
channel = 0
2016年06月28日 16点06分
5
请看楼下回复。。。
2016年06月28日 16点06分
level 5
其实我想做的就是让一个本来受击没有声音、而且声音文件里面没有受击声音的人物,受击时能发出声音。
所以我先在FF中加入了他的受击声音,放置在组5000下,序号为0,1,2,10,11,12,20。
然后刚刚根据你楼上所说的,我在人物cns中搜索5000这个数值,在那些受击可以发出声音的人物的CNS里找到了如下代码:
; Sound Fix
[State -2,PlaySnd]
type = PlaySnd
triggerall = Time = 1 && Alive
triggerall = StateNo = 5000 || StateNo = 5010
trigger1 = Anim = 5000 || Anim = 5010 || Anim = 5020
value = 5000, IfElse((random=[0,333]),0,IfElse((random=[334,666]),1,2))
channel = 0
[State -2,PlaySnd]
type = PlaySnd
triggerall = Time = 1 && Alive
triggerall = StateNo = 5000 || StateNo = 5010
trigger1 = Anim = 5001 || Anim = 5011 || Anim = 5021
trigger2 = Anim = 5002 || Anim = 5012 || Anim = 5022
value = 5000, IfElse((random=[0,333]),10,IfElse((random=[334,666]),11,12))
channel = 0
[State -2,PlaySnd]
type = PlaySND
triggerall = Alive
trigger1 = StateNo = 5000 && Time = 1
trigger1 = GetHitVar(fall)
trigger2 = StateNo = 5020 && Time = 1
trigger3 = StateNo = 5071 && Time = 1
value = 5000,IfElse((random=[0,500]),20,21)
channel = 0
但复制过来之后受击依然不会发出声音,然后我就崩溃了。是不是还有什么需要设置的呢?求指教。。。
2016年06月28日 16点06分
6
试了好多次,应该不是因为random没中→_→
2016年06月28日 16点06分
基本上没问题了,代码放在[Statedef -2]下面,全部文件保存之后重启主程序应该就会有声音了
2016年06月28日 16点06分
咦不对哦这个random是必中的。。
2016年06月28日 16点06分
@口水轩 可是就是还是不行。。我也好纳闷。。明明按道理来说应该就对了,而且在别的人物那里也可以发声。。
2016年06月28日 17点06分
level 11
trigger1=movetype=h(受击时发动)
trigger1=random<500(随机发动,否则每次都会发动)
trigger1=time=0(首帧才发动,否则更鬼畜)
2016年06月28日 16点06分
7
还有一种条件是gethitvar(damage)就是受到正常攻击就发动
2016年06月28日 16点06分
你这种方法也行耶,刚刚用你这个代码试过了,靴靴
2016年06月28日 17点06分