Мысль для античита на Speed Hack -
Dreamerzzz - 11.01.2018
Доброго всем времени суток.
Посетила такая мысль, а что если проверять скорость, так сказать, через производную пути.
Делим пройденное расстояние за короткий промежуток времени (скажем 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 ед. Конечно значения колеблются, это средние
Re: Мысль для античита на Speed Hack -
TriskeliS - 12.01.2018
А если у игрока плохой инет? Скорее всего будет ложное срабатывание
Re: Мысль для античита на Speed Hack -
f0Re3t - 12.01.2018
а чем вам vectorsize не угодил?
Re: Мысль для античита на Speed Hack -
Dreamerzzz - 12.01.2018
Quote:
Originally Posted by TriskeliS
А если у игрока плохой инет? Скорее всего будет ложное срабатывание
|
Ну, можно же брать с поправкой в пределах разумного, скажем, пусть уже не совсем человек, но еще не машина. Да и также можно сделать поправку на "второй шанс", для кика нужно 2-3 срабатывания за какой-то интервал.
Quote:
Originally Posted by f0Re3t
а чем вам vectorsize не угодил?
|
Точно! Как-то я о ней забыл
Re: Мысль для античита на Speed Hack -
Etozhebogdan - 04.12.2018
Эта поправка в пределах разумного для кого-то может быть достаточной для багоюза.
Re: Мысль для античита на Speed Hack -
Mutha_X - 05.12.2018
Надо заменять для каждой машины разгонную характеристику (смотри ниже пример), аппроксимировать формулой, которая бы учитывала нитро, фпс игрока, тип поверхности (можно ограничиться наилучшей для асимптотики) и наклон поверхности (на cos поделить предыдущие измерения).
И запоминать в памяти не 2 позиции+скорости, а несколько, желательно 2 в некой степени m (наверно, оптимально будет 8 замеров из OnPlayerUpdate запоминать).
(Источник изображения)
А вообще думал как-нибудь преобразование Фурье применить над замерами перемещений, тогда, если игрок честно перемещается (без нереальных скоростей перемещений), то будет выделяться 0-ая гармоника и гармоники, которые недалеко бы ушли от неё. Но это дофига вычислений.
Точно таким же образом можно померить максимальную скорость бега у всех персов (
![angry](images/smilies/mad.png)
) так и динамику, сильно зависит от фпс, при том при различном состоянии закономерность может быть и противоположной к тому, что у машин по фпс.
P.S. скорее всего можно просто ограничиться интегралом по этому графику за несколько замеров, затем сопоставить с асимптотикой и с фактическим перемещением. Спасёт от афкшеров, если ограничить максимальное время активности без прихода OnPlayerUpdate.
Re: Мысль для античита на Speed Hack -
KrYpToDeN - 08.03.2019
В папке с ГТА есть файл транспорта. Там прописана скорость каждого автомобиля.
Потом смотрим mapandreas, что позволяет нам проверить, что игрок не в воздухе.
Из этого можно чтот годное придумать, думаю.
Дрифт именно через mapandreas я и реализовал, чтоб багов не было в полете.
ну это как идея.
Re: Мысль для античита на Speed Hack -
Johhnyllll - 08.03.2019
Quote:
Originally Posted by KrYpToDeN
В папке с ГТА есть файл транспорта. Там прописана скорость каждого автомобиля.
Потом смотрим mapandreas, что позволяет нам проверить, что игрок не в воздухе.
Из этого можно чтот годное придумать, думаю.
Дрифт именно через mapandreas я и реализовал, чтоб багов не было в полете.
ну это как идея.
|
Что за фаил?
Я находил только один файл с автомобилями:
vehicles.ide. Но там нету скорости...
https://forum.sa-mp.com/showpost.php...06&postcount=1
Re: Мысль для античита на Speed Hack -
Eims - 09.03.2019
Quote:
Originally Posted by Johhnyllll
|
handling.cfg всё в той же папке data. Там есть таблица. Максимальная скорость спрятана в столбце "N".
К слову, мододелы для одиночки этот и другие файлы уже вдоль и поперёк вылизали. Так что если хочешь найти инфу по содержимому файлов игры - гугли темы мододелов. Вот, например, расписаны значения того самого handlong.cfg -
http://gtamodding.ru/wiki/Handling.cfg#Standard_Data_3
UPD: Собственно, на этом сайте многие файлы расписаны
Re: Мысль для античита на Speed Hack -
KrYpToDeN - 09.03.2019
Quote:
Originally Posted by Eims
handling.cfg всё в той же папке data. Там есть таблица. Максимальная скорость спрятана в столбце "N".
К слову, мододелы для одиночки этот и другие файлы уже вдоль и поперёк вылизали. Так что если хочешь найти инфу по содержимому файлов игры - гугли темы мододелов. Вот, например, расписаны значения того самого handlong.cfg - http://gtamodding.ru/wiki/Handling.cfg#Standard_Data_3
UPD: Собственно, на этом сайте многие файлы расписаны
|
Опередил меня))