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

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

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

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

> Правила форума

Раздел для общения на любые темы, для которых не нашлось места в остальных разделах. Если Вашу тему можно отнести по смыслу к другому разделу, лучше создайте её там, иначе Вас накажут.

В данном форуме немного понижены требования к Общим правилам форума, а именно:
1. Информативность темы
2. Отходить от первоначального смысла темы

!
В разделе запрещено создавать темы связанные с раскруткой игровых серверов

Звук при убийстве с ножа.

, Звук при убийстве с ножа.
Статус пользователя skripaura
сообщение 9.11.2021, 22:58
Сообщение #1
Стаж: 12 лет

Сообщений: 101
Благодарностей: 37
Полезность: 51

Привет всем.
Ребята, поделитесь, если у кого есть, рабочий плагин который воспроизводит звук при убийстве с ножа, без моделек, просто звук и все.
Буду очень признателен вашей помощи.

version
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.8.0.702-dev
Build date: 18:22:55 Nov 8 2020 (2402)

AMX_1.9.0
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
XyLiGaN
сообщение 10.11.2021, 7:24
Сообщение #2
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

Не на ReAPI кнч, ну хотя бы так, но и всё же ничего лишнего.
Код:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

#define P_SOUND "knife_kill/knife_kill.wav"

public plugin_init()
{
register_plugin("Knife Kill Sound", "0.1", "unnamed")
}

public plugin_precache()
{
precache_sound( P_SOUND )
}


public client_death( killer, victim, wpnindex )
{
if( wpnindex == 29 )
{
for( new i; i <= get_maxplayers(); i++ )
{
if( is_user_connected( i ) )
{
client_cmd( i, "spk %s", P_SOUND )
}
}
}
}
ps.gif И обнови лучше ReHLDS исчо.

Отредактировал: XyLiGaN, - 10.11.2021, 7:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя skripaura
сообщение 10.11.2021, 11:50
Сообщение #3
Стаж: 12 лет

Сообщений: 101
Благодарностей: 37
Полезность: 51

XyLiGaN,
Вечером отпишусь о результате.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя skripaura
сообщение 10.11.2021, 22:10
Сообщение #4
Стаж: 12 лет

Сообщений: 101
Благодарностей: 37
Полезность: 51

XyLiGaN,
Плагин компельнулся отлично, но звука при убийстве с ножа так и нету.
Изменил эту строку на свою
Код
#define P_SOUND "noj1/noj1.wav"

звук закинул по такому пути sound/noj1/noj1.wav

Отредактировал: skripaura, - 10.11.2021, 23:36
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 11.11.2021, 3:26
Сообщение #5


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

skripaura, звук скачал при заходе на сервер?

XyLiGaN, Зачем там хам используется? :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя skripaura
сообщение 11.11.2021, 10:43
Сообщение #6
Стаж: 12 лет

Сообщений: 101
Благодарностей: 37
Полезность: 51

ThePhoenix,
Да, звук скачался в папку cstrike_downloads/sound/noj1/noj1.wav

Отредактировал: skripaura, - 11.11.2021, 18:18
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя murlemur
сообщение 12.11.2021, 9:11
Сообщение #7
Стаж: 5 лет 5 месяцев

Сообщений: 28
Благодарностей: 8
Полезность: 174

Код:

#include <amxmodx>
#include <reapi>

new const KILL_SOUND[] = "ks/knifekill.wav";

public plugin_precache() {
precache_sound(KILL_SOUND);
}

public plugin_init()
{
register_plugin("Knife kill sound", "1.0.0", "***");
RegisterHookChain(RG_CSGameRules_DeathNotice, "CSGameRules_DeathNotice", true);
}

public CSGameRules_DeathNotice(const iVictim, const iKiller, pevInflictor){
if(iVictim == iKiller || !is_user_connected(iKiller) || !rg_is_player_can_takedamage(iVictim, iKiller)) {
return HC_CONTINUE;
}

if(iKiller == pevInflictor && WeaponIdType:get_member(get_member(iKiller, m_pActiveItem), m_iId) == WEAPON_KNIFE) {
rg_send_audio(0, KILL_SOUND, PITCH_NORM);
}

return HC_CONTINUE;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя skripaura
сообщение 12.11.2021, 12:30
Сообщение #8
Стаж: 12 лет

Сообщений: 101
Благодарностей: 37
Полезность: 51

murlemur,
Блин, звук скачивается, но когда режишь с ножа, то все равно не воспроизводится. Что за беда?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя murlemur
сообщение 12.11.2021, 13:22
Сообщение #9
Стаж: 5 лет 5 месяцев

Сообщений: 28
Благодарностей: 8
Полезность: 174

Цитата(skripaura @ 12.11.2021, 12:30) *
murlemur,
Блин, звук скачивается, но когда режишь с ножа, то все равно не воспроизводится. Что за беда?


Возможно wav неправильного формата ? Попробуй для теста другой звук поставить который точно проигрывается ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя skripaura
сообщение 12.11.2021, 17:16
Сообщение #10
Стаж: 12 лет

Сообщений: 101
Благодарностей: 37
Полезность: 51

murlemur,
Да, действительно, звук wav походу неподходящий был, заменил его и все заработало.
Вот теперь не знаю кого из ребят отблагодарить за помощь. Походу два поста правильные.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
sevcs
сообщение 13.11.2021, 20:37
Сообщение #11
Стаж: 11 лет

Сообщений: 407
Благодарностей: 169
Полезность: 254

Где-то ещё был вариант, что бы не один и тот же звук воспроизводило (со временем потом надоедает), а несколько, в рандомном порядке...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 14.11.2021, 1:16
Сообщение #12


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

Цитата(sevcs @ 13.11.2021, 21:37) *
Где-то ещё был вариант, что бы не один и тот же звук воспроизводило (со временем потом надоедает), а несколько, в рандомном порядке...

Создаём массив, в массив записываем пути к звукам и потом дописываем, что проигрываем рандомный, конец)

как-то так

Код
new szSound[][] =
{
    "s1.wav",
    "s2.wav",
    "s3.wav"
};

public plugin_precache()
{
    for(new i = 0; i < sizeof(szSound); i++)
        precache_sound(szSound[i]);
}

new iSound = random(0, charsmax(szSound));
rg_send_audio(id, fmt("sound/%s", szSound[iSound]));



Отредактировал: ThePhoenix, - 14.11.2021, 1:41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
sevcs
сообщение 15.11.2021, 0:45
Сообщение #13
Стаж: 11 лет

Сообщений: 407
Благодарностей: 169
Полезность: 254

Ти-по такого варианта ?
Код
#include <amxmodx>
#include <reapi>

new szSound[][] =
{
    "s1.wav",
    "s2.wav",
    "s3.wav"
};

public plugin_init()
{
   register_plugin("Knife kill sound", "1.0.1", "TEST VERSION");
   RegisterHookChain(RG_CSGameRules_DeathNotice, "CSGameRules_DeathNotice", true);
}

public plugin_precache()
{
    for(new i = 0; i < sizeof(szSound); i++)
        precache_sound(szSound[i]);
}  

public CSGameRules_DeathNotice(const iVictim, const iKiller, pevInflictor){
    if(iVictim == iKiller || !is_user_connected(iKiller) || !rg_is_player_can_takedamage(iVictim, iKiller)) {
        return HC_CONTINUE;
    }

    if(iKiller == pevInflictor && WeaponIdType:get_member(get_member(iKiller, m_pActiveItem), m_iId) == WEAPON_KNIFE) {
            rg_send_audio(0, KILL_SOUND, PITCH_NORM);
    }

    new iSound = random(0, charsmax(szSound));
            rg_send_audio(id, fmt("sound/%s", szSound[iSound]));

    return HC_CONTINUE;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Salpson
сообщение 15.11.2021, 10:37
Сообщение #14


Иконка группы

Стаж: 13 лет
Город: Ульяновск

Сообщений: 1214
Благодарностей: 759
Полезность: 1065

sevcs, зачем хукать RG_CSGameRules_DeathNotice когда лучше будет RG_CSGameRules_PlayerKilled я думаю, зачем там вообще rg_is_player_can_takedamage нужен?
new iSound = random(0, charsmax(szSound));
>>
new iSound = random( sizeof( szSound ) );

new szSound[][]
>>
new szSound[ ]

rg_send_audio(id, fmt("sound/%s", szSound[iSound])); зачем тут fmt? оно и так знает что оно в соунде лежит
>>
rg_send_audio(0, szSound[ iSound ] );

ужас
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя d3m37r4
сообщение 15.11.2021, 12:43
Сообщение #15


Стаж: 11 лет

Сообщений: 304
Благодарностей: 119
Полезность: 604

Salpson, чем лучше RG_CSGameRules_PlayerKilled? Аргументируй.
То, что далее по тексту также не критично)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
sevcs
сообщение 15.11.2021, 15:25
Сообщение #16
Стаж: 11 лет

Сообщений: 407
Благодарностей: 169
Полезность: 254

Получается вот такой вариант...

Код
#include <amxmodx>
#include <reapi>

new szSound[] =
{
    "sound1.wav",
    "sound2.wav",
    "sound3.wav"
};

public plugin_init()
{
    register_plugin("Knife Kill Sound", "1.0.2", "TEST VERSION");
    RegisterHookChain(RG_CSGameRules_PlayerKilled, "CSGameRules_PlayerKilled", true);
}

public plugin_precache()
{
    for(new i = 0; i < sizeof(szSound); i++)
        precache_sound(szSound[i]);
}  

public CSGameRules_PlayerKilled(const iVictim, const iKiller, pevInflictor){
    if(iVictim == iKiller || !is_user_connected(iKiller) || !rg_is_player_can_takedamage(iVictim, iKiller)) {
        return HC_CONTINUE;
    }

    if(iKiller == pevInflictor && WeaponIdType:get_member(get_member(iKiller, m_pActiveItem), m_iId) == WEAPON_KNIFE) {
        rg_send_audio(0, szSound, PITCH_NORM);
    }

    new iSound = random(sizeof(szSound));
    rg_send_audio(0, szSound[iSound]);

    return HC_CONTINUE;
}


А если использовать не .wav формат, а .mp3 ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 15.11.2021, 21:12
Сообщение #17


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

Salpson,
1. можно и sizeof
2. Всегда юзал двойные дважды, тип создаёшь несколько переменных с их размерами, никогда не задумывался можно ли с одными двойными)
3. были случаи, когда не работало без fmt ;)
Ужас ужаснейший прям crazy.gif

sevcs, Надо заюзать иначе воспроизведение
Код
client_cmd( id, "spk %s", szSound[iSound]);
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: