Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 28 мар 2024, 14:16

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: replace sound ambience / siren.wav
СообщениеДобавлено: 19 сен 2017, 08:38 
Не в сети
Зарегистрирован:
17 май 2015, 23:48
Последнее посещение:
25 июл 2019, 07:26
Сообщения: 59
Код:
#include <amxmodx>
#include <fakemeta>

#define MAX_DEATH_SNDS 1

new death_sounds_o[MAX_DEATH_SNDS][] = { "ambience/siren.wav" }

new death_sounds_r[MAX_DEATH_SNDS][] = { "newsound.wav" }

public plugin_init()
{
    register_plugin("Custom death sounds" , "0.1" , "v3x");
    register_forward(FM_EmitSound , "EmitSound");
}

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

public EmitSound(entity, channel, const sound[])
{
    if(pev_valid(entity) && is_user_alive(entity))
    {
        for(new i = 0; i < MAX_DEATH_SNDS; i++)
        {
            if(equal(sound , death_sounds_o[i]))
                {   
                    emit_sound(entity, channel, death_sounds_r[i], 1.0, ATTN_NORM, 0, PITCH_NORM);
                    return FMRES_SUPERCEDE;
                }
        }
    }
    return FMRES_IGNORED;
}

Изображение

I need to replace alarm sound

when you activate the pump sound another new sound


Последний раз редактировалось eseqiiel 19 сен 2017, 18:10, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace sound ambience / siren.wav
СообщениеДобавлено: 19 сен 2017, 11:23 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
Please, learn to use code tag for source code.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace sound ambience / siren.wav
СообщениеДобавлено: 19 сен 2017, 11:50 
Не в сети
Зарегистрирован:
17 май 2015, 23:48
Последнее посещение:
25 июл 2019, 07:26
Сообщения: 59
Lev писал(а):
Please, learn to use code tag for source code.

:good:


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace sound ambience / siren.wav
СообщениеДобавлено: 19 сен 2017, 17:54 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
You need to describe as well

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace sound ambience / siren.wav
СообщениеДобавлено: 19 сен 2017, 18:19 
Не в сети
Зарегистрирован:
17 май 2015, 23:48
Последнее посещение:
25 июл 2019, 07:26
Сообщения: 59
abdobiskra писал(а):
You need to describe as well

:fool: LOL thanks abdo...

I want another sound for everyone

this

http://files.anitalink.com/gamecache/hl/valve/sound/ambience/siren.wav

for

http://cd.textfiles.com/10000soundssongs/WAV/ALARM.WAV


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace sound ambience / siren.wav
СообщениеДобавлено: 20 сен 2017, 02:27 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
I had the same idea in the past but I have not used it so far it myb contain errors try it !
Код:
#include <amxmodx>
#include <fakemeta>

#define SIREN_OLD_SOUND "ambience/siren.wav"
#define SIREN_NEW_SOUND "abc/alarm.wav"

new g_kvd

public plugin_precache ()
{
   precache_sound ( SIREN_NEW_SOUND );
   
   g_kvd = register_forward ( FM_KeyValue, "fw_KeyValue");
}

public plugin_init ()
{
   register_plugin ( "Replace Siren Sound", "1.0", "abdobiskra" );
   
   if(g_kvd)
   {
      unregister_forward(FM_KeyValue, g_kvd)
   }
}

public fw_KeyValue(ent, handle)
{
   if (pev_valid ( ent ))
   {
      new g_keyNm[16], g_keyVl[ 32 ], g_ClassNm[16];
      
      get_kvd ( handle, KV_ClassName, g_ClassNm, charsmax(g_ClassNm));
      get_kvd ( handle, KV_KeyName, g_keyNm, charsmax ( g_keyNm ) );
      get_kvd ( handle, KV_Value, g_keyVl, charsmax ( g_keyVl ) );

      if (equal(g_ClassNm, "ambient_generic") && equal ( g_keyNm, "message" ) && equal ( g_keyVl, SIREN_OLD_SOUND ))
      {
         set_kvd(0, KV_KeyName, g_keyNm)
         set_kvd(0, KV_Value, SIREN_NEW_SOUND)
         set_kvd(0, KV_fHandled, 0)
         dllfunc(DLLFunc_KeyValue, ent, 0)
         
         return FMRES_SUPERCEDE;
      }
      return FMRES_IGNORED;
   }
   return FMRES_IGNORED;
}

_________________
https://vk.com/kgbaghl


Последний раз редактировалось abdobiskra 20 сен 2017, 18:15, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace sound ambience / siren.wav
СообщениеДобавлено: 20 сен 2017, 02:38 
Не в сети
Зарегистрирован:
17 май 2015, 23:48
Последнее посещение:
25 июл 2019, 07:26
Сообщения: 59
it works

but does not repeat the sound

Posted after 2 minutes 46 seconds:
abdobiskra

enter to see the test plis

190.176.168.245:27018


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace sound ambience / siren.wav
СообщениеДобавлено: 20 сен 2017, 17:47 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
idk myb u need to format ur new sound similar like old sound
If you want to verify that the plugin is working properly, change sound to another from defult sounds game ex (#define SIREN_NEW_SOUND "ambience/drips.wav")
not:
I think the file size should be close to the old sound file

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace sound ambience / siren.wav
СообщениеДобавлено: 20 сен 2017, 21:45 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
Probably you should set fHandled on original KVD and ClassName on temporal.
Код:
public fw_KeyValue(ent, handle)
{
   if (pev_valid ( ent ))
   {
      new g_keyNm[16], g_keyVl[ 32 ], g_ClassNm[16];
     
      get_kvd ( handle, KV_ClassName, g_ClassNm, charsmax(g_ClassNm));
      get_kvd ( handle, KV_KeyName, g_keyNm, charsmax ( g_keyNm ) );
      get_kvd ( handle, KV_Value, g_keyVl, charsmax ( g_keyVl ) );

      if (equal(g_ClassNm, "ambient_generic") && equal ( g_keyNm, "message" ) && equal ( g_keyVl, SIREN_OLD_SOUND ))
      {
         set_kvd(0, KV_ClassName, g_ClassNm)
         set_kvd(0, KV_KeyName, g_keyNm)
         set_kvd(0, KV_Value, SIREN_NEW_SOUND)
         set_kvd(0, KV_fHandled, 0)
         dllfunc(DLLFunc_KeyValue, ent, 0)
         
         set_kvd(handle, KV_fHandled, get_kvd (0, KV_fHandled))
         return FMRES_SUPERCEDE;
      }
   }
   return FMRES_IGNORED;
}


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace sound ambience / siren.wav
СообщениеДобавлено: 20 сен 2017, 23:02 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
Lev
I do not think so because I manually replaced it on the map but the same result
Maybe the problem is in the sound format . but also I do not find a little difference?
the output :
1) siren.wav :
Цитата:
Type: Audio
Codec: PCM U8 (u8)
Channels: Mono
Sample rate: 11025 Hz
Bits per sample: 8
2) alarm.wav :
Цитата:
Type: Audio
Codec: PCM U8 (u8)
Channels: Mono
Sample rate: 11025 Hz
Bits per sample: 8

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB