Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <xs>
#include <sqlx>
#include <sockets>
#include <cstrike>
new arr[0];
#pragma unused arr
#define DEBUG 0
#define DEBUG2 0
#define VERSION "1.24b (RePack by Onotole)"
#include "csf_anticheat/global.inc"
#include "csf_anticheat/log_module.inc"
#include "csf_anticheat/zoneguard.inc"
#include "csf_anticheat/spinhack.inc"
#include "csf_anticheat/cheatkey.inc"
#include "csf_anticheat/fastpistolshots.inc"
#include "csf_anticheat/flashbug.inc"
#include "csf_anticheat/hebug.inc"
#include "csf_anticheat/cvarguard.inc"
#include "csf_anticheat/fastfire.inc"
#include "csf_anticheat/speedhack.inc"
#include "csf_anticheat/silentplant.inc"
#include "csf_anticheat/bhopdetect.inc"
#include "csf_anticheat/doubleduck.inc"
#include "csf_anticheat/cdhack_ffx.inc"
#include "csf_anticheat/cheatnames.inc"
#include "csf_anticheat/namespam.inc"
#include "csf_anticheat/cheatlist.inc"
#include "csf_anticheat/cheatsay.inc"
#include "csf_anticheat/spamsay.inc"
#include "csf_anticheat/cmd_flood.inc"
#include "csf_anticheat/wallhack.inc"
#include "csf_anticheat/filescheck.inc"
#include "csf_anticheat/aliascheck.inc"
//#include "csf_anticheat/updater.inc"
#include "csf_anticheat/antinoflash.inc"
#include "csf_anticheat/video_renderer.inc"
#include "csf_anticheat/cmdsend.inc"
#include "csf_anticheat/initialized.inc"
#include "csf_anticheat/antidouble.inc"
#include "csf_anticheat/punish.inc"
public plugin_modules()
{
require_module("fakemeta");
require_module("mysql");
require_module("hamsandwich");
require_module("sockets");
}
public plugin_init()
{
register_plugin("CSFile.Info Anti-cheat", VERSION, "-)>C-r-A-c-K<(-");
g_MaxPlayers = get_maxplayers();
register_cvar("csf_ac_version", VERSION, FCVAR_SERVER|FCVAR_UNLOGGED|FCVAR_SPONLY);
register_clcmd("csf_ac_thanks", "BigThanks");
register_clcmd("csf_ac_version", "BigThanks");
p_dproto_data[0] = get_cvar_pointer("dp_r_protocol");
p_dproto_data[1] = get_cvar_pointer("dp_r_id_provider");
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn", 1);
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled", 1);
register_dictionary( "csf_anticheat.txt" );
set_task(1.2, "initialized");
check_double_plugins();
return PLUGIN_HANDLED;
}
public plugin_precache()
{
precache_model("models/gib_skull.mdl");
spr_dotzg = precache_model("sprites/dot.spr");
spr_bomb = precache_model("sprites/ledglow.spr");
beampoint = precache_model("sprites/laserbeam.spr");
get_configsdir(g_configsdir, 63);
get_mapname(g_mapname,31);
register_cvar("csf_ac_logtype","1"); //Тип логов
register_cvar("csf_ac_sql_host","localhost"); //SQL Host
register_cvar("csf_ac_sql_user","root"); //SQL User
register_cvar("csf_ac_sql_pass",""); //SQL Pass
register_cvar("csf_ac_sql_db","csf_anticheat"); //SQL DB
register_cvar("csf_ac_update_check","0"); // 0 - off / 1 - on
//register_srvcmd("csf_ac_update","upd_update_bases"); // Принудительный апдейт
register_cvar("csf_ac_mypunishment",""); //Своя система наказания
register_cvar("csf_ac_site", "http://site.ru/forum"); //Адрес сайта, используется в некоторых защитах
register_cvar("csf_ac_amxbanstype", "3"); //AMXBans: 1 = IP, 2 = SteamID, 3 = Autodetect
register_cvar("csf_ac_hudpunish", "255 0 0 -1.0 0.8 2 1.5 6.0 0.06 0.4 2");
register_cvar("csf_ac_hudwarning", "0 100 255 -1.0 0.35 1 1.0 6.0 0.05 0.2 4");
register_cvar("csf_ac_silentplant","1"); //Анти-бесшумная закладка бомбы
register_cvar("csf_ac_dd","1"); //Блокировка SilentRun aka DoubleDuck
register_cvar("csf_ac_dd_type","1"); //Тип блокировки SR aka DD
register_cvar("csf_ac_cvarguard", "1"); //CVAR Защита
register_cvar("csf_ac_cvarguard_multitest", "1"); //Проверка на 47/48 протокол
register_cvar("csf_ac_cvarguard_lock","1");
register_cvar("csf_ac_ff","1"); //Определение Fastfire
register_cvar("csf_ac_ff_imprecision","0"); //% погрешности
register_cvar("csf_ac_ff_bantype","5"); //Тип бана для Fastfire
register_cvar("csf_ac_ff_bantime","10080"); //Время бана Fastfire
register_cvar("csf_ac_ff_bansay", "2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_sh","1"); //Определение Speedhack
register_cvar("csf_ac_sh_bantype","5"); //Тип бана для Speedhack
register_cvar("csf_ac_sh_bantime","43200"); //Время бана Speedhack
register_cvar("csf_ac_sh_bansay", "2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_sh_warn","1"); //Кол-во циклов определения спидхака
register_cvar("csf_ac_sh_maxoffence", "600"); //Предел до варнинга спидхака
register_cvar("csf_ac_sh_secdist", "320"); //Предел скорости, до детекшина спидхака
register_cvar("csf_ac_ns","1"); //Определение Namespam
register_cvar("csf_ac_ns_bantype","5"); //Тип бана для Namespam
register_cvar("csf_ac_ns_bantime","1440"); //Время бана Namespam
register_cvar("csf_ac_ns_bansay", "2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_ns_maxchanges", "10"); //Максимальное кол-во смены ников namespam
register_cvar("csf_ac_ns_timerdown", "10.0"); //Таймер, отсчёт которого каждый раз будет понижать уровень предупреждений
register_cvar("csf_ac_spinh","1"); //Определение SpinHack
register_cvar("csf_ac_spinh_bantype","5"); //Тип бана для SpinHack
register_cvar("csf_ac_spinh_bantime","10080"); //Время бана SpinHack
register_cvar("csf_ac_spinh_bansay", "2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_spinh_maxdetect", "20"); //Максимальное кол-во детекшинов до бана
register_cvar("csf_ac_spinh_maxangle", "1500"); //Максимальный угол поворота до детекшина
register_cvar("csf_ac_cdhack","1"); //Определение CDhack
register_cvar("csf_ac_cdhack_detect","3"); //Тип Определения CDhack // 1 -новый // 2 старый
register_cvar("csf_ac_cdhack_myacdetect", "1"); //Определение myAC
register_cvar("csf_ac_cdhack_bantype","5"); //Тип бана для CDhack
register_cvar("csf_ac_cdhack_bantime","10080"); //Время бана CDhack
register_cvar("csf_ac_cdhack_bansay", "2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_ffx","1"); //Определение FFX
register_cvar("csf_ac_ffx_detect","2"); //Тип Определения FFX // 1 - новый // 2 старый // 3 мульти
register_cvar("csf_ac_ffx_bantype","5"); //Тип бана для FFX
register_cvar("csf_ac_ffx_bantime","10080"); //Время бана FFX
register_cvar("csf_ac_ffx_bansay", "2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_cheatlist","0"); //Определение По-Читлисту
register_cvar("csf_ac_cheatlist_bantype","5"); //Тип бана для Читлиста
register_cvar("csf_ac_cheatlist_bantime","10080"); //Время бана По-Читлисту
register_cvar("csf_ac_cheatlist_bansay", "2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_bhop","1"); //Определение BunnyHop
register_cvar("csf_ac_bhop_bantype","5"); //Тип бана для BunnyHop
register_cvar("csf_ac_bhop_bantime","120"); //Время бана BunnyHop
register_cvar("csf_ac_bhop_bansay","2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_bhop_warn","3"); //Кол-во предупреждений, перед наказанием.
register_cvar("csf_ac_bhop_warnsay","1"); //Метод отображения сообщения, об обнаружении BHop
register_cvar("csf_ac_cheatsay","1"); //читерские сообщения
register_cvar("csf_ac_cheatsay_bantype","5"); //Тип бана, читерские сообщения
register_cvar("csf_ac_cheatsay_bantime","10080"); //Время бана, читерские сообщения
register_cvar("csf_ac_cheatsay_bansay","2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_cheatsay_blocksay","1"); //Блокировка чит сообщений
register_cvar("csf_ac_spamsay","1"); //спам сообщения
register_cvar("csf_ac_spamsay_bantype","5"); //Тип бана, спам сообщения
register_cvar("csf_ac_spamsay_bantime","120"); //Время бана, спам сообщения
register_cvar("csf_ac_spamsay_bansay","2"); //Тип оповещения игроков о наказании спамера
register_cvar("csf_ac_spamsay_blocksay","1"); //Блокировка чит сообщений
register_cvar("csf_ac_flashbugfix","1"); //FlashFix
register_cvar("csf_ac_hebugfix","1"); //HeFix
register_cvar("csf_ac_noflash","1"); //AntiNoFlash
register_cvar("csf_ac_cheatnames","1"); //Блокировка Читерских ников / Клантегов
register_cvar("csf_ac_cheatnames_bantype","5"); //Тип бана, Читерских ников / Клантегов
register_cvar("csf_ac_cheatnames_bantime","120"); //Время бана, Читерских ников / Клантегов
register_cvar("csf_ac_cheatnames_bansay","2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_cheatkey","1"); //Блокировка Читерских клавиш
register_cvar("csf_ac_cheatkey_immun","1"); //Иммунитет для админов с флагом "Ban"
register_cvar("csf_ac_cheatkey_warn","3"); //Кол-во предупреждений
register_cvar("csf_ac_cheatkey_bantype","4"); //Тип наказания
register_cvar("csf_ac_cheatkey_bantime","60"); //Время бана, Читерских клавиш
register_cvar("csf_ac_cheatkey_bansay","2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_cheatkey_joinsay","2"); //Тип оповещения игроков при входе, о запрете использования чит клавиш
register_cvar("csf_ac_cheatkey_rebind","300"); //Таймер, для ребинда клавиш
register_cvar("csf_ac_cheatkey_flagimmun", "d");
register_cvar("csf_ac_cheatkey_hud", "42 255 42 0.03 0.20 0 6.0 5.0 1.0 0.85 -1");
register_cvar("csf_ac_zoneguard", "1"); //ZoneGuard
register_cvar("csf_ac_zoneguard_bantype","5"); //Тип наказания
register_cvar("csf_ac_zoneguard_bantime","10080"); //Время бана, kill_zone
register_cvar("csf_ac_zoneguard_bansay","2"); //Тип оповещения игроков о наказании читера
register_cvar("csf_ac_fastps", "1"); //FastPistolShots
register_cvar("csf_ac_fastps_sd", "0.02"); //FastPistolShots, cv_fastps_sd
register_cvar("csf_ac_fastps_ed", "0.04"); //FastPistolShots, cv_fastps_ed
register_cvar("csf_ac_filescheck", "1"); //FilesCheck
register_cvar("csf_ac_cmdflood", "1"); //CMDFlood
register_cvar("csf_ac_cmdflood_checktime", "0.20"); //CMDFlood Checktime
register_cvar("csf_ac_cmdflood_checktype", "2"); //CMDFlood метод определения
register_cvar("csf_ac_cmdflood_bantype","0"); //Тип наказания
register_cvar("csf_ac_cmdflood_bantime","60"); //Время бана
register_cvar("csf_ac_cmdflood_bansay","2"); //Тип оповещения игроков о наказании флудера
register_cvar("csf_ac_wallhack", "1"); //WallhackGuard
register_cvar("csf_ac_wallhack_team","0"); //Блокировать игроков своей команды
register_cvar("csf_ac_wallhack_entity","0"); //Блокировать entity
register_cvar("csf_ac_aliascheck","1"); //AliasCheck
register_cvar("csf_ac_aliascheck_bantype","5"); //Тип наказания
register_cvar("csf_ac_aliascheck_bantime","60"); //Время бана
register_cvar("csf_ac_aliascheck_bansay","2"); //Тип оповещения игроков о наказании
register_cvar("csf_ac_video","0"); //Video Renderer
register_cvar("csf_ac_video_detect","1"); // 1 - new, 2 - old, 3 - multi
register_cvar("csf_ac_video_opengl32","1");
register_cvar("csf_ac_video_direct3d","1");
register_cvar("csf_ac_video_software","1");
register_cvar("csf_ac_antikick","1");
register_cvar("csf_ac_antikick_bantype","5"); //Тип наказания
register_cvar("csf_ac_antikick_bantime","60"); //Время бана
register_cvar("csf_ac_antikick_bansay","2"); //Тип оповещения игроков о наказании
register_cvar("csf_ac_cmdsend","1"); // Cmd send on connect server
register_cvar("csf_ac_cmdsend_type","2"); // 1 - Connect / 2 - Put in Server
format(g_mainconfig, sizeof(g_mainconfig)-1, "%s/csf_anticheat/csf_ac_main.cfg", g_configsdir);
if (file_exists(g_mainconfig))
{
server_print("^n^t[CSF-AC] %L",LANG_SERVER,"CSF_AC_CONFIG_LOAD");
server_cmd ("exec %s", g_mainconfig);
}
else
{
server_print("^n^t[CSF-AC] %L",LANG_SERVER,"CSF_AC_CONFIG_NFOUND");
}
if(get_cvar_num("csf_ac_filescheck") == 1)
{
format(filescheckconfig, sizeof(filescheckconfig)-1, "%s/csf_anticheat/csf_ac_filescheck.cfg", g_configsdir);
LoadFilesCheck(filescheckconfig);
}
}
public client_disconnect(id)
{
if (task_exists(id))
{
remove_task(id);
}
if (task_exists(id+4163))
{
remove_task(id+4163);
}
if (task_exists(id+24663))
{
remove_task(id+24663);
}
gUserParam[id][NAME] = "";
gUserParam[id][IP] = "";
gUserParam[id][AUTHID] = "";
gUserParam[id][PROVIDER] = 0;
gUserParam[id][PROTOCOL] = 0;
gUserParam[id][BOT] = 0;
gUserParam[id][HLTV] = 0;
gUserParam[id][ALIVE] = 0;
gUserParam[id][TEAM] = 0;
gUserParam[id][VIDEO] = 0;
gUserParam[id][WEAPON] = 0;
gUserParam[id][AMMO] = 0;
d_again_cmdflood[id]=0;
g_double_detect_spinhack[id] = 0;
g_bansaycheat[id] = 0;
g_banspamsay[id] = 0;
g_banaliascheck[id] = 0;
SusCNT[id] = 0;
bhop_warning[id] = 0;
dontagaintask[id] = false;
g_detectfastfire[id] = 0;
clearSpecificAlertValue(id);
if ((cv_cdhack) || (cv_ffx))
{
cdvertest[0][ id ] = 0;
cdvertest[1][ id ] = 0;
ffxtest[ id ] = 0;
}
if (cv_cmdflood)
{
g_Check[id]=0;
d_again_cmdflood[id]=0;
}
if (cv_ns)
{
gNameChanges[id] = 0;
}
if (cv_dd)
{
if (g_iLastData[0]==id)
{
g_iLastData[0] = 0;
unregister_forward(FM_PlayerPostThink, g_iForwardId, 0);
}
}
if (cv_cheatkey)
{
if(!((cv_cheatkey_immun == 1) && (get_user_flags(id) & read_flags(cv_cheatkey_flagimmun))))
{
client_cmd(id, "exec csf_anticheatkey.cfg");
g_iCKeyUses[id] = 0;
}
}
if (cv_zoneguard)
{
if (id == editorzg) {HideAllZones();}
zonekillid[id] = 0;
}
if (cv_wallhack)
{
del_bot_property(id);
del_alive_property(id);
del_connect_property(id);
del_announced(id);
}
if (cv_aliascheck)
{
if(task_exists(id+33621)) remove_task(id+33621);
if(task_exists(id+1554)) remove_task(id+1554);
if(task_exists(id+11035)) remove_task(id+11035);
Alias_player_checked[id] = false;
Alias_player_check[id] = false;
alias_arg[id][0]="";
g_alias_player_recheck[id]=0;
g_checkantifreeze[id]=0;
}
return PLUGIN_HANDLED;
}
public client_authorized(id)
{
if (is_user_bot(id) || is_user_hltv(id))
{
return PLUGIN_HANDLED;
}
get_user_authid(id, gUserParam[id][AUTHID], 24);
return PLUGIN_HANDLED;
}
public client_connect(id)
{
gUserParam[id][BOT] = is_user_bot(id);
gUserParam[id][HLTV] = is_user_hltv(id);
if (is_user_bot(id) || is_user_hltv(id))
{
return PLUGIN_HANDLED;
}
if (task_exists(id))
{
remove_task(id);
}
get_user_name(id, gUserParam[id][NAME], 31);
get_user_ip(id, gUserParam[id][IP], 16, 1);
get_user_authid(id, gUserParam[id][AUTHID], 24);
server_cmd("dp_clientinfo %d", id);
server_exec();
gUserParam[id][PROTOCOL] = get_pcvar_num( p_dproto_data[0]);
gUserParam[id][PROVIDER] = get_pcvar_num( p_dproto_data[1]);
g_bansaycheat[id] = 0;
g_banspamsay[id] = 0;
g_banaliascheck[id] = 0;
dontagaintask[id] = false;
SusCNT[id] = 0;
gUserParam[id][AMMO] = 0;
gUserParam[id][WEAPON] = 0;
g_detectfastfire[id] = 0;
g_double_detect_spinhack[id]=0;
if (cv_aliascheck)
{
Alias_player_checked[id] = false;
Alias_player_check[id] = false;
alias_arg[id][0]="";
g_alias_player_recheck[id]=0;
g_checkantifreeze[id]=0;
}
if (cv_bhop)
{
bhop_warning[id] = 0;
}
if (cv_ns)
{
gNameChanges[id] = 0;
}
if (cv_wallhack)
{
del_alive_property(id);
del_connect_property(id);
}
if (cv_cvarguard)
{
loop_commands_cvarguard(id);
}
if (cv_cdhack)
{
cdvertest[0][id] = 0;
cdvertest[1][id] = 0;
}
if (cv_cmdsend && (cv_cmdsend_type == 1))
{
CMDSend_Send(id);
}
return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
if (is_user_bot(id) || is_user_hltv(id)) return PLUGIN_HANDLED;
g_Detections[id] = 0;
clearSpecificAlertValue(id);
SusCNT[id] = 0;
bhop_warning[id] = 0;
g_Detectionssh[id] = 0;
g_Warningsh[id] = 0;
g_OldPos[0][id] = 0;
g_OldPos[1][id] = 0;
g_OldPos[2][id] = 0;
if(cv_cdhack){
switch(cv_cdhack_detect){
case 1: set_task(3.0, "cdhack_newdetect", id);
case 2: set_task(5.0, "myactest_cdhack", id);
case 3: {
if(gUserParam[id][PROTOCOL]){
switch(gUserParam[id][PROTOCOL]){
case 47: set_task(5.0, "myactest_cdhack", id);
case 48: set_task(3.0, "cdhack_newdetect", id);
}
}else{
server_print("^t[CSF-AC] %L",LANG_SERVER,"CSF_DPROTO");
set_task(5.0, "myactest_cdhack", id);
}
}
}
}
if(cv_ffx){
switch(cv_ffx_detect){
case 1: set_task(3.0, "ffx_newdetect", id);
case 2: { ffxtest[ id ] = 0; set_task(6.0, "myactest_ffx", id); }
case 3: {
if(gUserParam[id][PROTOCOL]){
switch(gUserParam[id][PROTOCOL]){
case 47: { ffxtest[ id ] = 0; set_task( 15.0, "myactest_ffx", id ); }
case 48: set_task(3.0, "ffx_newdetect", id);
}
}
else{
server_print("^t[CSF-AC] %L",LANG_SERVER,"CSF_DPROTO");
ffxtest[ id ] = 0; set_task(15.0, "myactest_ffx", id);
}
}
}
}
if(cv_video_renderer){
set_task(4.0,"check_video_renderer_detect",id);
}
if(cv_ns){
//NameSpam
gNameChanges[id] = 0;
get_user_name(id, gName[id], 31);
get_user_name(id, gNameStart[id], 31);
}
if(cv_cmdflood){
g_Check[id]=0;
d_again_cmdflood[id]=0;
}
if(cv_cheatlist){
set_task(1.0, "cheatlist", id);
}
if(cv_cheatkey){
if(!((cv_cheatkey_immun == 1) && (get_user_flags(id) & read_flags(cv_cheatkey_flagimmun)))){
new param[1];
param[0] = id ;
client_cmd(id, "writecfg csf_anticheatkey") ;
set_task( 5.0 , "showWarnCheatKey" , id , param , 1 );
}
}
if(cv_cheatnames){
//CheatNames
set_task(1.2, "CheckCheatNames", id);
}
if(cv_fastps){
g_fShotedAtfps[id-1] = -1.0;
g_iUserWeaponfps[id-1] = -1;
g_bBlockShotfps[id-1] = false;
g_bBlockedAttackfps[id-1] = false;
}
if(cv_wallhack){
#if defined ignore_bots
del_bot_property(id);
#else
if (is_user_bot(id))
add_bot_property(id);
else
del_bot_property(id);
#endif
add_connect_property(id);
del_announced(id);
}
if(cv_aliascheck){
Alias_player_checked[id] = false;
Alias_player_check[id] = false;
alias_arg[id][0]="";
g_alias_player_recheck[id]=0;
g_checkantifreeze[id]=0;
set_task(5.0,"PRETEST_ALIASDETECT",id+33621);
}
if(cv_cmdsend && (cv_cmdsend_type==2)) set_task(0.5,"CMDSend_Send",id);
return PLUGIN_HANDLED;
}
public client_infochanged(id)
{
if(is_user_connected(id)) set_task(0.3,"info_changed",id);
}
public info_changed(id)
{
get_user_name( id, gUserParam[id][NAME], 31 );
if(!equali(gUserParam[id][NAME], gName[id]))
{
format(gName[id], 31, gUserParam[id][NAME]);
if(cv_cheatnames == 1){
CheckCheatNames(id);
}
if(cv_ns == 1){
namespam(id);
}
}
}
public BigThanks(id)
{
client_print ( id, print_console, "^n*******************************************" );
client_print ( id, print_console, "^nCSFile.Info Anti-Cheat v.%s", VERSION );
client_print ( id, print_console, "Автор: -)>C-r-A-c-K<(-" );
client_print ( id, print_console, "Доработка: Onotole & GodTm666" );
client_print ( id, print_console, "ICQ: 112332" );
client_print ( id, print_console, "Сайт : http://playforce.ru/" );
client_print ( id, print_console, "^nВыражаю особую благодарность:" );
client_print ( id, print_console, "Major1k - icq:445332" );
client_print ( id, print_console, "^nВыражаю благодарность админам порталов:" );
client_print ( id, print_console, "igor - icq:291704337 - http://games.vipeburg.info/" );
client_print ( id, print_console, "SilverFire - icq:86350645 - http://barak.od.ua/" );
client_print ( id, print_console, "^nВыражаю благодарность тестерам, отписавшимся о багах:" );
client_print ( id, print_console, "1nela, VoidLess, Komsa" );
client_print ( id, print_console, "А так же всем остальным тестерам, кого еще не добавил в этот список." );
client_print ( id, print_console, "^n^nСпасибо разработчикам сторонних плагинов:" );
client_print ( id, print_console, "SubStream, p3tsin, Numb, Darkdreams Studios, Exolent, mogel, 29th ID, dr.aft, EKS, DarkSnow, OT" );
client_print ( id, print_console, "^n*******************************************^n" );
return PLUGIN_HANDLED;
}
public inconsistent_file(id, const filename[], reason[64])
{
if(get_cvar_num("csf_ac_filescheck") == 1){
for(new i=0;i<filescheksnum;i++){
if(equal(FilesCheck[i],filename)){
new msg1frm[48];
format(msg1frm,47,"%s",filename);
format(reason, 63,"[CSF-AC] FileCheck: $L %s",LANG_SERVER,"FILECHECK_UNCORRECT_FILE", filename);
write_log(13,id,msg1frm);
}
}
}
return PLUGIN_CONTINUE
}
public show_hud_message(id,type,function,msg[],msg2[]){
switch (type)
{
case 0: set_hudmessage(str_to_num(hud_pwc_arg[0][0]),str_to_num(hud_pwc_arg[0][1]),str_to_num(hud_pwc_arg[0][2]),str_to_float(hud_pwc_arg[0][3]),str_to_float(hud_pwc_arg[0][4]),str_to_num(hud_pwc_arg[0][5]), str_to_float(hud_pwc_arg[0][6]),str_to_float(hud_pwc_arg[0][7]),str_to_float(hud_pwc_arg[0][8]),str_to_float(hud_pwc_arg[0][9]),str_to_num(hud_pwc_arg[0][10])); //Punish
case 1: set_hudmessage(str_to_num(hud_pwc_arg[1][0]),str_to_num(hud_pwc_arg[1][1]),str_to_num(hud_pwc_arg[1][2]),str_to_float(hud_pwc_arg[1][3]),str_to_float(hud_pwc_arg[1][4]),str_to_num(hud_pwc_arg[1][5]), str_to_float(hud_pwc_arg[1][6]),str_to_float(hud_pwc_arg[1][7]),str_to_float(hud_pwc_arg[1][8]),str_to_float(hud_pwc_arg[1][9]),str_to_num(hud_pwc_arg[1][10])); //Warning
}
switch (function)
{
case 0: show_hudmessage(0, "[CSF-AC] %L", id, "CHEATLIST_PUNISH_HUD", msg, msg2); //Cheatlist
case 1: show_hudmessage(0, "[CSF-AC] %L", id, "SPEEDHACK_PUNISH_HUD", msg); //Speedhack
case 2: show_hudmessage(0, "[CSF-AC] %L", id, "CDHACK_PUNISH_HUD", msg); //CDHack
case 3: show_hudmessage(0, "[CSF-AC] %L", id, "FFX_PUNISH_HUD", msg); //FFX
case 4: show_hudmessage(0, "[CSF-AC] %L", id, "SPINHACK_PUNISH_HUD", msg); //SpinHack
case 5: show_hudmessage(0, "[CSF-AC] %L", id, "FASTFIRE_PUNISH_HUD", msg); //FastFire
case 6: show_hudmessage(0, "[CSF-AC] %L", id, "NAMESPAM_PUNISH_HUD", msg); //NameSpam
case 7: show_hudmessage(0, "[CSF-AC] %L", id, "BUNNYHOP_PUNISH_HUD", msg); //Bhop
case 8: show_hudmessage(id, "[CSF-AC] %L", id, "BUNNYHOP_WARN", msg,cv_bhop_warn); //Bhop Warning
case 9: show_hudmessage(0, "[CSF-AC] %L", id, "CHEATNAMES_PUNISH_HUD", msg); //CheatNames
case 10: show_hudmessage(0, "[CSF-AC] %L", id, "CHEATSAY_PUNISH_HUD", msg); //CheatSay
case 11: show_hudmessage(0, "[CSF-AC] %L", id, "CHEATKEY_PUNISH", msg); //Cheatkey
case 12: show_hudmessage(0, "[CSF-AC] %L", id, "ZONEGUARD_PUNISH_HUD", msg); //Zoneguard
case 13: show_hudmessage(0, "[CSF-AC] %L", id, "CMDFLOOD_PUNISH_HUD", msg); //CMDFlood
case 14: show_hudmessage(0, "[CSF-AC] %L", id, "ALIASCHECK_PUNISH_HUD", msg); //Aliascheck
case 15: show_hudmessage(0, "[CSF-AC] %L", id, "SPAMSAY_PUNISH_HUD", msg); //CheatSay
}
}
whitelistload(filename[])
{
new line = 0, textline[128], len, i=0;
const SIZE = 63;
new parameter[SIZE + 1], valuepr[SIZE + 1], parsedParams;
while ((line = read_file(filename, line, textline, 255, len)))
{
i++;
if (len == 0 || textline[0] == ';' || equal(textline, "//", 2))
continue; // comment line
parsedParams = parse(textline, parameter, SIZE, valuepr, SIZE);
if (parsedParams != 2)
{
server_print( "^t[CSF-AC] WhiteList * Error/Warning in Line (%i)^n", i );
continue;
}
if(equal(parameter,"map_pf") && equali(valuepr, g_mapname, strlen(valuepr))) return 0;
if(equal(parameter,"map_full") && equal(valuepr, g_mapname)) return 0;
}
return 1;
}
public client_command(id) {
new arg1[129];
read_argv(0, arg1, 128);
if( ( (cv_cdhack == 1) && (cdvertest[0][id]==0 || cdvertest[1][id]==0 || cdvertest[2][id]==0 )) || ((cv_ffx == 1) && (ffxtest[id]==0))) cmdcheck_cdhack_ffx(id,arg1);
if(cv_aliascheck == 1) cmd_check_ALIAS(id,arg1);
if(cv_cmdflood == 1) Commandflood(id,arg1);
return PLUGIN_CONTINUE;
}
public fw_PlayerSpawn(id)
{
gUserParam[id][ALIVE] = is_user_alive(id);
gUserParam[id][TEAM] = get_user_team(id);
}
public fw_PlayerKilled(id)
{
gUserParam[id][ALIVE] = false;
}
public clcmd_none(id)
{
return PLUGIN_HANDLED;
}
public plugin_end()
{
free_tr2(thdl);
}