Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Иммунитет для check_file_player

Статус пользователя Andrey777best
сообщение 12.6.2016, 10:03
Сообщение #1


Стаж: 13 лет
Город: Харьков

Сообщений: 1191
Благодарностей: 144
Полезность: 1

Всем привет помогите доделать плагин, а именно добавить иммунитет по флагу, что бы не выполняло никаких действий и не показывало сообщения от сюда
Код
client_print_color

Плагин
Код:
#include <amxmodx>
#include <amxmisc>

#if AMXX_VERSION_NUM < 183
#include <ColorChat>
#endif

#define PLUGIN "Check File Player"
#define VERSION "3.0"
#define AUTHOR "vladboss"

const IP_LEN_NO_PORT = 16;
const NAME_LEN = 32;
const AUTH_LEN = 34;
const FILENAME_LEN = 256;

enum pCvars
{
ADMIN_FLAGS,
PLAYER_NOBAN,
PLAYER_PUNISH,
BAN_TYPE,
BAN_TIME
};
new Cvars[pCvars];

new log_filename[FILENAME_LEN];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

register_cvar("cfp_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY);

register_concmd("Check_file_player", "CheckFilePlayer", _, "<#userid> <filename>");

Cvars[ADMIN_FLAGS] = register_cvar("cfp_admin_flag", "tz"); //Флаг для админа, которому будет выводиться сообщение.
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"); //Время на которое игрок будет забанен в минутах.
create_log_folder();
}
public CheckFilePlayer(id)
{
new szID[32], szFileName[FILENAME_LEN];
read_argv(1, szID, charsmax(szID));
read_argv(2, szFileName, charsmax(szFileName));

new Player = cmd_target(id, szID, CMDTARGET_NO_BOTS);

if (Player) {
new szFlags[3];
get_pcvar_string(Cvars[ADMIN_FLAGS], szFlags, charsmax(szFlags));

new szName[32];
get_user_name(Player, szName, charsmax(szName));

client_print_color(0, print_team_default, "^1[^4АнтиЧит|18+|^1] ^3У игрока^4: ^1[^4%s^1] ^3обнаружен^4: ^1[^4%s^1] ^3Кикнут^4!", szName, szFileName);

if (get_pcvar_num(Cvars[PLAYER_NOBAN]) == 1) {
CheckFilePlayer_log(Player, szFileName);

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;
}

create_log_folder()
{
new date_year, date_month, date_day, buffer[FILENAME_LEN];
date(date_year, date_month, date_day);
get_localinfo ("amxx_logs", buffer, charsmax(buffer));
format(buffer, charsmax(buffer), "%s/4iters", buffer);

if (!dir_exists(buffer)) {
mkdir(buffer);
}

if (dir_exists(buffer)) {
formatex(log_filename, charsmax(log_filename), "%s/L%d%02d%02d.log", buffer, date_year, date_month, date_day);
}
else {
log_amx("Error opening ^"%s^" folder", buffer);
pause("ad");
return;
}
}

CheckFilePlayer_log(id, const filename[])
{
new name[NAME_LEN], ip[IP_LEN_NO_PORT], authid[AUTH_LEN];

get_user_name(id, name, charsmax(name));
get_user_authid(id, authid, charsmax(authid));
get_user_ip(id, ip, charsmax(ip), 1);

log_to_file(log_filename, "%s %25s %16s Обнаружен: %s", name, authid, ip, filename);
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя vladboss
сообщение 12.6.2016, 16:02
Сообщение #2


Стаж: 15 лет

Сообщений: 312
Благодарностей: 87
Полезность: 236

Чем тебе не угодил вариант скинутый в лс по твоей же просьбе?
Код:
#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
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: