added option to comma separate the soundfiles

This commit is contained in:
jenz 2024-02-24 02:47:22 +01:00
parent d57bd5655e
commit effc246b45
2 changed files with 21 additions and 5 deletions

View File

@ -13,7 +13,7 @@
"human spawn protection" "10.0" "human spawn protection" "10.0"
"Global command" "mp_afterroundmoney 16000" "Global command" "mp_afterroundmoney 16000"
"Global command" "bot_difficulty 3" "Global command" "bot_difficulty 3"
"ambientSound" "ambient/zr/zr_ambience.mp3" "ambientSound" "ambient/zr/zr_ambience.mp3,ambient/zr/ambience_1.mp3"
"ambientLoopDuration" "60.3" "ambientLoopDuration" "60.3"
"bossSound" "ambient/zr/satanic_demona.mp3" "bossSound" "ambient/zr/satanic_demona.mp3"
"bossLoopDuration" "155.3" "bossLoopDuration" "155.3"

View File

@ -44,8 +44,8 @@ char g_cZMSounds[g_dIndexes][g_dLength];
char g_cWeaponEntity[g_dIndexes][g_dLength]; char g_cWeaponEntity[g_dIndexes][g_dLength];
char g_cWeaponNames[g_dIndexes][g_dLength]; char g_cWeaponNames[g_dIndexes][g_dLength];
char g_cWeaponCommand[g_dIndexes][g_dLength]; char g_cWeaponCommand[g_dIndexes][g_dLength];
char g_cAmbientSOund[512];
char g_cBossSound[512]; char g_cBossSound[512];
char g_cAmbientSOund[64][512];
float g_fAmbientSoundLoopDuration; float g_fAmbientSoundLoopDuration;
float g_fBossSoundLoopDuration; float g_fBossSoundLoopDuration;
@ -913,7 +913,7 @@ public void LoadExtraSettings()
if (StrContains(l_cLine, "ambientSound", false) > -1) if (StrContains(l_cLine, "ambientSound", false) > -1)
{ {
ReplaceStrings(l_cLine, "ambientSound"); ReplaceStrings(l_cLine, "ambientSound");
Format(g_cAmbientSOund, sizeof(g_cAmbientSOund), l_cLine); ExplodeString(l_cLine, ",", g_cAmbientSOund, 64, 512);
} }
if (StrContains(l_cLine, "ambientLoopDuration") > -1) if (StrContains(l_cLine, "ambientLoopDuration") > -1)
{ {
@ -1157,10 +1157,25 @@ public void Event_roundStart(Handle event, const char[] name, bool dontBroadcast
} }
else else
{ {
EmitAmbience(g_cAmbientSOund); int index = ambient_index();
EmitAmbience(g_cAmbientSOund[index]);
g_hAmbient = CreateTimer(g_fAmbientSoundLoopDuration, Timer_Ambient, INVALID_HANDLE, TIMER_REPEAT); // 0.3 seconds without sound g_hAmbient = CreateTimer(g_fAmbientSoundLoopDuration, Timer_Ambient, INVALID_HANDLE, TIMER_REPEAT); // 0.3 seconds without sound
} }
} }
public int ambient_index()
{
int index = 0;
for (int i = 0; i < sizeof(g_cAmbientSOund); i++)
{
if (strlen(g_cAmbientSOund[i]) == 0)
{
index = (g_iWave - 1) % i;
break;
}
}
return index;
}
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------
// Purpose: // Purpose:
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------
@ -2248,7 +2263,8 @@ public Action Timer_Ambient(Handle timer, any userid)
} }
else else
{ {
EmitAmbience(g_cAmbientSOund); int index = ambient_index();
EmitAmbience(g_cAmbientSOund[index]);
} }
return Plugin_Handled; return Plugin_Handled;
} }