Доброго всем времени суток!
Интересует способ как отключить звуки из папки sound/music на сервере. Интересует конкретно звук puddleofyou.wav
Пробовал таким способом:
Сообщение отредактировал history_maker: 20 Апрель 2018 - 15:35
Отправлено 20 Апрель 2018 - 13:36
Доброго всем времени суток!
Интересует способ как отключить звуки из папки sound/music на сервере. Интересует конкретно звук puddleofyou.wav
Пробовал таким способом:
Сообщение отредактировал history_maker: 20 Апрель 2018 - 15:35
Отправлено 20 Апрель 2018 - 14:27
Отправлено 20 Апрель 2018 - 15:17
Создай пустую дорожку и обзови как надо и запихни все в vpk. У меня так на меню отключена музыка.
На сколько я понимаю, тогда этот впкарь придётся закачивать игрокам в клиент и они распрощаются с звуком навсегда, что не особо приемлимо(
Отправлено 20 Апрель 2018 - 15:56
Отправлено 20 Апрель 2018 - 16:06
На сколько я понимаю, тогда этот впкарь придётся закачивать игрокам в клиент и они распрощаются с звуком навсегда, что не особо приемлимо(
есть плагин l4d_silenced_infected он выключает звуки зараженных- может просто в нем подсмотреть как устроено и вписать для выключения свой звук?
Отправлено 20 Апрель 2018 - 16:12
есть плагин l4d_silenced_infected он выключает звуки зараженных- может просто в нем подсмотреть как устроено и вписать для выключения свой звук?
2 код взят от туда, не получается...хз то ли реально лижи не едут, то ли я долбанутый)
Не тот return используешь
И сам продолжаешь работу return Plugin_Continue)))
Я просто брал код от сюда https://forums.allie...d.php?p=2411443 и из l4d_silenced_infected
Отправлено 20 Апрель 2018 - 16:36
Не знаю как это вообще должно работать, попробуй во втором коде замена return Plugin_Changed; на return Plugin_Handled;
всё же как то не правильно. Ты вроде просто выключить пытаешься а надо выключать каждому игроку.
Отправлено 20 Апрель 2018 - 17:15
Не работает как ни крути...
Отправлено 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; }
с хлмода, взял можно было просто погуглить
Отправлено 20 Апрель 2018 - 17:42
квар music_manager 0 решил проигрывание этой музыки, но убил приличное количество других звуков.
Всем спасибо, тему можно закрывать.
Сообщение отредактировал history_maker: 20 Апрель 2018 - 17:46
Отправлено 20 Апрель 2018 - 18:20
Странно у меня работает проверял, ну ладно. Если даже этот код использовать там по нативу видно что используется событие раунд старт. Кто подключен к серверу с предыдущей карты у того не будет звука, зашедший новый игрок посреди карты например со звуками будет. Нужно таймер всю карту гонять повторяющий или для каждого за спавненого игрока отдельно блокировать.
Отправлено 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
Отправлено 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
0 пользователей, 0 гостей, 0 анонимных