mirror of
https://github.com/Haze1337/Sound-Manager.git
synced 2025-12-08 02:48:33 +00:00
- renamed Connect_MuteAmbient -> ConnectMuteAmbientTimer
- added generic MuteAmbientForClient for ambient blocking - renamed Timer_MuteAmbient -> MuteAmbientTimer - refactored ambient related functions
This commit is contained in:
parent
c3ac10d709
commit
6c37c63d44
@ -143,7 +143,7 @@ public void OnClientCookiesCached(int client)
|
||||
|
||||
if(gI_Settings[client] & Mute_AmbientSounds)
|
||||
{
|
||||
CreateTimer(1.0, Connect_MuteAmbient, GetClientSerial(client));
|
||||
CreateTimer(1.0, ConnectMuteAmbientTimer, GetClientSerial(client));
|
||||
}
|
||||
}
|
||||
//-------------------------------------------------------------
|
||||
@ -429,13 +429,14 @@ public Action CSS_Hook_ShotgunShot(const char[] te_name, const int[] Players, in
|
||||
return Plugin_Stop;
|
||||
}
|
||||
|
||||
public Action Connect_MuteAmbient(Handle hTimer, any data)
|
||||
public Action ConnectMuteAmbientTimer(Handle hTimer, any data)
|
||||
{
|
||||
int client = GetClientFromSerial(data);
|
||||
|
||||
if(IsValidClient(client))
|
||||
if(!IsValidClient(client))
|
||||
{
|
||||
char sSound[128];
|
||||
return;
|
||||
}
|
||||
|
||||
for(int i = 0; i < gA_PlayEverywhereAmbients.Length; i++)
|
||||
{
|
||||
@ -443,7 +444,20 @@ public Action Connect_MuteAmbient(Handle hTimer, any data)
|
||||
|
||||
if(entity != INVALID_ENT_REFERENCE)
|
||||
{
|
||||
GetEntPropString(entity, Prop_Data, "m_iszSound", sSound, sizeof(sSound));
|
||||
MuteAmbientForClient(client, entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MuteAmbientForClient(int client, int entity)
|
||||
{
|
||||
if(!IsValidEdict(entity) || entity == INVALID_ENT_REFERENCE)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
char sSound[PLATFORM_MAX_PATH];
|
||||
GetEntPropString(entity, Prop_Data, "m_iszSound", sSound, PLATFORM_MAX_PATH);
|
||||
EmitSoundToClient(client, sSound, entity, SNDCHAN_STATIC, SNDLEVEL_NONE, SND_STOP, 0.0, SNDPITCH_NORMAL, _, _, _, true);
|
||||
|
||||
if(gI_Settings[client] & Debug)
|
||||
@ -451,33 +465,26 @@ public Action Connect_MuteAmbient(Handle hTimer, any data)
|
||||
PrintToChat(client, "[Debug] Ambient Blocked (%s)", sSound);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Action Timer_MuteAmbient(Handle hTimer, any data)
|
||||
public Action MuteAmbientTimer(Handle hTimer, any data)
|
||||
{
|
||||
int entity = EntRefToEntIndex(data);
|
||||
|
||||
if(entity != INVALID_ENT_REFERENCE)
|
||||
if(!IsValidEdict(entity) || entity == INVALID_ENT_REFERENCE)
|
||||
{
|
||||
char sSound[128];
|
||||
return;
|
||||
}
|
||||
|
||||
for(int client = 1; client <= MaxClients; client++)
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(IsValidClient(client))
|
||||
if(!IsValidClient(i))
|
||||
{
|
||||
if(gI_Settings[client] & Mute_AmbientSounds)
|
||||
{
|
||||
GetEntPropString(entity, Prop_Data, "m_iszSound", sSound, sizeof(sSound));
|
||||
EmitSoundToClient(client, sSound, entity, SNDCHAN_STATIC, SNDLEVEL_NONE, SND_STOP, 0.0, SNDPITCH_NORMAL, _, _, _, true);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(gI_Settings[client] & Debug)
|
||||
if(gI_Settings[i] & Mute_AmbientSounds)
|
||||
{
|
||||
PrintToChat(client, "[Debug] Ambient Blocked (%s)", sSound);
|
||||
}
|
||||
}
|
||||
}
|
||||
MuteAmbientForClient(i, entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -489,7 +496,7 @@ public Action SoundHook_Ambient(char sample[PLATFORM_MAX_PATH], int &entity, flo
|
||||
return Plugin_Continue;
|
||||
}
|
||||
|
||||
CreateTimer(0.1, Timer_MuteAmbient, EntIndexToEntRef(entity));
|
||||
CreateTimer(0.1, MuteAmbientTimer, EntIndexToEntRef(entity));
|
||||
|
||||
return Plugin_Continue;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user