Code:
new Array:sound_win_zombies_ismp3,
Array:sound_win_humans_ismp3, Array:sound_win_no_one_ismp3
public plugin_precache()
{
sound_win_zombies_ismp3 = ArrayCreate(1, 1)
sound_win_humans_ismp3 = ArrayCreate(1, 1)
sound_win_no_one_ismp3 = ArrayCreate(1, 1)
// Custom sounds
for (i = 0; i < ArraySize(sound_win_zombies); i++)
{
// ArrayGetString(sound_win_zombies, i, buffer, charsmax(buffer))
// engfunc(EngFunc_PrecacheSound, buffer)
ArrayGetString(sound_win_zombies, i, buffer, charsmax(buffer))
if (ArrayGetCell(sound_win_zombies_ismp3, i))
{
format(buffer, charsmax(buffer), "sound/%s", buffer)
engfunc(EngFunc_PrecacheGeneric, buffer)
}
else
engfunc(EngFunc_PrecacheSound, buffer)
}
for (i = 0; i < ArraySize(sound_win_humans); i++)
{
// ArrayGetString(sound_win_humans, i, buffer, charsmax(buffer))
// engfunc(EngFunc_PrecacheSound, buffer)
ArrayGetString(sound_win_humans, i, buffer, charsmax(buffer))
if (ArrayGetCell(sound_win_humans_ismp3, i))
{
format(buffer, charsmax(buffer), "sound/%s", buffer)
engfunc(EngFunc_PrecacheGeneric, buffer)
}
else
engfunc(EngFunc_PrecacheSound, buffer)
}
for (i = 0; i < ArraySize(sound_win_no_one); i++)
{
// ArrayGetString(sound_win_no_one, i, buffer, charsmax(buffer))
// engfunc(EngFunc_PrecacheSound, buffer)
ArrayGetString(sound_win_no_one, i, buffer, charsmax(buffer))
if (ArrayGetCell(sound_win_no_one_ismp3, i))
{
format(buffer, charsmax(buffer), "sound/%s", buffer)
engfunc(EngFunc_PrecacheGeneric, buffer)
}
else
engfunc(EngFunc_PrecacheSound, buffer)
}
}
// Log Event Round End
public logevent_round_end()
{
// Show HUD notice, play win sound, update team scores...
static sound[64], iRand, ismp3
if (!fnGetZombies())
{
// Human team wins
set_hudmessage(hred, hgreen, hblue, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0, -1)
ShowSyncHudMsg(0, g_MsgSync, "%L", LANG_PLAYER, "WIN_HUMAN")
// Play win sound and increase score
ArrayGetString(sound_win_humans, random_num(0, ArraySize(sound_win_humans) - 1), sound, charsmax(sound))
ismp3 = ArrayGetCell(sound_win_humans_ismp3, iRand)
// Play it on clients
if (ismp3)
client_cmd(0, "mp3 play ^"sound/%s^"", sound)
else
PlaySound(sound)
g_scorehumans++
// Round end forward
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_HUMAN);
}
else if (!fnGetHumans())
{
// Zombie team wins
set_hudmessage(nred, zgreen, nblue, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0, -1)
ShowSyncHudMsg(0, g_MsgSync, "%L", LANG_PLAYER, "WIN_ZOMBIE")
// Play win sound and increase score
ArrayGetString(sound_win_zombies, random_num(0, ArraySize(sound_win_zombies) - 1), sound, charsmax(sound))
ismp3 = ArrayGetCell(sound_win_zombies_ismp3, iRand)
// Play it on clients
if (ismp3)
client_cmd(0, "mp3 play ^"sound/%s^"", sound)
else
PlaySound(sound)
g_scorezombies++
// Round end forward
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_ZOMBIE);
}
else
{
// No one wins
set_hudmessage(nred, zgreen, hblue, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0, -1)
ShowSyncHudMsg(0, g_MsgSync, "%L", LANG_PLAYER, "WIN_NO_ONE")
// Play win sound
ArrayGetString(sound_win_no_one, random_num(0, ArraySize(sound_win_no_one) - 1), sound, charsmax(sound))
ismp3 = ArrayGetCell(sound_win_no_one_ismp3, iRand)
// Play it on clients
if (ismp3)
client_cmd(0, "mp3 play ^"sound/%s^"", sound)
else
PlaySound(sound)
// Round end forward
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_NO_ONE);
}
}
load_customization_from_files()
{
while (file && !feof(file))
{
switch (section)
{
case SECTION_SOUNDS:
{
if (equal(key, "WIN ZOMBIES"))
{
// Parse sounds
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
// Trim spaces
trim(key)
trim(value)
// Add to sounds array
ArrayPushString(sound_win_zombies, key)
ArrayPushCell(sound_win_zombies_ismp3, equal(key[strlen(key)-4], ".mp3") ? 1 : 0)
}
}
else if (equal(key, "WIN HUMANS"))
{
// Parse sounds
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
// Trim spaces
trim(key)
trim(value)
// Add to sounds array
ArrayPushString(sound_win_humans, key)
ArrayPushCell(sound_win_humans_ismp3, equal(key[strlen(key)-4], ".mp3") ? 1 : 0)
}
}
else if (equal(key, "WIN NO ONE"))
{
// Parse sounds
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
// Trim spaces
trim(key)
trim(value)
// Add to sounds array
ArrayPushString(sound_win_no_one, key)
ArrayPushCell(sound_win_no_one_ismp3, equal(key[strlen(key)-4], ".mp3") ? 1 : 0)
}
}
}
}
}
}