SA-MP Forums Archive
[FilterScript] Anti OnFoot Crasher - 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: [FilterScript] Anti OnFoot Crasher (/showthread.php?tid=452274)

Pages: 1 2


Anti OnFoot Crasher - White_116 - 20.07.2013

Актуально для версий серверов ниже 0.3x R2

Многие искали защитку от: читер бьёт кулаком и все вокруг него вылетают.
Решил поделиться.
Вот простой скриптиг.
pawn Код:
#include <a_samp>

new FirstKick[MAX_PLAYERS char];
public OnPlayerConnect(playerid)
{
    FirstKick{playerid}=0;
    return 1;
}

public OnPlayerUpdate(playerid)
{
    new Float:x,Float:y,Float:z;
    GetPlayerCameraFrontVector(playerid,x,y,z);
    if(floatcmp(1.0, floatabs(x))==-1 || floatcmp(1.0, floatabs(y))==-1 || floatcmp(1.0, floatabs(z))==-1)
    {
        if(FirstKick{playerid})
        {
            Kick(playerid);
        }
        else
        {
            FirstKick{playerid}=1;//ложный вызов из-за старых данных.
        }
        return 0;
    }
    return 1;
}
Второй вариант, для тех у кого проблемы с числами. Более мягкий, минимум ложных/случайных киков. Предпочтительный.
pawn Код:
#include <a_samp>

new AOFCT[MAX_PLAYERS];
new AOFCW[MAX_PLAYERS char];
public OnPlayerUpdate(playerid)
{
    new Float:x,Float:y,Float:z;
    GetPlayerCameraFrontVector(playerid,x,y,z);
    if(floatcmp(1.0, floatabs(x))==-1 || floatcmp(1.0, floatabs(y))==-1 || floatcmp(1.0, floatabs(z))==-1)
    {
        if(AOFCT[playerid] < GetTickCount())AOFCW{playerid}=0; else AOFCW{playerid}++;
        if(AOFCW{playerid} < 2) AOFCT[playerid]=GetTickCount()+1000; else
        {
            Kick(playerid);
        }
        return 0;
    }
    return 1;
}



Re: Anti OnFoot Crasher - stabker - 20.07.2013

А о "//ложный вызов из-за старых данных." конкретнее можно? Зачем это?


Re: Anti OnFoot Crasher - White_116 - 20.07.2013

Quote:
Originally Posted by stabker
Посмотреть сообщение
А о "//ложный вызов из-за старых данных." конкретнее можно? Зачем это?
При первом апдейте числа зашкаливают после того, как кто-то попытался пошатать а игрок зашёл под этот ид.
Можно не бояться если даже ложного вызова не было, так как игрок рассинхронизирован будет.


Re: Anti OnFoot Crasher - Mutha_X - 20.07.2013

Я конечно "стар" для написания античитов, но разве не правильней будет проверить факт того, что сумма квадратов (x,y,z) больше еденицы, т.е. длина вектора больше еденицы? Или хотя бы поставить за место && - || ?


Re: Anti OnFoot Crasher - White_116 - 21.07.2013

Quote:
Originally Posted by Mutha_X
Посмотреть сообщение
Я конечно "стар" для написания античитов, но разве не правильней будет проверить факт того, что сумма квадратов (x,y,z) больше еденицы, т.е. длина вектора больше еденицы?
На if я предположил что быстрее будет, но длина действительно не должна быть больше Единицы.
Quote:
Originally Posted by Mutha_X
Посмотреть сообщение
Или хотя бы поставить за место && - || ?
-Логику не доглядел Пересмотри.


Re: Anti OnFoot Crasher - Jon_De - 21.07.2013

из-за движения головы что ли крэш получается?
а если в таймер секундный поставить это дело, нормально будет?


Re: Anti OnFoot Crasher - White_116 - 21.07.2013

Не движение головы, удар руками, там где нет пули. Ну а дальше из-за больших значений двиг ГТА входит в ступор.
Секундный таймер пропустит атаку. Нужно действовать на уровне синхронизации.


Re: Anti OnFoot Crasher - Jon_De - 21.07.2013

при спавне стабильно 1 координата имеет значение более 10к. лучше просто ретурн 0 делать без кика
===
а у тебя со 2 раза кикает, тогда ок


Re: Anti OnFoot Crasher - AirKite - 21.07.2013

Я видимо тоже уже стар... Причём тут значения полученные в GetPlayerCameraFrontVector? Краш выходит засчёт неверных данных в PlayerCameraFrontVector? Удары рукой тут не причём. По всей видимости просто чит подсовывает эти данные в момент удара, т.е. просто вызов чита, подмены этих крешовых данных в PlayerCameraFrontVector


Re: Anti OnFoot Crasher - White_116 - 21.07.2013

Как бы вам по проще объяснить. Читер ставит значения вектора 353543.56, 74357.4, -723493.0 | Позиция камеры тоже меняется но отследить по ней нельзя, остаётся только вектор направления камеры.
В момент удара рукой, ногой, ножичком ГТА паникует и падает в обморок. Точка удара смещается чтоле, нужно саму ГТА ковырять, чтобы понять.


Re: Anti OnFoot Crasher - x_O - 21.07.2013

Измени

pawn Code:
(-1.0< x <1.0)
на

pawn Code:
(-1.0<= x <1.0)



Re: Anti OnFoot Crasher - Jon_De - 21.07.2013

Quote:
Originally Posted by x_O
View Post
Измени

pawn Code:
(-1.0< x <1.0)
на

pawn Code:
(-2.0< x <1.0)
чтобы ник свой скрывать читом? ниже -1 и выше 1 не изменяются координаты, у меня не получалось по крайней мере


Re: Anti OnFoot Crasher - x_O - 21.07.2013

Quote:
Originally Posted by Jon_De
View Post
чтобы ник свой скрывать читом? ниже -1 и выше 1 не изменяются координаты, у меня не получалось по крайней мере
Ваше дело. Когда получится, тогда поймешь и поменяешь.

Точнее лучше так:

pawn Code:
(-1.0<= x <1.0)



Re: Anti OnFoot Crasher - Mutha_X - 22.07.2013

Quote:
Originally Posted by White_116
View Post
Как бы вам по проще объяснить. Читер ставит значения вектора 353543.56, 74357.4, -723493.0 | Позиция камеры тоже меняется но отследить по ней нельзя, остаётся только вектор направления камеры.
В момент удара рукой, ногой, ножичком ГТА паникует и падает в обморок. Точка удара смещается чтоле, нужно саму ГТА ковырять, чтобы понять.
Если так, то происходит некоторая ошибка при расчёте точки пересечения вектора удара с поверхностью. Определяет что пересечение было и выясняет эту точку так, как будто вектор был нормирован и недалеко уходит от игрока. А поверхность не найдена!


Re: Anti OnFoot Crasher - stabker - 22.07.2013

Тут еще проверку на state нужно добавить

P.S. Это оно ? И да, еще вопрос. При краше этим читом, "жертвы" не вылетают, как обычно, а просто зависают?


Re: Anti OnFoot Crasher - Jon_De - 23.07.2013

Quote:
Originally Posted by stabker
View Post
Тут еще проверку на state нужно добавить

P.S. Это оно ? И да, еще вопрос. При краше этим читом, "жертвы" не вылетают, как обычно, а просто зависают?
да..


Re: Anti OnFoot Crasher - AirKite - 23.07.2013

Прикольный бэд на самом деле ) Только проще проверить статус клавиши, оружие и вектор камеры, потом просто return 0 ну и варн. А вообще спасибо за инфу =) Отписывали уже kalcor-у?


Re: Anti OnFoot Crasher - stabker - 23.07.2013

Мне сегодня игрок жаловался, мол, что такое, что кикает просто так (условие против этого крашера). Координаты примерно такие-же, как я выложил ранее


Re: Anti OnFoot Crasher - White_116 - 23.07.2013

Quote:
Originally Posted by AirKite
View Post
Отписывали уже kalcor-у?
словно он что-то предпримет, тем более что решение уже есть. Большая беда для сампа это-то, что он не фильтрует (свой базар) данные. Принимает всё, что ему отправят и посылает другим то, что принял.
Quote:
Originally Posted by stabker
View Post
Мне сегодня игрок жаловался, мол, что такое, что кикает просто так (условие против этого крашера)
Т.е. Вы хотите сказать что защита даёт сбои? (не совсем вас понял)


Re: Anti OnFoot Crasher - AirKite - 23.07.2013

Quote:
Originally Posted by White_116
View Post
словно он что-то предпримет, тем более что решение уже есть.
Ну я сколько раз до него достукивался, в ходе переписки обещал фиксы, потом они выходили (ВСЕГДА).

Quote:
Originally Posted by White_116
View Post
Большая беда для сампа это-то, что он не фильтрует (свой базар) данные. Принимает всё, что ему отправят и посылает другим то, что принял.
Подумай объективно. Можно ли написать фильтр на всё (принимать\не принимать)? Благо в данный момент фильтровать МОЖНО самому.