Античит на Телепорт
#1

Доброго времени суток, суть темы такова:

Хочу переделать свой текущий античит на телепорты, а именно, воткнуть его в OnPlayerUpdate.
Напишите свои доводы, по этому поводу, это будет лучше чем в секундном таймере проверять, или же нет?
Reply
#2

На телепорт достаточно в секундном таймере. AirBrk можно и в OnPlayerUpdate чтобы ловить его на малые дистанции.
Reply
#3

Если в OnPlayerUpdate, то например плюс будет в том, что пофиксятся всякие читы, которые тпшат в какую-то точку для выполнения действия, доступного только в ней, и сразу возвращают обратно. Секундный таймер такого, чаще всего, не словит.

Но не забывайте о том что античит в OnPlayerUpdate на быстрое перемещение можно до некоторой степени обойти, просто увеличив скорость игры в собейте. Возможно, нужно юзать и секундный античит тоже.
Reply
#4

Quote:
Originally Posted by stabker
View Post
Если в OnPlayerUpdate, то например плюс будет в том, что пофиксятся всякие читы, которые тпшат в какую-то точку для выполнения действия, доступного только в ней, и сразу возвращают обратно. Секундный таймер такого, чаще всего, не словит.

Но не забывайте о том что античит в OnPlayerUpdate на быстрое перемещение можно до некоторой степени обойти, просто увеличив скорость игры в собейте. Возможно, нужно юзать и секундный античит тоже.
Что мешает проверять легальность скорости при сравнении с анимацией бега персонажа, и + ко всему смотреть на динамику изменения координат от скорости? )
Для большей точности можно делать 3 замера (3 секунды) на скорость и уже потом проверять макс. скорость за этот период и сравнивать с динамикой изменения координат. Уже вроде 2к18 а подобные вопросы до сих пор мучают людей -_-.
И да, вот как раз макс. скорость ловить нужно в OnPlayerUpdate
Reply
#5

Quote:
Originally Posted by Fragruss
View Post
Что мешает проверять легальность скорости при сравнении с анимацией бега персонажа, и + ко всему смотреть на динамику изменения координат от скорости? )
Производительность и пинг
Reply
#6

А если сделать примитивный, знатоки, нормально это будет, или нет?
И делаем для игрока отдельный таймер на 125 ms.
PHP Code:
        new Float:Pos[3];
        
GetPlayerPos(iPos[0], Pos[1], Pos[2]);
        new 
AC_WAC1 floatround((Pos[0] > TP_Pos[0][i]) ? (Pos[0] - TP_Pos[0][i]) : (TP_Pos[0][i] - Pos[0]));
        new 
AC_WAC2 floatround((Pos[1] > TP_Pos[1][i]) ? (Pos[1] - TP_Pos[1][i]) : (TP_Pos[1][i] - Pos[1]));
        if(
AC_WAC1 15 || AC_WAC2 15)
        {
            
Kick(i);
        }
        
GetPlayerPos(iTP_Pos[0][i], TP_Pos[1][i], TP_Pos[2][i]); 
Или использовать второй вариант?

PHP Code:
        new Float:Distance GetPlayerDistanceFromPoint(iTP_Pos[0][i], TP_Pos[1][i], TP_Pos[2][i]);
        if(
10.0 Distance 40.0)  SCM(i,-1,"Кикаем игрока 0");
        else if(
40.0 DistanceSCM(i,-1,"Кикаем игрока 1"); 
Пробовал падать с высоты, и нормально работает, пробовал AirBrake, тоже ловит.
Reply
#7

Что с кодировкой? Как поправить?
Reply
#8

Quote:

floatround((Pos[0] > TP_Pos[0][i]) ? (Pos[0] - TP_Pos[0][i]) : (TP_Pos[0][i] - Pos[0]));

ну это прямо-таки кандидат на govnokod.ru...

Code:
floatround(floatabs(Pos[0] - TP_Pos[0][i]));
Reply
#9

Quote:
Originally Posted by terill
View Post
Что с кодировкой? Как поправить?
Reply
#10

Так что? Ребятки, или просто не кто не хочет делиться, или помогать?
Reply
#11

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

Quote:
Originally Posted by Lionely
Посмотреть сообщение
Так что? Ребятки, или просто не кто не хочет делиться, или помогать?
слово "помогать" не означает "сделать всё за тебя" или же "преподнести всё готовое"
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)