如何去除“玩家死亡自爆效果插件”中的爆炸音效?
如果服务器开启了玩家死亡自爆效果插件(jetpack_explode.amxx),那么玩家死后就会爆炸并且能听到爆炸声的音效。但我看了插件的源代码,里面并没有出现相关的音频,但玩家死后却可以听到爆炸的声音,这是为什么呢?另外,怎样才能把插件中爆炸声去除呢?
#include <amxmodx>
new gexplo
new dexplo
public plugin_init(){
register_plugin("Jetpack Explode","2.8","EJL & X-man")
register_cvar("jetpack_explode","1")
register_event("DeathMsg", "DeathEvent", "a")
}
public plugin_precache(){
dexplo = precache_model("sprites/dexplo.spr")
gexplo = precache_model("sprites/gexplo.spr")
return PLUGIN_CONTINUE
}
public DeathEvent(){
if ( !get_cvar_num("jetpack_explode") )
return PLUGIN_CONTINUE
new victim = read_data(2)
explode(victim,gexplo,40,120)
explode(victim,dexplo,35,0)
return PLUGIN_CONTINUE
}
explode(id,sprite,scale,offset){
new vec1
get_user_origin(id,vec1)
//Explosion2
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 12 )
write_coord(vec1)
write_coord(vec1)
write_coord(vec1)
write_byte( 188 ) // byte (scale in 0.1's) 188
write_byte( 10 ) // byte (framerate)
message_end()
//TE_Explosion
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 3 )
write_coord(vec1)
write_coord(vec1)
write_coord(vec1+offset)
write_short( sprite )
write_byte( scale ) // byte (scale in 0.1's) 188
write_byte( 10 ) // byte (framerate)
write_byte( 0 ) // byte flags
message_end()
}
回复: 如何去除“玩家死亡自爆效果插件”中的爆炸音效?
:confused: 这段代码确实很怪,完全没有音频文件代码,不知道哪来的爆炸声音哦!回复: 如何去除“玩家死亡自爆效果插件”中的爆炸音效?
好像gexplo = grenade explosion,爆炸后读的是手雷爆炸的音效,如何去掉音效,真是无从下手啊......:embarrass要去掉音效,可以把cstrike/sound/weapons里的explode3.wav,explode4.wav和explode5.wav等音频删掉,这样爆炸后就听不到声音了.但这样一来,手雷爆炸的音效也没了,顾此失彼,不可取啊...
还是请高手们再想想办法吧.
回复: 如何去除“玩家死亡自爆效果插件”中的爆炸音效?
Post by Osker Lee好像gexplo = grenade explosion,爆炸后读的是手雷爆炸的音效,如何去掉音效,真是无从下手啊......:embarrass
要去掉音效,可以把cstrike/sound/weapons里的explode3.wav,explode4.wav和explode5.wav等音频删掉,这样爆炸后就听不到声音了.但这样一来,手雷爆炸的音效也没了,顾此失彼,不可取啊...
还是请高手们再想想办法吧.
奇怪的是代码内没有引用声音!:embarrass
回复: 如何去除“玩家死亡自爆效果插件”中的爆炸音效?
呵呵,经过不懈的努力,问题终于解决了!:byebye:这次重新修改了源代码,作了以下改动:
1. 由于原来的代码里存在dexplo.spr和gexplo.spr两种火花,因此玩家死亡时产生的火焰实际上是这两种火花的火焰叠加效果.其实想要产生火焰的效果只需用其中的一种火花就行了,因此我去掉dexplo.spr保留gexplo.spr,因为我个人认为gexplo.spr产生的火焰效果更好看!
2. 去掉了代码产生的爆炸音效.为了解决这个问题,我整整花费了两天的时间,结果发现解决方法简单得出人意料!唉,菜鸟就是菜鸟啊,走了不少的弯路......:burn:
要去掉爆炸音效,将这段代码的红色部分:
write_byte( scale ) // byte (scale in 0.1's) 188
write_byte( 10 ) // byte (framerate)
write_byte( 0 ) // byte flags
改成"write_byte( 4 ) // byte flags"就行了!既把"0"改成"4"就OK了!(呵呵,至于为什么要这样改呢就不要问我了,因为我也不知道,反正能解决问题就行了......:byebye: )
页:
[1]