Блокирование звука от ambient_generic для отдельного игрока

Тема в разделе "Программирование / Скриптинг", создана пользователем (admiral), 25 янв 2014.

  1. (admiral)

    (admiral)

    Сообщения:
    69
    Симпатии:
    8
    Существет ли способ, который запретит звуку от ambient_generic воспроизводиться у отдельного игрока? Или, может, кто-нибудь знает, как выполнить код сразу после EmitAmbientSound?
     
  2. wanted241

    wanted241 Real-Gamer.Ru

    Сообщения:
    783
    Симпатии:
    355
  3. (admiral)

    (admiral)

    Сообщения:
    69
    Симпатии:
    8
    Этот хук не ловит звуки от ambient_generic. Можно поймать с помощью AddAmbientSoundHook, но там нельзя отдельно кому-нибудь отключить, только сразу всем.
     
  4. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.060
    Симпатии:
    345
    Объясни подробнее что ты хочешь.
     
  5. (admiral)

    (admiral)

    Сообщения:
    69
    Симпатии:
    8
    Хочу, чтобы когда воспроизводился звук от ambient_generic, останавливать этот звук для некоторых игроков.
     
  6. SpinG

    SpinG

    Сообщения:
    10
    Симпатии:
    1
    тогда нужно блокировать этот звук полностью и в это же время прогонять циклом игроков которым его можно слышать и им же воспроизводить
     
    (admiral) нравится это.
  7. (admiral)

    (admiral)

    Сообщения:
    69
    Симпатии:
    8
    Я сделал, как говорил Sping, вроде все в порядке, но иногда происходит странная вещь - звук проигрывается с другой громкостью, гораздо большей, чем он бы воспроизвелся без плагина. И когда на карте звук останавливается с помощью инпута PlaySound к ambient_generic, он плагином иногда не останавливается(( Помогите, вот часть кода
    Код:
    public Action:Ambient(String:sample[PLATFORM_MAX_PATH], &entity, &Float:volume, &level, &pitch, Float:pos[3], &flags, &Float:delay)
    {
    	decl String:buffer[32];
    	for (new m = 1; m <= MaxClients; m++)
    	{
    		if (IsClientInGame(m) && AreClientCookiesCached(m))
    		{
    			GetClientCookie(m, hudCookie, buffer, sizeof(buffer));
    			if (!StrEqual(buffer, "1"))
    				EmitSoundToClient(m, sample, entity, SNDCHAN_STATIC, level, flags, volume, pitch, _, pos);
    		}
    	}
    	return Plugin_Handled;
    }