#define PLUGIN "Echo OFF"
#define VERSION "1.0"
#define AUTHOR "DJ_WEST"
public plugin_init ()
register_plugin (PLUGIN. VERSION. AUTHOR)
new s_Map # 91; 32 # 93;
g_CvarRoomType = get_cvar_pointer ( "room_type")
get_mapname (s_Map. charsmax (s_Map))
if (! equali (s_Map. "cs_siege"))
set_pcvar_num (g_CvarRoomType. 0)
>
Не пишіть мені в ЛС. якщо вам потрібна допомога на безоплатній основі. Будь-які питання на форум.
Так не піде тому що room_type це клієнтська змінна
Додано через 3 хвилини 56 секунд:
І відлуння є не тільки на цій карті, можна спробувати Хука FM_KeyValue roomtype для env_sound, і якщо такого не було, то встановлювати клієнтам 0
Так не піде тому що room_type це клієнтська змінна
Вірно, помилився, Listen сервер вплинув на мозок, тоді:
Код: Виділити все #include
#define PLUGIN "Echo OFF"
#define VERSION "1.0"
#define AUTHOR "DJ_WEST"
new bool. g_b_Echo = false
public plugin_init ()
register_plugin (PLUGIN. VERSION. AUTHOR)
new s_Map # 91; 32 # 93;
get_mapname (s_Map. charsmax (s_Map))
if (equali (s_Map. "cs_siege"))
g_b_Echo = true
>
public client_putinserver (id)
if (! g_b_Echo)
client_cmd (id. "room_type 0")
>
І відлуння є не тільки на цій карті, можна спробувати Хука FM_KeyValue roomtype для env_sound, і якщо такого не було, то встановлювати клієнтам 0
Якщо робити глобально, то так, а якщо конкретно під сервер, то зійде і так, список карт можна розширити, додавши в перевірку. У будь-якому випадку - це був приклад для нього =)
Не пишіть мені в ЛС. якщо вам потрібна допомога на безоплатній основі. Будь-які питання на форум.
Спробуй так:
Код: Виділити все #include
#define PLUGIN "Echo OFF"
#define VERSION "1.2"
#define AUTHOR "DJ_WEST"
#define MAXPLAYERS 32
new bool. g_b_Echo = false
new bool. g_b_Changed # 91; MAXPLAYERS + 1 # 93; = false
new g_CvarEchoMaps
public plugin_init ()
register_plugin (PLUGIN. VERSION. AUTHOR)
register_clcmd ( "jointeam". "Join_Team")
g_CvarEchoMaps = register_cvar ( "amx_echo_maps". "addons / amxmodx / configs / echo_maps.ini")
set_task (1.0. "Read_Echo_Maps")
>
public Join_Team (id)
if (! g_b_Echo . g_b_Changed # 91; id # 93;)
client_cmd (id. "room_type 0")
g_b_Changed # 91; id # 93; = true
>
>
public Read_Echo_Maps ()
new s_Map # 91; 32 # 93 ;, s_Line # 91; 32 # 93 ;, i_LineCount. i_LineLen. s_File # 91; 128 # 93;
get_mapname (s_Map. charsmax (s_Map))
get_pcvar_string (g_CvarEchoMaps. s_File. charsmax (s_File))
while (read_file (s_File. i_LineCount ++, s_Line. charsmax (s_Line), i_LineLen))
if (i_LineLen equali (s_Map. s_Line))
g_b_Echo = true
break
>
>
public client_disconnect (id)
g_b_Changed # 91; id # 93; = false
Не пишіть мені в ЛС. якщо вам потрібна допомога на безоплатній основі. Будь-які питання на форум.
Відмінно. Залишилося тільки зібрати список карт, на яких є відлуння і вписати його в addons / amxmodx / configs / echo_maps.ini Поки ось:
Код: Виділити все cs_siege
de_grozniy_b1 Може ще є якісь?