Античит на CheckPoint Master
#1

Привет всем. Суть чита в том, что когда на карте есть чекпоинт, читер телепортируется на эти координаты , вызывает паблик взятия и сразу же, после взятия перемещается на то место,где был. Все происходит моментально, еле вычеслил через ракнетменеджер. Я сделал Античит на Ч.М.
Все хорошо работает,НО. Если наступить на чекпоинт , он исчезнет и мгновенно появится новый - игрока кикнет.
Вот код:
В начало
PHP Code:
enum PointInfo
{
    
FloatPX1,
    
FloatPY1,
    
FloatPZ1
}
new 
PointInfo1[MAX_PLAYERS][PointInfo];
SetPlayerCheckpointAC(playerid,Float:x,Float:y,Float:z,Float:r)
{
     new 
temp1 SetPlayerCheckpoint(playeridxyzr);
    
PointInfo1[playerid][PX1] = x;
    
PointInfo1[playerid][PY1] = y;
    
PointInfo1[playerid][PZ1] = z;
    return 
temp1;

PHP Code:
Затефайнил Обычную на Античитерскую 
в Enter Checkpoint
PHP Code:
SetPVarInt(playerid"timerz1"1); 
и в 100 миллисекундный таймер
PHP Code:
foreach(Player,i)
    {
    if(
GetPVarInt(i,"timerz1") == && !IsPlayerInRangeOfPoint(i30.0PointInfo1[i][PX1],PointInfo1[i][PY1],PointInfo1[i][PZ1]) )
    {
    
DeletePVar(i"timerz1");
    
Kick(i);
     continue;
    }
    if(
GetPVarInt(i,"timerz1") > 0)DeletePVar(i"timerz1");
    } 
Ребятки, с оптимизаций ничего не делал, так, как альфа версия античита.
Reply
#2

А не проще так: (готовое решение есть на просторах всемирной сети

1) Создаем чек, и запоминаем его позицию
2) в OnPlayerEnterCheckpoint добавляем проверку, что если игрок дальше от позиции чекпоинта чем его радиус возвращаем 0 (return 0) .
3) profit.

И кикать никого ненадо, и все работает...
Reply
#3

Нет. Во время вызова он именно на позиции чекпоинта стоит)))
Прочитай внимательнее
Суть чита в том, что когда на карте есть чекпоинт, читер телепортируется на эти координаты , вызывает паблик взятия и сразу же, после взятия перемещается на то место,где был.
скорость , примерно 1-30 миллисекунд.
Reply
#4

Что мешает запомнить координаты всех игроков перед созданием чекпоинта, сверять их с новыми в OnPlayerEnterCheckpoint и если разница колоссальная, а время между этими двумя событиями минимальное, проверять игрока на нечестную игру?

Или лучше, проверять ускорение при поднятие маркера, игрок по определению в него заходит, а вот если он там материализовался, это странно.
Reply
#5

Степашка, это обойдут ботом, на с++ можно задать скорость, ну или на cleo. Трудного ничего нет.
Смотри. Если сделать так.
Поднял игрок чекпоинт , и через 100 мс. появляется новый, убедившись ,что игрок в радиусе предыдущего чекпоинта, в противном случаем, кик. Как такой вариант?
Reply
#6

Quote:
Originally Posted by jakebat
View Post
Нет. Во время вызова он именно на позиции чекпоинта стоит)))
Прочитай внимательнее
Суть античита в том, что когда на карте есть чекпоинт, читер телепортируется на эти координаты , вызывает паблик взятия и сразу же, после взятия перемещается на то место,где был.
скорость , примерно 1-30 миллисекунд.
ты не понял.
дай угадаю, когда читер телепортируется на чек, он встает РОВНО по координатам чекпоинта.
в реальной же ситуации, это невозможно.
вот и думай.
Reply
#7

Quote:
Originally Posted by Gettopro
View Post
ты не понял.
дай угадаю, когда читер телепортируется на чек, он встает РОВНО по координатам чекпоинта.
в реальной же ситуации, это невозможно.
вот и думай.
Я об этом тоже думал, А вдруг каким-то образом игрок попадет в точные?
Но если кодер читов узнает, как работает античит, обойти можно прибавив хотя бы +1 к осям x и y
И все ровно будет вызов чекпоинта, но уже без кика.
Но в принципе, можно проверять до миллионных и ложный кик, почти 99% невозможен.
Reply
#8

Есть еще идеи?
Reply
#9

А если смотреть, какая разница по времени между OnPlayerEnterCheckpoint и OnPlayerLeaveCheckpoint?
Если через чит то разица не больше 20 мс, предположительно.
Reply
#10

А если необходим Disable Checkpoint?
Тогда же не вызывается Leave
Reply
#11

А что мешает просто запилить хороший античит на телепорт? Все известные махинации с чекпоинтами основываются на телепорте игрока к чекпоинту, а не наоборот, так что тут всё даже проще, чем кажется.
Reply
#12

У меня античит в секундном таймере. Если закинуть обновление позиций в ракнетменеджер, который вызывается так же ,почти, как и update , нагрузки не будет?
Reply
#13

Quote:
Originally Posted by jakebat
View Post
У меня античит в секундном таймере. Если закинуть обновление позиций в ракнетменеджер, который вызывается так же ,почти, как и update , нагрузки не будет?
Прямо в OnPlayerUpdate античит на тп и делай.

Есть еще вариант. Твой секундный античит, разумеется, хранит последние координаты игрока. Проверяешь расстояние от чекпоинта до последней позиции игрока, если расстояние, образно говоря, в 2 раза больше радиуса, значит эффект чекпоинта игнорируется. Хотя через OnPlayerUpdate должно быть лучше.

P.S. Кстати, античит на тп в OnPlayerUpdate тоже можно обойти, до некоторого предела.
Reply
#14

Quote:
Originally Posted by stabker
View Post
Прямо в OnPlayerUpdate античит на тп и делай.

Есть еще вариант. Твой секундный античит, разумеется, хранит последние координаты игрока. Проверяешь расстояние от чекпоинта до последней позиции игрока, если расстояние, образно говоря, в 2 раза больше радиуса, значит эффект чекпоинта игнорируется. Хотя через OnPlayerUpdate должно быть лучше.

P.S. Кстати, античит на тп в OnPlayerUpdate тоже можно обойти, до некоторого предела.
Я заходил к тебе на сервер. У тебя стоит на телепорт АЧ в OnPlayerUpdate?
Reply
#15

Quote:
Originally Posted by jakebat
View Post
Я заходил к тебе на сервер. У тебя стоит на телепорт АЧ в OnPlayerUpdate?
Нет, в односекундном таймере.
Reply
#16

Quote:
Originally Posted by stabker
View Post
Нет, в односекундном таймере.
Можешь войти на сервер, на пару минут, мой ник, пусть будет Haaa_Rii
Очень долго я искал баги с античитами, и нашел. Думаю, не пожалеешь.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)