PDA

Просмотр полной версии : [Вопрос] Как исправить анти-чит.



Maksim97
04.06.2014, 03:01
Вообщем проблема такова , когда игрок прыгает в басеин у мафии в интерьере то его кикает с кодом 0111
Не могу понять в чём баг анти-чита.

Вот нашёл всё что связывает с кодом 0111


if((anim == 1538 || anim == 1539 || anim == 1543) && Z > 2)
{
if(!NotFlyingHack(playerid))
{
new stringer[180];
format(stringer,sizeof(stringer),"[Àíòè÷èò]: %s áûë êèêíóò ïî ïîäîçðåíèþ â ÷èòåðñòâå. (Ïîë¸ò)",PlayerInfo[playerid][pNames]);
ABroadCast(COLOR_GREY,stringer,1);
SendClientMessage(playerid, COLOR_LIGHTRED, "Âû áûëè êèêíóòû ïî ïîäîçðåíèþ â ÷èòåðñòâå! (#0111)");
Delgun(playerid);
ResetPlayerWeapons(playerid);
KickEx(playerid);
}


if(distance > 1600 && TeleportTime[playerid] == 0 && gPlayerSpawned[playerid] == 1 && PlayerInfo[playerid][pAdminop] < 1 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && GetPlayerState(playerid) != PLAYER_STATE_SPECTATING && Cheater[playerid] == 0 && WaitCheat == 0)
{
format(stringer,sizeof(stringer),"Àíòè÷èò < ERROR 012 > êèêíóò %s (Òåëåïîðò)",PlayerInfo[playerid][pNames]);
ABroadCast(COLOR_GREY,stringer,1);
SendClientMessage(playerid, COLOR_LIGHTRED, "Âû áûëè êèêíóòû ïî ïîäîçðåíèþ â ÷èòåðñòâå (#0111)"); KickEx(playerid);
return true;
}

DeimoS
04.06.2014, 07:33
Во-первых, мы тут что, должны догадываться сами о том, что у вас там в сообщениях пишут?
Во-вторых, кидайте ВСЕ функции, используемые этим античитом, а не только какие-то куски

Maksim97
04.06.2014, 14:30
SendClientMessage(playerid, COLOR_LIGHTRED, "Вы были кикнуты по подозрению в читерстве! (#0111)");

- - - Добавлено - - -

Я скинул всё что связывает с ошибкой 0111 , при попадание в басейн кикает в подозрении с ошибкой 0111

L0ndl3m
04.06.2014, 14:41
Мне кажется проверки на скорость не хватает, да и всё.

Вот, допустим функция:


GetPlayerSpeed(const playerid)
{
new
Float: p_vel_x,
Float: p_vel_y,
Float: p_vel_z
;

GetPlayerVelocity(playerid, p_vel_x, p_vel_y, p_vel_z);

return floatround(floatsqroot(floatpower(floatabs(p_vel_x), 2.0) + floatpower(floatabs(p_vel_y), 2.0) + floatpower(floatabs(p_vel_z), 2.0)) * 213.3);
}


Далее такую проверку например:

if((anim == 1538 || anim == 1539 || anim == 1543) && GetPlayerSpeed(playerid) > 30)

Maksim97
04.06.2014, 15:03
ну а вот это что?

if((anim == 1538 || anim == 1539 || anim == 1543) && Z > 2)

L0ndl3m
04.06.2014, 16:52
ну а вот это что?

if((anim == 1538 || anim == 1539 || anim == 1543) && Z > 2)

У вас проверка на высоту, а не на скорость.

Maksim97
04.06.2014, 18:22
всё спасибо исправил:) + дал