Заблокировать звук падения гранаты.

Тема в разделе "Программирование / Скриптинг", создана пользователем Alnet, 27 апр 2016.

  1. Alnet

    Alnet

    Сообщения:
    39
    Симпатии:
    0
    Здравствуйте, подскажите как можно отловить и заблокировать звук удара гранаты об стену...? просто бывают такие случае когда дымовая граната застряет в решетке и издает неприятный звук.. нужно это пофиксить...
     
  2. Tallanvor

    Tallanvor Красноглазый

    Сообщения:
    1.171
    Симпатии:
    364
    @Alnet, это к Valve :)
     
  3. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.835
    Симпатии:
    2.140
    PHP:
    #include <sdktools_sound>

    public OnPluginStart() AddNormalSoundHook(BlockGrenadeSound);

    public 
    Action:BlockGrenadeSound(clients[64], &numClientsString:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)
    {
        return 
    strcmp(sample"weapons/smokegrenade/grenade_hit1.wav") ? Plugin_Continue:Plugin_Handled;
    }
    Для CS:S сработает.
    На других играх могут быть другие звуки, которыми и нужно заменить указанный.
     
    Серый™ нравится это.
  4. Alnet

    Alnet

    Сообщения:
    39
    Симпатии:
    0
    а где можно глянуть пути звуков для ксго?
     
  5. gibs

    gibs Фитиль народного волненья

    Сообщения:
    588
    Симпатии:
    167
    @Alnet, ты удивишься, но в ксго. Загугли программку gcfscape и открой через неё .vpk
     
  6. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.835
    Симпатии:
    2.140
    PHP:
    #include <sdktools_sound>

    public OnPluginStart() AddNormalSoundHook(PathStandartSounds);

    public 
    Action:PathStandartSounds(clients[64], &numClientsString:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)
    {
        
    PrintToChatAll("Путь к звуку: %s"sample);
        return 
    Plugin_Continue;
    }
    Кидаешь гранату о преграду и смотришь в чат.
    Только проверять надо одному на сервере, иначе весь чат будет в спаме и ничего не поймёшь, где твой звук, а где чужие.
     
    Monomizer нравится это.
  7. Monomizer

    Monomizer Мимо пробегал Супер-модератор

    Сообщения:
    1.519
    Симпатии:
    203
    @AlmazON, Оффтоп
     
  8. Drumanid

    Drumanid Дилетант

    Сообщения:
    648
    Симпатии:
    227
  9. gibs

    gibs Фитиль народного волненья

    Сообщения:
    588
    Симпатии:
    167
    Оффтоп
     
  10. Monomizer

    Monomizer Мимо пробегал Супер-модератор

    Сообщения:
    1.519
    Симпатии:
    203
    Оффтоп
     
  11. Tallanvor

    Tallanvor Красноглазый

    Сообщения:
    1.171
    Симпатии:
    364
    @AlmazON, Оффтоп
     
    Иванчо Бальбовски нравится это.
  12. Alnet

    Alnet

    Сообщения:
    39
    Симпатии:
    0
    if (StrEqual(sample, ")weapons/smokegrenade/grenade_hit1.wav", false) || StrEqual(sample, ")weapons/flashbang/grenade_hit1.wav", false))
    {
    return Plugin_Handled;
    }

    Если кому надо чтоб не залагивал звук застрявшей грены для ксго
     
  13. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.835
    Симпатии:
    2.140
    Странно это.
    PHP:
    #include <sdktools_sound>

    public OnPluginStart() AddNormalSoundHook(BlockGrenadeSound);

    public 
    Action:BlockGrenadeSound(clients[64], &numClientsString:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)
    {
        return 
    strcmp(sample")weapons/smokegrenade/grenade_hit1.wav") && strcmp(sample")weapons/flashbang/grenade_hit1.wav") ? Plugin_Continue:Plugin_Stop;
    }
     
    Последнее редактирование: 28 апр 2016
  14. Alnet

    Alnet

    Сообщения:
    39
    Симпатии:
    0
    я тоже удивился но - sample говорит что есть)))
     
  15. FrozDark

    FrozDark Команда сайта HLMod Модератор

    Сообщения:
    1.771
    Симпатии:
    1.931
    работает, это скобка что-то означает
     
  16. FrozDark

    FrozDark Команда сайта HLMod Модератор

    Сообщения:
    1.771
    Симпатии:
    1.931
  17. Колян

    Колян

    Сообщения:
    181
    Симпатии:
    5
    PHP:

    public Action:BlockGrenadeSound(clients[64], &numClientsString:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)
    {

    if ((
    StrContains(sample"knife_hit"false) != -1) || (StrContains(sample"knife_stab"false) != -1) && IsValidEntity(entity))
        {
    PrintToChatAll("отловили звук");
            return 
    Plugin_Stop;
        }
        return 
    Plugin_Continue;
    }
    Фразу "отловили звук" - пишет но звук все равно воспроизвелся.. почему?(
     
  18. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.835
    Симпатии:
    2.140
    Не все звуки возможно заблокировать подобным способом. Используй аналогию с StopSound:
    Код:
    StopSound(entity, channel, const String:name[]);