Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

knife sound

staff2517
сообщение 29.12.2014, 1:00
Сообщение #1
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Здарова парни, поставил себе плагин который проигрывает звук при убийстве с ножа.
Все беда в том что звук слышно только игроку который зарезал, и игроку которого зарезали. А нужно чтобы слышали все игроки.
исходник
#include <amxmodx>
#include <fakemeta>
#include <csx>

new const g_spartaaa[] = "misc/sparta1.wav"

public plugin_init()
{
register_plugin("SpartAAA KNife Kill", "1.0", "Shidla")
register_cvar("Shidla", "SpartAAA KNife Kill v.1.0", FCVAR_SERVER|FCVAR_SPONLY)
}

public plugin_precache()
{
precache_sound(g_spartaaa)
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
if((wpnindex == CSW_KNIFE) && is_user_alive(killer))
{
engfunc(EngFunc_EmitSound, killer, CHAN_VOICE, g_spartaaa, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}


Отредактировал: staff2517, - 29.12.2014, 1:03
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ssx
сообщение 29.12.2014, 9:11
Сообщение #2


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Вот мой кусок кода, прекрасно работает.

Код
public client_damage(attacker,victim,damage,wpnindex,hitplace,TA){
    if(get_pcvar_num(g_bk_enabled)){
        if(wpnindex==CSW_KNIFE){
//            if(!bloody[attacker])client_cmd(attacker,"spk misc/chucky")
            if(!bloody[attacker])emit_sound(attacker,CHAN_VOICE,"misc/chucky.wav", 0.5, ATTN_NORM, 0, PITCH_NORM)
            bloody[attacker]=1
            chuckyknife(attacker)
        }
    }
    return PLUGIN_CONTINUE
}

public client_death(killer,victim,wpnindex,hitplace,TK){
//    emit_sound(read_data(2), CHAN_AUTO, "misc/chucky.wav", 1.0, ATTN_NORM, SND_STOP, PITCH_NORM)
    emit_sound ( victim, CHAN_STATIC, "misc/chucky.wav", VOL_NORM - VOL_NORM /*lol */, ATTN_NONE, SND_STOP, PITCH_NORM )
    bloody[victim]=0
    return PLUGIN_CONTINUE
}


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stimul1
сообщение 29.12.2014, 10:48
Сообщение #3


Стаж: 13 лет

Сообщений: 227
Благодарностей: 262
Полезность: 977

Код:
engfunc(EngFunc_EmitSound, killer, CHAN_VOICE, g_spartaaa, 1.0, ATTN_NORM, 0, PITCH_NORM)

===>
Код:
client_cmd(0, "spk %s", g_spartaaa);
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
staff2517
сообщение 29.12.2014, 11:59
Сообщение #4
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Цитата(Stimul1 @ 29.12.2014, 10:48) *
Код:
engfunc(EngFunc_EmitSound, killer, CHAN_VOICE, g_spartaaa, 1.0, ATTN_NORM, 0, PITCH_NORM)

===>
Код:
client_cmd(0, "spk %s", g_spartaaa);

Спасибо, сейчас проверю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
staff2517
сообщение 29.12.2014, 12:15
Сообщение #5
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Stimul1,
Работает отлично.
А как добавить еще один звук??
Чтобы они чередовались.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 29.12.2014, 13:01
Сообщение #6


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Цитата(Stimul1 @ 29.12.2014, 10:48) *
Код:
engfunc(EngFunc_EmitSound, killer, CHAN_VOICE, g_spartaaa, 1.0, ATTN_NORM, 0, PITCH_NORM)

===>
Код:
client_cmd(0, "spk %s", g_spartaaa);

Зачем кому-то в другом конце карты слышать ?

Мой вариант вполне подогнан под геймплей .

Hа HL сервере звуки типа headshot,multikill и т д так же перевел на emit_sound от убийцы - игрокам нравится.
Планирую на КСДМ так же переделать .


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 29.12.2014, 13:07
Сообщение #7


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Цитата(Stimul1 @ 29.12.2014, 10:48) *
Код:
engfunc(EngFunc_EmitSound, killer, CHAN_VOICE, g_spartaaa, 1.0, ATTN_NORM, 0, PITCH_NORM)

===>
Код:
client_cmd(0, "spk %s", g_spartaaa);

если хочешь рендомом несколько звуков то вот так:

Код
switch(random_num(0,2))
            {
                case 0:
                {
                    client_cmd(0, "spk %s", g_spartaaa)
                }
                case 1:
                {
                    client_cmd(0, "spk %s", g_spartaaa)
                }
                case 2:
                {
                    client_cmd(0, "spk %s", g_spartaaa)
                }
            }


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
staff2517
сообщение 30.12.2014, 12:25
Сообщение #8
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Цитата(ssx @ 29.12.2014, 13:07) *
если хочешь рендомом несколько звуков то вот так:

Код
switch(random_num(0,2))
            {
                case 0:
                {
                    client_cmd(0, "spk %s", g_spartaaa)
                }
                case 1:
                {
                    client_cmd(0, "spk %s", g_spartaaa)
                }
                case 2:
                {
                    client_cmd(0, "spk %s", g_spartaaa)
                }
            }

Куда именно добавить строки эти ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 30.12.2014, 23:33
Сообщение #9
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

new sounds[2][] = { "sparta1.wav", "sparta2.wav }

в прекеш суешь

precache_sound(sounds[0])
precache_sound(sounds[1])

если звуков много то лучше сделать new i / for циклом пройтись

рандом делается так

emit_sound( id , CHAN_BODY, sounds[random_num(0,1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)



и еще, ктото помню спрашивал как сделать спектом чела не убивая его, так как не могу найти тему

set_pev(id, pev_iuser2, 1)
set_pev(id, pev_deadflag, DEAD_DEAD) // на всякий случай
сразу делает спектом

Отредактировал: csnet, - 30.12.2014, 23:37


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: