Чем тебе не угодил вариант скинутый в лс по твоей же просьбе?
Код:
#include <amxmodx>
#include <amxmisc>
#if AMXX_VERSION_NUM < 183
#include <ColorChat>
#endif
#define PLUGIN "Check File Player"
#define VERSION "5.0"
#define AUTHOR "vladboss"
new g_MaxPlayers;
enum pCvars
{
MESSAGE_TYPE,
ADMIN_FLAGS,
ADMIN_IMMUN,
PLAYER_NOBAN,
PLAYER_PUNISH,
BAN_TYPE,
BAN_TIME
};
new Cvars[pCvars];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_cvar("cfp_version", VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED);
register_concmd("Check_file_player", "CheckFilePlayer", _, "<#userid> <filename>");
g_MaxPlayers = get_maxplayers();
Cvars[MESSAGE_TYPE] = register_cvar("cfp_message_type", "1"); //Оповещение в чате: 0 - для всех игроков / 1 - для игрока у которого есть флаг, указанным в cfp_admin_flag.
Cvars[ADMIN_FLAGS] = register_cvar("cfp_admin_flag", "d"); //Флаг по которому будем определять привилегированного игрока.
Cvars[ADMIN_IMMUN] = register_cvar("cfp_admin_immunity", "a"); //Флаг по которому будет определать привилегированного игрока с иммунитетом..
Cvars[PLAYER_NOBAN] = register_cvar("cfp_player_noban", "1"); //Включить kick или ban, если на сервере нет привилегированного игрока?
Cvars[PLAYER_PUNISH] = register_cvar("cfp_player_punish", "0"); //Наказание: 0 - кик, 1 - бан.
Cvars[BAN_TYPE] = register_cvar("cfp_ban_type", "0"); //Тип бан системы: 0 - стандартный или AdvancedBans, 1 - AmxBans 1.6, 2 - SuperBan, 3 - FreshBans.
Cvars[BAN_TIME] = register_cvar("cfp_ban_time", "1440"); //Время на которое игрок будет забанен в минутах.
}
public CheckFilePlayer(id)
{
new szID[32], szFileName[64];
read_argv(1, szID, charsmax(szID));
read_argv(2, szFileName, charsmax(szFileName));
new szFlagsImmunity[3];
get_pcvar_string(Cvars[ADMIN_IMMUN], szFlagsImmunity, charsmax(szFlagsImmunity));
new Player = cmd_target(id, szID, CMDTARGET_NO_BOTS);
if(Player && ~get_user_flags(Player) & read_flags(szFlagsImmunity))
{
new szFlags[3];
get_pcvar_string(Cvars[ADMIN_FLAGS], szFlags, charsmax(szFlags));
new szName[32];
get_user_name(Player, szName, charsmax(szName));
new g_Admins = 0;
for(new i = 1; i <= g_MaxPlayers; i++)
{
if(get_pcvar_num(Cvars[MESSAGE_TYPE]) == 0)
{
client_print_color(0, print_team_default, "^1[^4Внимание^1] ^3У игрока^1: ^4%s ^3был найден файл^1: ^4%s^1.", szName, szFileName);
}
else
{
if(get_user_flags(i) & read_flags(szFlags))
{
client_print_color(i, print_team_default, "^1[^4Внимание^1] ^3У игрока^1: ^4%s ^3был найден файл^1: ^4%s^1.", szName, szFileName);
}
}
if(get_user_flags(i) & read_flags(szFlags))
{
g_Admins++;
}
}
if(get_pcvar_num(Cvars[PLAYER_NOBAN]) == 1 && g_Admins == 0)
{
switch(get_pcvar_num(Cvars[PLAYER_PUNISH]))
{
case 0:
{
server_cmd("kick #%d ^"Удалите из кс файл: %s!^"", get_user_userid(Player), szFileName);
}
case 1:
{
switch(get_pcvar_num(Cvars[BAN_TYPE]))
{
case 0:
{
server_cmd("amx_ban ^"#%d^" ^"%d^" ^"Удалите из кс файл: %s!^"", get_user_userid(Player), get_pcvar_num(Cvars[BAN_TIME]), szFileName);
}
case 1:
{
server_cmd("amx_ban ^"#%d^" ^"%d^" ^"Удалите из кс файл: %s!^"", get_pcvar_num(Cvars[BAN_TIME]), get_user_userid(Player), szFileName);
}
case 2:
{
server_cmd("amx_superban ^"#%d^" ^"%d^" ^"Удалите из кс файл: %s!^"", get_user_userid(Player), get_pcvar_num(Cvars[BAN_TIME]), szFileName);
}
case 3:
{
server_cmd("fb_ban ^"#%d^" ^"%d^" ^"Удалите из кс файл: %s!^"", get_pcvar_num(Cvars[BAN_TIME]), get_user_userid(Player), szFileName);
}
}
}
}
}
}
return PLUGIN_HANDLED;
}
Отредактировал: vladboss, - 12.6.2016, 16:21
Причина: Выдано устное предупреждение!