13.01.2013, 19:14
(
Last edited by Maikkk; 13/01/2013 at 09:28 PM.
)
Приветствую, делаю самый обычный античит, но бывает он вызывается тогда, когда не нужно (т.е. есть ложные вызовы):
!!!: (в public Test как вы видите нет остановки цикла если условие выполнится, то есть античит должен вызываться бесконечное кол-во раз, а он вызывается 1 раз, из этого следует, что потом все нормально).
При использовании следующего действия иногда срабатывает античит:
Решил вывести значения:
Получаю следующее:
То есть HP до действия и после одинаковое. Прошу знающих в этом деле людей помочь в решении данной проблемы, заранее благодарю за помощь.
p.s. Тролей прошу пройти мимо.
PHP Code:
new Float:HP[PLAYERS]; // Глоб. переменная хранящая ХП игрока
stock SetHP(playerid,Float:h) // Установка ХП
{
HP[playerid]=h;
SetPlayerHealth(playerid,h);
}
public Test() // Вызывается раз с секунду (античит)
{
new Float:h;
for(new i=GetMaxPlayers()-1;i!=-1;--i)
{
if(!IsPlayerConnected(i))continue;
GetPlayerHealth(i,h);
if(h>HP[i])
{
/*Action*/
}
}
return 1;
}
При использовании следующего действия иногда срабатывает античит:
PHP Code:
new Float:h;GetPlayerHealth(playerid,h);
new Float:r=random(4)+1;
SetHP(playerid,floatsub(h,r));
PHP Code:
new Float:h;GetPlayerHealth(playerid,h);
new Float:r=random(4)+1;
SetHP(playerid,floatsub(h,r));
new Float:h2;GetPlayerHealth(playerid,h2);
format(STR,128,"GPH (DO): %.1f | R: %.1f | floatsub: %.1f | GPH(Posle): %.1f | HP[i]: %.1f",h,r,floatsub(h,r),h2,HP[playerid]);
SendClientMessage(playerid,white,STR);
То есть HP до действия и после одинаковое. Прошу знающих в этом деле людей помочь в решении данной проблемы, заранее благодарю за помощь.
p.s. Тролей прошу пройти мимо.