引用 | 編輯
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樓
▲ ▼ |