Спустя 8-с-лишним лет, откопал эту фигню у себя на харде и нашел этот форум.
Чуваки из этой темы могут наконец убедиться, что я(я создал ту тему под ником Pazzo) не врал им, и это действительно другой способ.
На сегодняшний день тот вариант крашера неактуален, но фильтрскрипт по-прежнему может обнаружить игроков, использующих некоторые виды loading, Ultra-fake kill, лаггер и прочие читы, использующие телепорт в транспорт и не только. Я сам писал такие читы когда-то, поэтому знаю, о чем говорю(да, я свинья: продавал читы на одних сайтах, а затем античиты к ним на других, но что поделать - все мы не без грешка, пусть публикация этого хоть немного отмоет мою совесть).
Возможно, какие-то участки кода уже неактуальны. Я забросил кодинг для SAMP, и уже давно не слежу за обновлениями.
Код://------------------------------------------------- // // Anti-Crasher Filterscript // Shaggy 2011 // //------------------------------------------------- #pragma tabsize 0 #include <a_samp> #include <core> #define COLOR_RED 0xAA3333AA #define COLOR_BLUE 0x0000FFAA new CrEnter[MAX_PLAYERS] = 0; new CrNotCr[MAX_PLAYERS] = 0; new CrWasInCar[MAX_PLAYERS] = 0; forward IsPlayerCrasher(); //------------------------------------------------- public OnFilterScriptInit() { SetTimer("IsPlayerCrasher", 10, true); } public OnPlayerCommandText(playerid, cmdtext[]) { return 0; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if (newkeys == 16 || oldkeys == 16 ) { CrEnter[playerid] = 1; CrNotCr[playerid] = 0; } return 1; } public OnPlayerDeath(playerid, killerid, reason) { if(playerid == killerid || playerid == INVALID_PLAYER_ID) { new string[256]; new CrpName[MAX_PLAYER_NAME]; GetPlayerName(playerid,CrpName,24); SendClientMessage(playerid, COLOR_BLUE, "Ты кикнут за использование читов!"); Kick(playerid); format(string,sizeof(string), "%s [ID:%d] кикнут(а) за Gay-kill!",CrpName,playerid); SendClientMessageToAll(COLOR_RED,string); } } public IsPlayerCrasher() { for(new i=0;i<MAX_PLAYERS;i++) { if(IsPlayerInAnyVehicle(i)) { CrWasInCar[i] = 1; if(CrEnter[i] == 1) { CrEnter[i] = 0; CrNotCr[i] = 1; } if(CrEnter[i] == 0) { if(CrNotCr[i] == 0) { new string[256]; new CrpName[MAX_PLAYER_NAME]; GetPlayerName(i,CrpName,24); CrNotCr[i] = 1; SendClientMessage(i, COLOR_BLUE, "Ты кикнут за использование читов!"); Kick(i); format(string,sizeof(string), "%s [ID:%d] кикнут(а) за использования Crasher или Loading!",CrpName,i); SendClientMessageToAll(COLOR_RED,string); } } } else { if(CrWasInCar[i] == 1) { CrWasInCar[i] = 0; CrEnter[i] = 0; CrNotCr[i] = 0; } } } return 1; } public OnPlayerEnterVehicle (playerid) { CrEnter[playerid] = 1; CrNotCr[playerid] = 0; new Float:crpX,Float:crpY,Float:crpZ; GetPlayerPos(playerid,crpX,crpY,crpZ); return 1; }


Ответить с цитированием