
В этой статье я расскажу
как установить свои звуки победы или поражения в раунде с Немезидой на сервер ZP - Zombie Plague в игре Counter Strike 1.6
Итак для начала откроем исходник самого мода (zombie_plague43.sma):
Ищем:
Array:sound_win_zombies,
После этого добавляем:
Array:sound_win_nemesis, Array:sound_loose_nemesis,
чтобы получилось вот так:
Array:sound_win_zombies, Array:sound_win_nemesis, Array:sound_loose_nemesis,
Далее ищем:
sound_win_zombies = ArrayCreate(64, 1)
после этого добавляем:
sound_win_nemesis = ArrayCreate(64, 1)
sound_loose_nemesis = ArrayCreate(64, 1)
чтобы получилось вот так:
sound_win_zombies = ArrayCreate(64, 1)
sound_win_nemesis = ArrayCreate(64, 1)
sound_loose_nemesis = ArrayCreate(64, 1)
Потом добавляем в прекеш и ищем:
// Custom sounds
for (i = 0; i
// Custom sounds
for (i = 0; i < ArraySize(sound_win_zombies); i++)
{
ArrayGetString(sound_win_zombies, i, buffer, charsmax(buffer))
engfunc(EngFunc_PrecacheSound, buffer)
}
for (i = 0; i < ArraySize(sound_win_nemesis); i++)
{
ArrayGetString(sound_win_nemesis, i, buffer, charsmax(buffer))
engfunc(EngFunc_PrecacheSound, buffer)
}
for (i = 0; i < ArraySize(sound_loose_nemesis); i++)
{
ArrayGetString(sound_loose_nemesis, i, buffer, charsmax(buffer))
engfunc(EngFunc_PrecacheSound, buffer)
}
Затем ищем:
// Show HUD notice, play win sound, update team scores...
static sound[64]
if (!fnGetZombies())
{
// Human team wins
set_hudmessage(0, 0, 200, 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))
PlaySound(sound)
g_scorehumans++
// Round end forward
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_HUMAN);
}
Заменяем на:
// Show HUD notice, play win sound, update team scores...
static sound[64]
if (!fnGetZombies())
{
if (g_nemround)
{
set_dhudmessage(0, 191, 255, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0, false)
show_dhudmessage(0, "%L", LANG_PLAYER, "LOOSE_NEMI")
ArrayGetString(sound_loose_nemesis, random_num(0, ArraySize(sound_loose_nemesis) - 1), sound, charsmax(sound))
PlaySound(sound)
g_scorehumans++
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_HUMAN);
}
else
{
// Human team wins
set_dhudmessage(0, 191, 255, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0, false)
show_dhudmessage(0, "%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))
PlaySound(sound)
g_scorehumans++
// Round end forward
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_HUMAN);
}
}
Также заменяем этот код:
else if (!fnGetHumans())
{
// Zombie team wins
set_hudmessage(200, 0, 0, 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))
PlaySound(sound)
g_scorezombies++
// Round end forward
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_ZOMBIE);
}
На этот:
else if (!fnGetHumans())
{
if (g_nemround)
{
set_dhudmessage(255, 0, 0, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0, false)
show_dhudmessage(0, "%L", LANG_PLAYER, "WIN_NEMI")
ArrayGetString(sound_win_nemesis, random_num(0, ArraySize(sound_win_nemesis) - 1), sound, charsmax(sound))
PlaySound(sound)
g_scorezombies++
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_ZOMBIE);
}
else
{
set_dhudmessage(200, 0, 0, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0, false)
show_dhudmessage(0, "%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))
PlaySound(sound)
g_scorezombies++
// Round end forward
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_ZOMBIE);
}
}
Затем ищем:
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)
}
}
После этого добавляем:
else if (equal(key, "NEMESIS WIN"))
{
// 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_nemesis, key)
}
}
else if (equal(key, "NEMESIS LOOSE"))
{
// 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_loose_nemesis, key)
}
}
2. Компилируем исходник, затем в zombieplague.ini добавляем такие строчки:
NEMESIS WIN = путь до звука
NEMESIS LOOSE = путь до звука
3. Также открываем zombie_plague.txt и добавляем такие строчки:
WIN_NEMI = Босс уничтожил всех людей!
LOOSE_NEMI = Люди убили Босса!
Готово!
Автор статьи: kiryxapro2011
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.