PDA

Просмотр полной версии : [Поиск] Античит / Инвиз



Amazing
27.07.2018, 00:52
Всем привет, может у кого есть решение. Проблема в том, что уже не первый раз натыкаюсь на инвиз, который кидает скин под землю + другой вирт мир. При этом игрок может наносить урон другим игрокам в основном вирт. мире.
Как я понимаю там работа с синхрой, но хотелось бы понимать в какую сторону копать или может уже есть фикс.


Видео клео:
https://www.youtube.com/watch?v=2KZNw-FW_no
Подобное клео (работает скорее всего по тому же принципу): https://blast.hk/threads/3405/ (не рекл)

Amazing
27.07.2018, 17:32
Попробовал накидать через сравнение позиции игрока с его камерой, но что-то подсказывает, что решение не очень (при fly-hack, любом телепорте будет срабатывать).



if(GetPVarInt(i, "AFK_Time") < 1 && GetPlayerState(i) == PLAYER_STATE_ONFOOT && DeathTime[i] == 0 || SpawnTime[i] == 0)
{
GetPlayerCameraPos(i, spd[0], spd[1], spd[2]);
hls = GetPlayerDistanceFromPoint(i, spd[0], spd[1], spd[2]);
if(hls > 12.0)
{
format(string, 128, "HLS = %f", hls);
SCM(i, -1, string);
//SetCameraBehindPlayer(i);
}
}

DeimoS
28.07.2018, 14:03
А значение GetPlayerCameraMode проверял?

Amazing
28.07.2018, 15:26
А значение GetPlayerCameraMode проверял?

Да, оно не изменяется. Судя по теме с бх там идёт ноп disable on foot data + смена вирт. мира + тп скина под землю.
Но вот как это поймать прямо на 100% еще пока не особо дошло :sorry:

DeimoS
28.07.2018, 16:18
Если там отключается синхра бега, то GetPlayerPos должна возвращать позицию до включения чита. Соответственно, если в OnPlayerWeaponShot сверить координату начала выстрела с координатой читера, они должны отличаться. Это должно помочь защититься при стрельбе.

Ну а вообще стоит просто скачать чит и начать дебажить все возможные функции, возвращающие информацию о игроке + коллбэки, которые вызываются игроком. И там уже искать "аномалии"

Amazing
28.07.2018, 16:38
Если там отключается синхра бега, то GetPlayerPos должна возвращать позицию до включения чита. Соответственно, если в OnPlayerWeaponShot сверить координату начала выстрела с координатой читера, они должны отличаться. Это должно помочь защититься при стрельбе.

Ну а вообще стоит просто скачать чит и начать дебажить все возможные функции, возвращающие информацию о игроке + коллбэки, которые вызываются игроком. И там уже искать "аномалии"

Ну со стрельбой я +- раньше понял, но думаю это было бы не достаточно. Пока что из "аномалий" я нашел только отличие высоты персонажа от высоты камеры. Буду дальше чекать :boredom:

DeimoS
28.07.2018, 17:47
Как вариант, если GetPlayerPos возвращает старые координаты, просто во все возможные действия вставить проверку того, как далеко находится игрок от места срабатывания действия. Это и от телепортов спасёт, и от этого чита, если координаты не обновляются.

Amazing
28.07.2018, 18:31
Как вариант, если GetPlayerPos возвращает старые координаты, просто во все возможные действия вставить проверку того, как далеко находится игрок от места срабатывания действия. Это и от телепортов спасёт, и от этого чита, если координаты не обновляются.

Попробую еще с координатами поиграть. Вообще, сейчас на нескольких окнах почекал еще раз клео, там получается всё чутка проще. Оно просто опускает игрока на определённую глубину (указывается в скрипте). У окружающих этот игрок просто под землёй (как и считает сервер), а у самого "читера" он находится в том же месте. (https://i.imgur.com/Ii5TZM7.jpg)

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

DeimoS
28.07.2018, 18:58
"Некоторые" - это какие?

Amazing
28.07.2018, 19:28
"Некоторые" - это какие?

Из тех, где я тестил - Grand. Самое забавное, что клео там не пашет, а невидимка из соба заходит.
Судя по всему проще поставить проверки при стрельбе и особо не париться на этот счет.