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
Измени
на
Re: Anti OnFoot Crasher -
Jon_De - 21.07.2013
Quote:
Originally Posted by x_O
|
чтобы ник свой скрывать читом? ниже -1 и выше 1 не изменяются координаты, у меня не получалось по крайней мере
Re: Anti OnFoot Crasher -
x_O - 21.07.2013
Quote:
Originally Posted by Jon_De
чтобы ник свой скрывать читом? ниже -1 и выше 1 не изменяются координаты, у меня не получалось по крайней мере
|
Ваше дело. Когда получится, тогда поймешь и поменяешь.
Точнее лучше так:
Re: Anti OnFoot Crasher -
Mutha_X - 22.07.2013
Quote:
Originally Posted by White_116
Как бы вам по проще объяснить. Читер ставит значения вектора 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
Тут еще проверку на 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
Отписывали уже kalcor-у?
|
словно он что-то предпримет, тем более что решение уже есть. Большая беда для сампа это-то, что он не фильтрует
(свой базар) данные. Принимает всё, что ему отправят и посылает другим то, что принял.
Quote:
Originally Posted by stabker
Мне сегодня игрок жаловался, мол, что такое, что кикает просто так (условие против этого крашера)
|
Т.е. Вы хотите сказать что защита даёт сбои? (не совсем вас понял)
Re: Anti OnFoot Crasher -
AirKite - 23.07.2013
Quote:
Originally Posted by White_116
словно он что-то предпримет, тем более что решение уже есть.
|
Ну я сколько раз до него достукивался, в ходе переписки обещал фиксы, потом они выходили (ВСЕГДА).
Quote:
Originally Posted by White_116
Большая беда для сампа это-то, что он не фильтрует (свой базар) данные. Принимает всё, что ему отправят и посылает другим то, что принял.
|
Подумай объективно. Можно ли написать фильтр на всё (принимать\не принимать)? Благо в данный момент фильтровать МОЖНО самому.