引用 | 编辑
lydjjlyd
2014-01-20 13:22 |
楼主
▼ |
||
x0
我现在只能让声音在按技能键时播放,可一旦被枪打中声音就没了,怎么让他向那暴走僵尸那样一直有声音,我研究过暴走僵尸还是不懂。x0
|
引用 | 编辑
a7811311622
2014-01-20 14:21 |
1楼
▲ ▼ |
那应该只是播放声音的频道抢频而已…
没猜错的话声音频道是 CHAN_VOICE … 没有 CHAN_VOICE 那就找 CHAN_BODY … 找到后改成别的频道…不知道挑哪个频道就用 CHAN_AUTO … x0 |
引用 | 编辑
a7811311622
2014-01-20 21:12 |
3楼
▲ ▼ |
就设定一个循环的 set_task 来专门播放声音的就好了…
x0 |
引用 | 编辑
lydjjlyd
2014-01-20 22:52 |
4楼
▲ ▼ |
可我不知道加在哪?这是那段声音源码:
public use_invisible(id) { if(!is_user_alive(id) || !zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_zombie_class(id) != g_zclass_ghost ) return PLUGIN_HANDLED if(!g_can_invis[id]) { if(!g_on_invis[id]) client_print(id,print_center,"隐形技能冷却中!") return PLUGIN_HANDLED } if(pev(id, pev_health) > get_pcvar_float(cvar_hp) && get_user_weapon(id) == CSW_KNIFE ) { g_can_invis[id] = false g_on_invis[id] = true set_pev(id, pev_health, (pev(id, pev_health) - get_pcvar_float(cvar_hp))) set_task(get_pcvar_float(cvar_invis_time), "remove_invisible", id) set_task(get_pcvar_float(cvar_freeze_time), "can_invisible", id) emit_sound( id , CHAN_VOICE , g_sound_pressure , 1.0 , ATTN_NORM , 0 , PITCH_NORM ) entity_set_string(id,EV_SZ_viewmodel,zclass_invisible_clawmodel) zombie_invisible_hud(id,1) } return PLUGIN_CONTINUE } x0 |
引用 | 编辑
a7811311622
2014-01-21 10:11 |
5楼
▲ ▼ |
自己贴的程式码里面就出现两个 set_task 却说不知道怎么加…?
x0 |
引用 | 编辑
lydjjlyd
2014-01-21 12:37 |
8楼
▲ ▼ |
我加了sound[id] = false就对了,可当我第二次按技能会出现声音每放一秒反复重复,而没将声音播完的bug,是怎么回事?
x0 |
引用 | 编辑
a7811311622
2014-01-21 12:40 |
9楼
▲ ▼ |
插件都有宣告 g_can_invis[id] 这个用来判断是否隐身的变量了…
何必自己弄个 sound[id] 还弄得很乱… 话说程式码只贴一部分…谁知道情况啊… 除了让人玩猜猜看之外还能做啥… x0 |
引用 | 编辑
lydjjlyd
2014-01-21 13:41 |
10楼
▲ ▼ |
还是没懂呀,越来越晕了,有些地方判断隐身确实使用g_can_invis[id]=true和faise,但一旦直接加入set_task导致技能不能使用,所以迫不得已加了个sound[id],一局中第一次使用技能是正常的,但第二次使用会出现声音混乱。
x0 |
引用 | 编辑
a7811311622
2014-01-21 16:38 |
13楼
▲ ▼ |
先把原本在 public use_invisible(id) 里的 emit_sound 那段删除…
之后再 public forward_CmdStart(id, uc_handle, seed) 里面找 复制程式 if(zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && zp_get_user_zombie_class(id) == g_zclass_ghost ) { if(get_uc(uc_handle,UC_Buttons) & IN_RELOAD && !(pev(id,pev_oldbuttons) & IN_RELOAD)) use_invisible(id) } 复制程式 if(zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && zp_get_user_zombie_class(id) == g_zclass_ghost ) { static Float:g_sound[33] if(g_on_invis[id] && get_gametime() - g_sound[id] >= 时间) // 我不知道声音要几秒重覆,自己改 { g_sound[id] = get_gametime() emit_sound( id , CHAN_VOICE , g_sound_pressure , 1.0 , ATTN_NORM , 0 , PITCH_NORM ) } if(get_uc(uc_handle,UC_Buttons) & IN_RELOAD && !(pev(id,pev_oldbuttons) & IN_RELOAD)) use_invisible(id) } x0 |
引用 | 编辑
lydjjlyd
2014-01-21 16:54 |
14楼
▲ ▼ |
大神果然是大神,佩服,小弟谢过了!
顺便问问大大,编译amxx出现warning是什么情况,不会影响插件使用吧? 还有新人想问一下,在Mychat怎么向你那样发源码,有复制程序这个框框? x0 |
引用 | 编辑
a7811311622
2014-01-21 20:09 |
15楼
▲ ▼ |