Eliminați ecoul pe hartă - Comunitatea rusă pentru scrierea amxx

#define PLUGIN "Echo OFF"
#define VERSION "1.0"
#define AUTOR "DJ_WEST"

public plugin_init ()
register_plugin (PLUGIN.VERSION.AUTHOR)

noul s_Map # 91; 32 # 93;

g_CvarRoomType = get_cvar_pointer ("room_type")

get_mapname (s_Map.charsmax (s_Map))
dacă (! equali (s_Map. "cs_siege"))
set_pcvar_num (g_CvarRoomType.0)
>

Nu-mi scrie în droguri. dacă aveți nevoie de ajutor în mod gratuit. Orice întrebări pe forum.

Deci nu funcționează deoarece room_type este o variabilă client

Adăugat după 3 minute 56 secunde:
Și ecoul nu este numai pe hartă, puteți încerca să cârlig pentru env_sound FM_KeyValue tip de cameră, iar dacă nu, atunci instalați un client 0

Deci nu funcționează deoarece room_type este o variabilă client


Adevărat, am făcut o greșeală, Ascultarea serverului a afectat creierul, apoi:
Cod: Selectați toate #include

#define PLUGIN "Echo OFF"
#define VERSION "1.0"
#define AUTOR "DJ_WEST"

nou bool. g_b_Echo = false

public plugin_init ()
register_plugin (PLUGIN.VERSION.AUTHOR)

noul s_Map # 91; 32 # 93;

get_mapname (s_Map.charsmax (s_Map))

dacă (equali (s_Map. "cs_siege"))
g_b_Echo = true
>

public client_putinserver (id)
dacă (! g_b_Echo)
client_cmd (id. "room_type 0")
>

Și ecoul nu este numai pe hartă, puteți încerca să cârlig pentru env_sound FM_KeyValue tip de cameră, iar dacă nu, atunci instalați un client 0


Dacă o faci la nivel global, atunci da, și dacă este în mod specific pentru server, va coborî, de asemenea, puteți extinde lista de hărți prin adăugarea la verificare. În orice caz - a fost un exemplu pentru el =)

Nu-mi scrie în droguri. dacă aveți nevoie de ajutor în mod gratuit. Orice întrebări pe forum.

Încercați acest lucru:
Cod: Selectați toate #include

#define PLUGIN "Echo OFF"
#define VERSION "1.2"
#define AUTOR "DJ_WEST"

#define MAXPLAYERS 32

nou bool. g_b_Echo = false
nou bool. g_b_Changed # 91; MAXPLAYERS + 1 # 93; = false
noi 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)
dacă (! g_b_Echo . g_b_Changed # 91; id # 93;)
client_cmd (id. "room_type 0")
g_b_Changed # 91; id # 93; = adevărat
>
>

public Read_Echo_Maps ()
noul 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))

în timp ce (read_file (s_File. i_LineCount ++, s_Line. charsmax (s_Line), i_LineLen))
dacă (i_LineLen equali (s_Map. s_Line))
g_b_Echo = true
pauză
>
>

public client_disconnect (id)
g_b_Changed # 91; id # 93; = false

Nu-mi scrie în droguri. dacă aveți nevoie de ajutor în mod gratuit. Orice întrebări pe forum.

Excelent. Rămâne doar să alcătuiască o listă de hărți, care au ecouri si se potrivesc in addons / amxmodx / configs / echo_maps.ini departe aici:
Cod: Selectați toate cs_siege
de_grozniy_b1 Poate mai avea oricare?