PDA

Просмотр полной версии : [Вопрос] Античит на оружие



Redsan
24.09.2016, 19:24
Необходимо написать античит на оружие. С помощью каких функций проверять сделанное с помощью читов оружие/патроны?

HarrWe
24.09.2016, 19:46
При выдаче оружия записываешь его в массив, в секундном таймере проверяешь оружия игрока и оружие в массиве, Profit.

ziggi
24.09.2016, 20:24
Главное учти, что GetPlayerWeaponData обновляется недостаточно часто, поэтому для античита лучше использовать GetPlayerWeapon.
UPD: То есть не обновляются не часто, а иногда приходят некорректные. Повреждения замечаются при выдаче/смене оружия и входе в Esc или в транспорт.

Redsan
24.09.2016, 23:23
Стоит ли сверять значение патронов в массиве и на руках с помощью автовызываемой функции OnPlayerWeaponShot? Будут ли ложные срабатывания?

ziggi
24.09.2016, 23:43
Стоит ли сверять значение патронов в массиве и на руках с помощью автовызываемой функции OnPlayerWeaponShot? Будут ли ложные срабатывания?

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

Redsan
25.09.2016, 00:58
OnPlayerWeaponShot вызывается всегда когда надо (хотя иногда не вызывается для снайперки, но это не факт, нужно тестировать), поэтому да, его безопасно использовать.

Также судя по багрепортам имеются проблемы со скорострельным оружием. Буду тестировать, спасибо.

vovandolg
25.09.2016, 04:30
Главное учти, что GetPlayerWeaponData обновляется недостаточно часто, поэтому для античита лучше использовать GetPlayerWeapon.
UPD: То есть не обновляются не часто, а иногда приходят некорректные. Повреждения замечаются при выдаче/смене оружия и входе в Esc или в транспорт.

И что там не так? У меня античит на оружие с помощью этой функции работает как часы:pardon:
А если смешать с OPWS будет ещё и анти беск. патроны :air_kiss: читеры крик души испускают

ziggi
25.09.2016, 09:23
И что там не так? У меня античит на оружие с помощью этой функции работает как часы:pardon:
А если смешать с OPWS будет ещё и анти беск. патроны :air_kiss: читеры крик души испускают

На одной из предыдущих версиях я лично наблюдал эту проблему. Конечно, это могли исправить, но я в этом что-то не уверен. Хотя можно снова протестировать.

vovandolg
25.09.2016, 15:07
На одной из предыдущих версиях я лично наблюдал эту проблему. Конечно, это могли исправить, но я в этом что-то не уверен. Хотя можно снова протестировать.

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

Не полностью обнуляет это типо, оружия нету, а в GPWD показывает что оно на месте..

Redsan
25.09.2016, 19:46
На одной из предыдущих версиях я лично наблюдал эту проблему. Конечно, это могли исправить, но я в этом что-то не уверен. Хотя можно снова протестировать.

Около часа пытался добиться получения некорректных данных с помощью функции GetPlayerWeaponData, но все безуспешно.
Выдавал и забирал оружие, стрелял, садился в транспорт, уходил в афк.


CMD:giveweapons(playerid, params[])
{
GivePlayerWeapon(playerid, 1, 1); // Кастет
GivePlayerWeapon(playerid, 22, random(100)); // Кольт-45
GivePlayerWeapon(playerid, 25, random(100)); // Дробовик
GivePlayerWeapon(playerid, 28, random(100)); // Мак-10
GivePlayerWeapon(playerid, 30, random(100)); // АК-47
GivePlayerWeapon(playerid, 33, random(100)); // Деревенское Ружье
GivePlayerWeapon(playerid, 35, random(100)); // Гранатомет
GivePlayerWeapon(playerid, 39, random(100)); // Радиоупр.Взрывпакет
GivePlayerWeapon(playerid, 42, random(100)); // Огнетушитель
GivePlayerWeapon(playerid, 10, 1); // Пурп.Фаллоимитатор
GivePlayerWeapon(playerid, 44, 1); // Очки ноч. видения
GivePlayerWeapon(playerid, 40, 1); // Детонатор

SendClientMessage(playerid, -1, "Оружие выдано!");

return 1;
}

CMD:resetweapons(playerid, params[])
{
ResetPlayerWeapons(playerid);

SendClientMessage(playerid, -1, "Оружие изъято!");

return 1;
}

CMD:test(playerid, params[])
{
SetTimerEx("TestTimer", 1000, true, "i", playerid);
SendClientMessage(playerid, -1, "Тест запущен!");

return 1;
}

forward TestTimer(playerid);
public TestTimer(playerid)
{
new
weapon,
ammo,
string[64];

for (new i = 0; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, weapon, ammo);
format(string,sizeof(string),"Слот: %i, ID оружия: %i, Количество патронов: %i", i, weapon, ammo);
SendClientMessage(playerid, -1, string);
}
}



Есть какие-то идеи по поводу того как можно добиться вывода некорректных данных?
p.s. ушел писать автоматический тест.

vovandolg
25.09.2016, 20:09
Скажу одно что этого можно добится умерев пешком как то, ибо я такое замечал на тех людях которые пешком бегают(да и у самого было такое), на 0.3e по крайней мере был этот баг точно..

ziggi
25.09.2016, 21:35
Позже попробую сам протестировать, у меня даже соответствующий коммит (https://github.com/Open-GTO/Open-GTO/commit/0855e1ee2f6855d4b8fbfa1c3788f8985040a16f) сохранился.

vovandolg
25.09.2016, 23:07
#44: Улучшение античита на оружие
- Использование GetPlayerWeapon и GetPlayerAmmo вместо GetPlayerWeaponData (эти
функции возвращают точные данные)

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

UPD: Weapon-Ammo-Hack (http://pro-pawn.ru/showthread.php?14333-%D0%90%D0%BD%D1%82%D0%B8-Weapon-Ammo-Hack)

ziggi
26.09.2016, 01:01
ziggi, забудь об этих двух, они в машине не работают, а это значит будут из машин хакать,
попозже античит свой выложу, как я борюсь с таким делом..

UPD: Weapon-Ammo-Hack (http://pro-pawn.ru/showthread.php?14333-%D0%90%D0%BD%D1%82%D0%B8-Weapon-Ammo-Hack)

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

Redsan
26.09.2016, 01:41
ziggi, забудь об этих двух, они в машине не работают, а это значит будут из машин хакать,
попозже античит свой выложу, как я борюсь с таким делом..

UPD: Weapon-Ammo-Hack (http://pro-pawn.ru/showthread.php?14333-%D0%90%D0%BD%D1%82%D0%B8-Weapon-Ammo-Hack)

Вроде бы это фиксили - ссылка (http://forum.sa-mp.com/showthread.php?t=495315). К сожалению в ближайшие пару дней проверить не смогу.

vovandolg
26.09.2016, 03:04
Не вижу проблемы, можно же не проверять в машине, пусть хакауют, а когда выйдут - наказать.

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

qwezert
26.09.2016, 14:04
У меня вот иногда была проблема с тем что скорострельность оружия - вызывала иногда ложные, так как проверка на кол-во патронов и оружия в руке - происходила раз в секунду и бывало что не совпадало кол-во патронов в массиве с кол-вом при стрельбе.

vovandolg
26.09.2016, 20:07
У меня вот иногда была проблема с тем что скорострельность оружия - вызывала иногда ложные, так как проверка на кол-во патронов и оружия в руке - происходила раз в секунду и бывало что не совпадало кол-во патронов в массиве с кол-вом при стрельбе.



UPD: Weapon-Ammo-Hack (http://pro-pawn.ru/showthread.php?14333-%D0%90%D0%BD%D1%82%D0%B8-Weapon-Ammo-Hack)
...