Пользователь
- Сообщения
- 43
- Реакции
- 0
Hello, please can you help me somebody to make open menu to choose player, because i need to write nick in console if i have with menu its more simple when i write /scan and /clean. Thank you very much if somebody can help me
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#define PLUGIN "Wargods"
#define VERSION "1.1"
#define AUTHOR "EXXF"
#define TAG "WarGods"
#define MOTD_LOCATION "addons/amxmodx/configs/wargod.html"
new const REASON_BAN[] = "No WG";
new bool:hascan[33], cvars[3]
new store_team
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say", "cmd_say")
register_clcmd("say_team", "cmd_say")
cvars[0] = register_cvar("wcd_disconnect_ban", "1")
cvars[1] = register_cvar("wcd_minim_acces_flag", "d") // kick acces
cvars[2] = register_cvar("wcd_time_for_ban", "2")
register_dictionary("wargods.txt")
}
public client_connect(id)
{
hascan[id] = false
}
public client_disconnect(id)
{
if(hascan[id] && get_pcvar_num(cvars[0]) == 1)
{
new sName[32];
get_user_name(id, sName, charsmax(sName));
hascan[id] = false
client_cmd(0, "spk ^"vox/bizwarn eliminated")
server_cmd("amx_ban %i %s %s", get_pcvar_num(cvars[2]), sName, REASON_BAN)
}
}
public cmd_say(id)
{
new szSaid[192]
read_args(szSaid, charsmax(szSaid))
remove_quotes(szSaid)
if(contain(szSaid, "/scan") != -1)
{
if(get_user_flags(id) & get_pcvar_flags(cvars[1]))
{
new target[32]
copy(target, sizeof(target) -1, szSaid[6])
new player = cmd_target(id, target, 2)
if(player)
{
new pname[32], admin[32]
get_user_name(player, pname, charsmax(pname))
get_user_name(id, admin, charsmax(admin))
if(hascan[player])
{
ColorChat(id, "%L", LANG_SERVER, "ALREADY_HAVE", TAG)
return PLUGIN_HANDLED
}
else
{
new timer[64]
get_time("%d/%m/%Y - %H:%M:%S", timer, charsmax(timer))
hascan[player] = true
store_team = get_user_team(player)
user_silentkill(player)
cs_set_user_team(player, CS_TEAM_SPECTATOR)
ColorChat(0, "%L", LANG_SERVER, "MAKE_WCD", TAG, admin, pname, timer)
ColorChat(0, "%L", LANG_SERVER, "DOWNLOAD_LINK", TAG)
ColorChat(0, "%L", LANG_SERVER, "INFO_WCD", TAG)
client_cmd(id, "snapshot")
return PLUGIN_CONTINUE
}
}
else
{
ColorChat(id, "%L", LANG_SERVER, "INVALID_PLAYER", TAG)
return PLUGIN_HANDLED
}
}
}
else if(contain(szSaid, "/clean") != -1)
{
if(get_user_flags(id) & get_pcvar_flags(cvars[1]))
{
new target[32]
copy(target, charsmax(target), szSaid[7])
new player = cmd_target(id, target, 2)
if(player)
{
new pname[32]
get_user_name(player, pname, charsmax(pname))
cs_set_user_team(player, store_team)
hascan[player] = false
ColorChat(0, "%L", LANG_SERVER, "PLAYER_CLEAN", TAG, pname)
return PLUGIN_CONTINUE
}
else
{
ColorChat(id, "%L", LANG_SERVER, "INVALID_PLAYER", TAG)
return PLUGIN_HANDLED
}
}
}
else if(equal(szSaid, "/wg") || equal(szSaid, "/wargod"))
{
show_motd(id, MOTD_LOCATION)
}
return PLUGIN_CONTINUE
}
stock ColorChat(const id, const input[], any:...)
{
new Count = 1, Players[32];
static Msg[191];
vformat(Msg, 190, input, 3);
replace_all(Msg, 190, "!g", "^4");
replace_all(Msg, 190, "!y", "^1");
replace_all(Msg, 190, "!t", "^3");
if(id) Players[0] = id; else get_players(Players, Count, "ch");
{
for (new i = 0; i < Count; i++)
{
if (is_user_connected(Players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, Players[i]);
write_byte(Players[i]);
write_string(Msg);
message_end();
}
}
}
return PLUGIN_HANDLED
}