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

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

  1. Alnet

    Alnet

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

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

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

    AlmazON Не путать с самим yand3xmail

    Сообщения:
    5.164
    Симпатии:
    2.493
    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 Фитиль народного волненья

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

    AlmazON Не путать с самим yand3xmail

    Сообщения:
    5.164
    Симпатии:
    2.493
    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.553
    Симпатии:
    237
    @AlmazON, Оффтоп
     
  8. Drumanid

    Drumanid Неактивный

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

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

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

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

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

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

    Сообщения:
    1.239
    Симпатии:
    407
    @AlmazON, Оффтоп
     
    wayLANder нравится это.
  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

    Сообщения:
    5.164
    Симпатии:
    2.493
    Странно это.
    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.791
    Симпатии:
    2.014
    работает, это скобка что-то означает
     
  16. FrozDark

    FrozDark Команда сайта HLMod

    Сообщения:
    1.791
    Симпатии:
    2.014
  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

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