По умолчанию звуки будут воспроизводиться (как обычно), если пользователь этого не хочет, то он должен добавить "no_sounds" строку в "setinfo", равную единице:
- Код: Выделить всё
setinfo "no_sounds" "1"
miscstats.sma
- Добавим массив глобальных переменных no_sounds[33], сравнивая которые, будем принимать решение, воспроизводить звук конкретному игроку, или нет.
86 строка, после "new g_he_sync" добавьте:
[pawn]- new no_sounds[33]
- В момент подключения игрока к серверу, считываем его "setinfo" и присваиваем 1 либо 0 переменной no_sounds[33].
243 строка, после "g_streakKills[id] = {0, 0}" (внутри client_putinserver(id) функции) добавьте:
[pawn]- new ns[2]
- get_user_info(id, "no_sounds", ns, 1)
- if (equali(ns, "1")) {
- no_sounds[id] = 1
- } else {
- no_sounds[id] = 0
- }
Для проверок перед воспроизведением каждого звука всё готово, добавим условия путём "оборачивания" функций client_cmd(*, "spk *"). - 428 строка, было:
[pawn]- client_cmd(g_LastAnnounce, "spk misc/oneandonly")
Стало:
[pawn]- if (no_sounds[g_LastAnnounce] == 0) {
- client_cmd(g_LastAnnounce, "spk misc/oneandonly")
- }
- 495 строка, было:
[pawn]- client_cmd(killer, "spk misc/headshot")
- client_cmd(victim, "spk misc/headshot")
Стало:
[pawn]- if (no_sounds[killer] == 0) {
- client_cmd(killer, "spk misc/headshot")
- }
- if (no_sounds[victim] == 0) {
- client_cmd(victim, "spk misc/headshot")
- }
- 776 строка, было:
[pawn]- client_cmd(players[i], "spk %s", sound)
Стало:
[pawn]- if (no_sounds[players[i]] == 0) {
- client_cmd(players[i], "spk %s", sound)
- }
По желанию можно добавить "say" команду, которой можно будет включать/отключать звуки, что бы игроки не лезли в "setinfo". Пусть это будет "say /no_sounds".
- 180 строка, после "register_event("StatusValue", "hideStatus", "be", "1=1", "2=0")" добавим:
[pawn]- register_clcmd("say /no_sounds", "noSounds", 0, "- disable/enable Misc. Stats sounds (Headshot, Multi-Kill, etc.)")
- В желаемом месте (например, 204 строка) добавим функцию переключения:
[pawn]- public noSounds(id)
- {
- if(no_sounds[id] == 1) {
- no_sounds[id] = 0
- client_cmd(id, "setinfo ^"no_sounds^" ^"^"")
- client_print(id, print_chat, "* Misc. Stats Sounds have been enabled (default)")
- } else {
- no_sounds[id] = 1
- client_cmd(id, "setinfo ^"no_sounds^" ^"1^"")
- client_print(id, print_chat, "* Misc. Stats Sounds have been disabled")
- }
- }