SA-MP Forums Archive
[Tutorial] Фикс чита (У кого система аккаунтов - читать обязательно!!!) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+----- Forum: Релизы/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=66)
+----- Thread: [Tutorial] Фикс чита (У кого система аккаунтов - читать обязательно!!!) (/showthread.php?tid=538841)

Pages: 1 2


Античит - Jon_De - 24.09.2014

Суть чита в том, что он позволяет переподключаться к серверу без вызова OnPlayerDisconnect, соответственно, если у вас при выходе с сервера должны сохраняться деньги или какие то другие переменные аккаунта, они сохранены не будут.

Особенность чита в том, что он может подключить только под тем же ID, который у вас был.


// В начало скрипта
Code:
new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
// Там, где игрок логинится и где регистрирует аккаунт
Code:
GetPlayerName(playerid, PlayerName[playerid], sizeof(PlayerName[]));
// OnPlayerConnect
Code:
if(strlen(PlayerName[playerid]) > 1)
{
	/*
	    Тут баним ник или удаляем аккаунт игроку PlayerName[playerid]
		т.к. на нем возможно имеются дюпнутые деньги или какие то другие вещи

            Но советую всё же банить, а не удалять
	*/
	printf("%s использовал баг", PlayerName[playerid]);
	return 1;
}
GetPlayerName(playerid, PlayerName[playerid], sizeof(PlayerName[]));
// OnPlayerDisconnect
Code:
PlayerName[playerid] = "";



Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - White_116 - 24.09.2014

Чит древний как мир, уже года два ему.


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - DartfoL - 25.09.2014

Но использовать стали недавно


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - OKStyle - 25.09.2014

Зачем так сложно. Ставь при логине pvar с рандомным числом, а при коннекте проверяй. Если pvar > 0 - бань.


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - stabker - 25.09.2014

У меня от one slot flood осталось

pawn Code:
new connected[MAX_PLAYERS char];

public OnPlayerConnect(playerid)
{
    if(connected{playerid})
    {
        BanEx(playerid, "One Slot Flood");
        return 0;
    }
    else connected{playerid} = 1;
    //Остальное
}

public OnPlayerDisconnect(playerid, reason)
{
    connected{playerid} = 0;
    //Остальное
}
За тему спасибо. Увидел ее и вспомнил, что недавно этот код перенес ниже обнуления переменных (чего не стоило делать).


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - Jon_De - 25.09.2014

Quote:
Originally Posted by stabker
View Post
У меня от one slot flood осталось

pawn Code:
new connected[MAX_PLAYERS char];

public OnPlayerConnect(playerid)
{
    if(connected{playerid})
    {
        BanEx(playerid, "One Slot Flood");
        return 0;
    }
    else connected{playerid} = 1;
    //Остальное
}

public OnPlayerDisconnect(playerid, reason)
{
    connected{playerid} = 0;
    //Остальное
}
За тему спасибо. Увидел ее и вспомнил, что недавно этот код перенес ниже обнуления переменных (чего не стоило делать).
в твоем коде банит только ип адрес, это не спасет



Quote:

Зачем так сложно. Ставь при логине pvar с рандомным числом, а при коннекте проверяй. Если pvar > 0 - бань.

пвары не сохраняются вроде бы + как я сказал, надо банить старый ник, а не под тем, которым ты подключился, т.е. тебе в любом случае придется использовать массив для хранения ника


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - stabker - 25.09.2014

Почему не спасает? OnPlayerConnect > OnPlayerConnect > Ban > OnPlayerDisconnect (сохранение аккаунта).


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - Jon_De - 25.09.2014

Quote:
Originally Posted by stabker
View Post
Почему не спасает? OnPlayerConnect > OnPlayerConnect > Ban > OnPlayerDisconnect (сохранение аккаунта).
второй OnPlayerConnect вызовется с другим ником, с другого аккаунта. Зависит от того как сохраняется акк, у меня лично на пварах, так что такое не прокатит


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - OKStyle - 25.09.2014

Пвар и не должен сохраняться - ещё раз прочитай схему работы, предложенную мной. И ник не надо банить - баньте IP и текущий ник.


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - Yera96 - 25.09.2014

Про этот чит впервые слышу. Решил подстраховаться и сделать так как OKStyle написал. По сути PVar автоматический обнуляются когда вызывается OnPlayerDisconnect, так что не надо проверки по имени.

pawn Code:
public OnPlayerConnect(playerid)
{
    if(GetPVarInt(playerid, "ConnectedWithCheat")) return Ban(playerid);
    SetPVarInt(playerid, "ConnectedWithCheat", 1);
    return 1;
}



Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - Jon_De - 25.09.2014

Quote:
Originally Posted by OKStyle
View Post
Пвар и не должен сохраняться - ещё раз прочитай схему работы, предложенную мной. И ник не надо банить - баньте IP и текущий ник.
Напиши код, не совсем понимаю что ты предлагаешь. Текущий ник нельзя банить + банить надо обязательно залоигненный аккаунт


Quote:

if(GetPVarInt(playerid, "ConnectedWithCheat")) return Ban(playerid);
SetPVarInt(playerid, "ConnectedWithCheat", 1);

Во первых, так ты забанишь только ип
Во вторых, так ты не определишь ник игрока, который был до подключения твинка, а банить надо именно его, для этого и хранится ник в массиве


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - OKStyle - 26.09.2014

В OnPlayerConnect:
pawn Code:
if(GetPVarInt(playerid, "Disconnect") > 0)
{
    new PlayerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
    new string[MAX_PLAYER_NAME + 4];
    format(account, sizeof(account), "%s.ini", PlayerName);
    fremove(account); // файл должен быть закрыт
    BanEx(playerid, "Disconnect");
}
В логин:
pawn Code:
SetPVarInt(playerid, "Disconnect", 1);
Зачем банить имя до перезахода, читер разве его может поменять? Т.е. дублируется инфа с прошлого акка на другой по playerid? Тогда так:

В OnPlayerConnect:
pawn Code:
new PlayerName[MAX_PLAYER_NAME];
GetPVarString(playerid, "Disconnect", PlayerName, sizeof(PlayerName));
if(strlen(PlayerName) > 0)
{
    new string[MAX_PLAYER_NAME + 4];
    format(account, sizeof(account), "%s.ini", PlayerName);
    fremove(account); // файл должен быть закрыт
    BanEx(playerid, "Disconnect");
}
В логин:
pawn Code:
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
SetPVarString(playerid, "Disconnect", PlayerName);



Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - cm666 - 26.09.2014

Разве в сампе не фиксанули заход под одним слотом ?


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - Jon_De - 26.09.2014

Quote:

Зачем банить имя до перезахода, читер разве его может поменять?

в том и дело, что да

и я не тестил, сохраняются ли пвары после второго коннекта в 1 слот, так что гарантировать работоспособность твоего кода не могу


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - OKStyle - 26.09.2014

Если не вызывается OnPlayerDisconnect, то сохраняются.


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - Mexanizm93 - 04.11.2014

удалено, тупанул


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - ea8de1 - 26.07.2015

Не проще чистить переменные в самом начале OnPlayerConnect?


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - James_Braga - 26.07.2015

Quote:
Originally Posted by ea8de1
View Post
Не проще чистить переменные в самом начале OnPlayerConnect?
А вообще лучше делать переменные с авто чисткой к примеру использовать unixtime для этого... но в этом случаи нужно обновлять драйвера мозга чтобы он смог правильно построить логику для скрипта.


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - FanHamMer - 01.08.2015

Quote:
Originally Posted by cm666
View Post
Разве в сампе не фиксанули заход под одним слотом ?
Это же SA:MP...


Re: Фикс чита (У кого система аккаунтов - читать обязательно!!!) - Mcc - 04.08.2015

Quote:
Originally Posted by FanHamMer
View Post
Это же SA:MP...
Что это должно значить?