Мысль для античита на Speed Hack
#1

Доброго всем времени суток.
Посетила такая мысль, а что если проверять скорость, так сказать, через производную пути.
Делим пройденное расстояние за короткий промежуток времени (скажем 0,05 секунд).


Например:
Code:
new Float: prevpnt[MAX_PLAYERS][3]; //старая координата
new Float: newpnt[MAX_PLAYERS][3]; //новая координата

public OnPlayerUpdate(playerid)
{

prevpnt[playerid][0] = newpnt[playerid][0];
prevpnt[playerid][1] = newpnt[playerid][1];
prevpnt[playerid][2] = newpnt[playerid][2];
GetPlayerPos(playerid,newpnt[playerid][0],newpnt[playerid][1],newpnt[playerid][2]);
GetPlayerVelocity(playerid, GPVspd[0], GPVspd[1], GPVspd[2]);

format(string1, sizeof(string1), "Ваша скорость через f'[x] = %f", floatabs(floatsqroot(floatpower(newpnt[playerid][0]-prevpnt[playerid][0], 2) + floatpower(newpnt[playerid][1]-prevpnt[playerid][1], 2) + floatpower(newpnt[playerid][2]-prevpnt[playerid][2], 2)))/0.05);
    SendClientMessage(playerid, COLOR_WHITE,string1);

return 1;
}
Я так понял, есть некоторые читы, которые позволяют заставить сервер думать, что вы на паузе, и в это время злодействовать...
Но ведь в таком случае OnPlayerUpdate не будет выполнять свои функции, то есть когда игрок отключит чит, отношение пути к скорости будет огромным, что говорит о чите на скорость.

Проверял:
При обычном беге(не CJ) 5 ед, при прыжке 11 ед. , при ускорении 6-8 ед. Конечно значения колеблются, это средние
Reply
#2

А если у игрока плохой инет? Скорее всего будет ложное срабатывание
Reply
#3

а чем вам vectorsize не угодил?
Reply
#4

Quote:
Originally Posted by TriskeliS
View Post
А если у игрока плохой инет? Скорее всего будет ложное срабатывание
Ну, можно же брать с поправкой в пределах разумного, скажем, пусть уже не совсем человек, но еще не машина. Да и также можно сделать поправку на "второй шанс", для кика нужно 2-3 срабатывания за какой-то интервал.

Quote:
Originally Posted by f0Re3t
View Post
а чем вам vectorsize не угодил?
Точно! Как-то я о ней забыл
Reply
#5

Эта поправка в пределах разумного для кого-то может быть достаточной для багоюза.
Reply
#6

Надо заменять для каждой машины разгонную характеристику (смотри ниже пример), аппроксимировать формулой, которая бы учитывала нитро, фпс игрока, тип поверхности (можно ограничиться наилучшей для асимптотики) и наклон поверхности (на cos поделить предыдущие измерения).

И запоминать в памяти не 2 позиции+скорости, а несколько, желательно 2 в некой степени m (наверно, оптимально будет 8 замеров из OnPlayerUpdate запоминать).

(Источник изображения)

А вообще думал как-нибудь преобразование Фурье применить над замерами перемещений, тогда, если игрок честно перемещается (без нереальных скоростей перемещений), то будет выделяться 0-ая гармоника и гармоники, которые недалеко бы ушли от неё. Но это дофига вычислений.

Точно таким же образом можно померить максимальную скорость бега у всех персов () так и динамику, сильно зависит от фпс, при том при различном состоянии закономерность может быть и противоположной к тому, что у машин по фпс.

P.S. скорее всего можно просто ограничиться интегралом по этому графику за несколько замеров, затем сопоставить с асимптотикой и с фактическим перемещением. Спасёт от афкшеров, если ограничить максимальное время активности без прихода OnPlayerUpdate.
Reply
#7

В папке с ГТА есть файл транспорта. Там прописана скорость каждого автомобиля.
Потом смотрим mapandreas, что позволяет нам проверить, что игрок не в воздухе.

Из этого можно чтот годное придумать, думаю.
Дрифт именно через mapandreas я и реализовал, чтоб багов не было в полете.

ну это как идея.
Reply
#8

Quote:
Originally Posted by KrYpToDeN
View Post
В папке с ГТА есть файл транспорта. Там прописана скорость каждого автомобиля.
Потом смотрим mapandreas, что позволяет нам проверить, что игрок не в воздухе.

Из этого можно чтот годное придумать, думаю.
Дрифт именно через mapandreas я и реализовал, чтоб багов не было в полете.

ну это как идея.
Что за фаил?
Я находил только один файл с автомобилями: vehicles.ide. Но там нету скорости...
https://forum.sa-mp.com/showpost.php...06&postcount=1
Reply
#9

Quote:
Originally Posted by Johhnyllll
View Post
Что за фаил?
Я находил только один файл с автомобилями: vehicles.ide. Но там нету скорости...
https://forum.sa-mp.com/showpost.php...06&postcount=1
handling.cfg всё в той же папке data. Там есть таблица. Максимальная скорость спрятана в столбце "N".

К слову, мододелы для одиночки этот и другие файлы уже вдоль и поперёк вылизали. Так что если хочешь найти инфу по содержимому файлов игры - гугли темы мододелов. Вот, например, расписаны значения того самого handlong.cfg - http://gtamodding.ru/wiki/Handling.cfg#Standard_Data_3
UPD: Собственно, на этом сайте многие файлы расписаны
Reply
#10

Quote:
Originally Posted by Eims
View Post
handling.cfg всё в той же папке data. Там есть таблица. Максимальная скорость спрятана в столбце "N".

К слову, мододелы для одиночки этот и другие файлы уже вдоль и поперёк вылизали. Так что если хочешь найти инфу по содержимому файлов игры - гугли темы мододелов. Вот, например, расписаны значения того самого handlong.cfg - http://gtamodding.ru/wiki/Handling.cfg#Standard_Data_3
UPD: Собственно, на этом сайте многие файлы расписаны
Опередил меня))
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)