Перейти к содержимому


Фотография

Отключить некоторые звуки из папки music

sounds

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 13

#1 history_maker

history_maker

    Пользователь

  • Пользователь
  • PipPipPip
  • 328 сообщений

Отправлено 20 Апрель 2018 - 13:36

Доброго всем времени суток!
Интересует способ как отключить звуки из папки sound/music на сервере. Интересует конкретно звук puddleofyou.wav
Пробовал таким способом:

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


Сообщение отредактировал history_maker: 20 Апрель 2018 - 15:35


#2 Slaven555

Slaven555

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 533 сообщений

Отправлено 20 Апрель 2018 - 14:27

Создай пустую дорожку и обзови как надо и запихни все в vpk. У меня так на меню отключена музыка.
  • 777VeNoM777 это нравится

#3 history_maker

history_maker

    Пользователь

  • Пользователь
  • PipPipPip
  • 328 сообщений

Отправлено 20 Апрель 2018 - 15:17

Создай пустую дорожку и обзови как надо и запихни все в vpk. У меня так на меню отключена музыка.

На сколько я понимаю, тогда этот впкарь придётся закачивать игрокам в клиент и они распрощаются с звуком навсегда, что не особо приемлимо(



#4 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 20 Апрель 2018 - 15:56

Не тот return используешь
И сам продолжаешь работу return Plugin_Continue)))

#5 777VeNoM777

777VeNoM777

    Участник

  • Пользователь
  • PipPip
  • 73 сообщений

Отправлено 20 Апрель 2018 - 16:06

На сколько я понимаю, тогда этот впкарь придётся закачивать игрокам в клиент и они распрощаются с звуком навсегда, что не особо приемлимо(

есть плагин l4d_silenced_infected он выключает звуки зараженных- может просто в нем подсмотреть как устроено и вписать для выключения свой звук?



#6 history_maker

history_maker

    Пользователь

  • Пользователь
  • PipPipPip
  • 328 сообщений

Отправлено 20 Апрель 2018 - 16:12

есть плагин l4d_silenced_infected он выключает звуки зараженных- может просто в нем подсмотреть как устроено и вписать для выключения свой звук?

2  код взят от туда, не получается...хз то ли реально лижи не едут, то ли я долбанутый)


Не тот return используешь
И сам продолжаешь работу return Plugin_Continue)))

Я просто брал код от сюда https://forums.allie...d.php?p=2411443 и из  l4d_silenced_infected



#7 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 20 Апрель 2018 - 16:36

Не знаю как это вообще должно работать,  попробуй во втором коде замена return Plugin_Changed; на return Plugin_Handled;


всё же как то не правильно. Ты вроде просто выключить пытаешься а надо выключать каждому игроку.



#8 history_maker

history_maker

    Пользователь

  • Пользователь
  • PipPipPip
  • 328 сообщений

Отправлено 20 Апрель 2018 - 17:15

Не работает как ни крути...



#9 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 20 Апрель 2018 - 17:25

вообщем вот пробовал на ведьму работает, вроде.

#pragma semicolon 1
#include <sourcemod>
#include <sdktools_sound>

public OnPluginStart()
{
	AddNormalSoundHook(BlockSound);
}

public Action BlockSound(clients[64], &numClients, char sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)
{
	if (StrContains(sample, "npc/witch/voice/pain/witch_pain_2.wav", false))
		return Plugin_Stop;
	return Plugin_Continue;
}

а вот правильные пути звуков узнать:

#include <sdktools_sound>

public OnPluginStart() AddNormalSoundHook(PathStandartSounds);

public Action:PathStandartSounds(clients[64], &numClients, String:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)
{
    PrintToChatAll("Путь к звуку: %s", sample);
    return Plugin_Continue;
}

с хлмода, взял можно было просто погуглить


  • Goldfish это нравится

#10 history_maker

history_maker

    Пользователь

  • Пользователь
  • PipPipPip
  • 328 сообщений

Отправлено 20 Апрель 2018 - 17:42

Скрытый текст
Увы и ах, тоже не работает...ответ нашёл тут https://forums.allie...d.php?p=2502657. Как заблочили изменения клиента со стороны сервера, с тех нельзя управлять этими звуками...

квар music_manager 0 решил проигрывание этой музыки, но убил приличное количество других звуков.
Всем спасибо, тему можно закрывать.


Сообщение отредактировал history_maker: 20 Апрель 2018 - 17:46


#11 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 20 Апрель 2018 - 18:20

Странно у меня работает проверял, ну ладно. Если даже этот код использовать там по нативу видно что используется событие раунд старт. Кто подключен к серверу с предыдущей карты у того не будет звука, зашедший новый игрок посреди карты например со звуками будет. Нужно таймер всю карту гонять повторяющий или для каждого за спавненого игрока отдельно блокировать.



#12 Game Over - L4D2 - CS:GO

Game Over - L4D2 - CS:GO

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 574 сообщений

Отправлено 21 Апрель 2018 - 1:43

Доброго всем времени суток!
Интересует способ как отключить звуки из папки sound/music на сервере. Интересует конкретно звук puddleofyou.wav
Пробовал таким способом:

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

В 1 варианте не указал путь к звуковому файлу, а так же формат wav

music/terror/puddleofyou.wav // должно быть так
 

#include <sourcemod>
#include <sdktools>
#pragma semicolon 1

#define PLUGIN_VERSION "1.0"

public Plugin:myinfo = 
{
	name = "block_sound",
	author = "",
	description = "",
	version = PLUGIN_VERSION,
	url = ""
}

public OnPluginStart()
{
	AddNormalSoundHook(Block_Sound);
}

public Action:Block_Sound(clients[64], &numClients, String:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)
{
	if (StrEqual(sample, "music/terror/puddleofyou.wav", false))
		return Plugin_Stop;
	
	return Plugin_Continue;
} 

Сообщение отредактировал Game Over - L4D2 - CS:GO: 21 Апрель 2018 - 1:56

  • 777VeNoM777 это нравится

#13 skv

skv

    Новичок

  • Пользователь
  • Pip
  • 10 сообщений

Отправлено 31 Январь 2021 - 13:57

Доброго всем!

 

Наткнулся на обсуждение, понимаю, что поздновато, но если вдруг кому-то ещё нужно:

SoundHook - регулирует звуки вне клиента, на сколько я понял, но нужно убирать звук ещё и на клиенте.
Ниже на примере звука выстрела из пистолета:

#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>
 
public Plugin:myinfo = 
	{
		name = "[L4D] Pistol hide sound_pistol",
		author = "Skv",
		description = "Hide pistol shot sound_pistol",
		version = "1.1",
		url = ""
	}

#define FL_PISTOL_PRIMARY (1<<6) //Is 1 when you have a primary weapon and dual pistols
#define FL_PISTOL (1<<7) //Is 1 when you have dual pistols

char sound_pistol[] = "^weapons/pistol/gunfire/pistol_fire.wav";
 
public OnPluginStart() 
{ 
	HookEvent("weapon_fire",  Event_weapon_fire, EventHookMode_Pre);
} 
 
public Action:Event_weapon_fire(Handle:event, const String:name[], bool:dontBroadcast)
{
	int client = GetClientOfUserId(GetEventInt(event, "userid"));
	if (!IsValidClient(client)) {return;}
	
	char weapon_id[32];
	GetClientWeapon(client, weapon_id, sizeof(weapon_id));
	
	if (!strcmp(weapon_id, "weapon_pistol"))
	{
		if ((GetEntProp(client, Prop_Send, "m_iAddonBits") & (FL_PISTOL|FL_PISTOL_PRIMARY)) > 0)
		{
			return;
		}
		
		StopSound(client, SNDCHAN_WEAPON, sound_pistol); // убираем звук на клиенте
		AddNormalSoundHook(NormalSHook:Sound_Hook); // добавляем крючок для отлова нужного нам звука
	}
}
 
// Отлов звука
public Action:Sound_Hook(clients[64], &numClients, String:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags) 
{ 
	if(!IsValidEntity(entity)) {return Plugin_Continue;}
	
	if (!strcmp(sample, sound_pistol))
	{
		if (IsValidClient(entity))
		{
			RemoveNormalSoundHook(NormalSHook:Sound_Hook); // убираем крючок для отлова
			return Plugin_Stop; // убираем звук вне клиента
		}
	}
	return Plugin_Continue;
}
 
public IsValidClient(client)
{
	if (client < 1 || client > MaxClients) {return false;}
	if (!IsClientInGame(client)) {return false;}
	if (GetClientTeam(client) != 2) {return false;} 
	return true;
}

Сообщение отредактировал skv: 01 Февраль 2021 - 19:34


#14 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 02 Февраль 2021 - 21:00

Еще есть AddAmbientSoundHook.




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных