That's a problem from your script, not the sound file
I'll be honest here, I don't really know what that forward does or how you would do this on HL but just from intuition I guess, can you please try this out?
Code:
public fw_KeyValue(ent, handle)
{
if (pev_valid ( ent ))
{
new g_keyNm[16], g_keyVl[ 32 ], g_ClassNm[16];
get_kvd ( handle, KV_ClassName, g_ClassNm, charsmax(g_ClassNm));
get_kvd ( handle, KV_KeyName, g_keyNm, charsmax ( g_keyNm ) );
get_kvd ( handle, KV_Value, g_keyVl, charsmax ( g_keyVl ) );
if (equal(g_ClassNm, "ambient_generic") && equal ( g_keyNm, "message" ) && equal ( g_keyVl, SIREN_OLD_SOUND ))
{
set_kvd(0, KV_Value, SIREN_NEW_SOUND)
dllfunc(DLLFunc_KeyValue, ent, 0)
return FMRES_SUPERCEDE;
}
}
return FMRES_IGNORED;
If that doesn't work then with my limited knowledge I can only suggest you just block the original sound and play the new one "manually" by using a repeating task and emit_sound (check how many times the sound is played and at what interval, then do a 5 second task that runs 8 times for 45 second siren, but remember to play one when you set the task as well)
if that doesn't work or you want the optimal solution please post in the scripting help section, since your sound is played fine one time it means the format is good
__________________