让僵尸技能声音循环播放

Home Home
引用 | 編輯 lydjjlyd
2014-01-20 13:22
樓主
推文 x0
我现在只能让声音在按技能键时播放,可一旦被枪打中声音就没了,怎么让他向那暴走僵尸那样一直有声音,我研究过暴走僵尸还是不懂。

獻花 x0
引用 | 編輯 a7811311622
2014-01-20 14:21
1樓
  
那應該只是播放聲音的頻道搶頻而已…
沒猜錯的話聲音頻道是 CHAN_VOICE …
沒有 CHAN_VOICE 那就找 CHAN_BODY …
找到後改成別的頻道…不知道挑哪個頻道就用 CHAN_AUTO …

獻花 x0
引用 | 編輯 lydjjlyd
2014-01-20 16:44
2樓
  
下面是引用 a7811311622 于 2014-01-20 14:21 发表的 : 到引言文
那应该只是播放声音的频道抢频而已…
没猜错的话声音频道是 CHAN_VOICE …
没有 CHAN_VOICE 那就找 CHAN_BODY …
找到后改成别的频道…不知道挑哪个频道就用 CHAN_AUTO …



可暴走僵尸也是CHAN_VOICE,虽然被抢打中没声音,但打完后立刻就有暴走声音,而且技能是十五秒,我不可能把音乐串成十五秒吧,别人暴走声音也只有几秒而已。

獻花 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:26
6樓
  
一按技能键确实有声音,可技能完了也一直放是怎么回事?

獻花 x0
引用 | 編輯 lydjjlyd
2014-01-21 12:28
7樓
  
声音永不停止,怎么限制他只在放隐身技能时才有,恢复原样后终止声音。

獻花 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
引用 | 編輯 lydjjlyd
2014-01-21 14:03
11樓
  
如果大大不嫌烦帮我改一下,让声音重复就行。

獻花 x0
引用 | 編輯 lydjjlyd
2014-01-21 14:06
12樓
  


獻花 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樓
  
下面是引用 lydjjlyd 於 2014-01-21 16:54 發表的 : 到引言文
大神果然是大神,佩服,小弟谢过了!
顺便问问大大,编译amxx出现warning是什么情况,不会影响插件使用吧?
还有新人想问一下,在Mychat怎么向你那样发源码,有复制程序这个框框?
沒意外的話應該是程式碼排版沒對齊的錯誤…
程序框框用的語法是
[*code*]
我是程式碼
[*/code*]
把「*」去掉就行了…

獻花 x0
引用 | 編輯 lydjjlyd
2014-01-21 20:15
16樓
  
我试一下是这样
複製程式
1
还是
1

獻花 x0