PDA

Просмотр полной версии : [Вопрос] Anti FakeKill



gangzone.ini
28.05.2015, 15:23
Будет ли ловить чит "FakeKill'?:



public OnPlayerDeath(playerid, killerid, reason)
{
new anticheat[12+MAX_PLAYER_NAME+58];
if(killerid != INVALID_PLAYER_ID)
{
if(GetPlayerWeapon(killerid) != reason || (!ProxDetector(2.0, playerid, killerid) && GetPlayerWeapon(killerid) == 0))
format(anticheat, sizeof(anticheat), "[AntiCheat] %s[%d] кикнут из-за использования чит-программы 'fakekill'", PlayerInfo[playerid][pName], playerid);
SendAdminMessage(COLOR_LIGHTRED, anticheat);
SendClientMessage(playerid, COLOR_LIGHTRED, "Вы были кикнуты из-за использования чит-программы 'fakekill'");
SendClientMessage(playerid, COLOR_LIGHTRED, "Если произошла ошибка, сообщите нам об этом. Форум: ....");
Kick(playerid);
}
return true;
}

Daniel_Cortez
28.05.2015, 15:44
Во-первых, с момента выстрела до момента смерти игрока проходит некоторое время (ибо пинг, а сообщение об убийстве отправляет игрок, которого убили, а не сам убийца). За это время убийца может взять в руки другое оружие и - ложное срабатывание.

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