Hali, elkezdtem írni egy anticheat rendszert és ugye a timernek 2 mp-ként kéne lefutni de nem történik semmi, mikor 100 felett van az életem!
Fent a mód elején:
#define MAX_ARMOUR 100
#define MAX_HEALTH 100
forward KetMasodpercesTimer(playerid);
new Timers[10];
OnGameModeInit() alatt
Timers[3] = SetTimer(\"KetMasodpercesTimer\",2000,true);
Mód eleje fele.
public KetMasodpercesTimer(playerid)
{
new string[126];
//HP,AP
new Float:hp,Float:ap;
GetPlayerHealth(playerid,hp);
GetPlayerArmour(playerid,ap);
if(hp > MAX_HEALTH)
{
format(string,sizeof(string),\"Anti-Cheat: {ffff00}Kirugtuk \'%s\'-t. Indok: HP cheat(%f)\",nev,hp);
SendAdminMessage(RED,string);
format(logstring,sizeof(logstring),\"[%d-%d-%d_%d:%d:%d] %s bannolva lett a rendszer által! Indok: HP cheat(%f)\",ev,honap,nap,ora,perc,masodperc,nev,hp);
SzerverLog(logstring);
SendClientMessage(playerid,DARKRED,\"(( Bannolva lettél a szerverről! Indok: HP cheat ))\");
Kibannol(playerid);
}
if(ap > MAX_ARMOUR)
{
format(string,sizeof(string),\"Anti-Cheat: {ffff00}Kirugtuk \'%s\'-t. Indok: AP cheat(%f)\",nev,ap);
SendAdminMessage(RED,string);
format(logstring,sizeof(logstring),\"[%d-%d-%d_%d:%d:%d] %s bannolva lett a rendszer által! Indok: AP cheat(%f)\",ev,honap,nap,ora,perc,masodperc,nev,ap);
SzerverLog(logstring);
SendClientMessage(playerid,DARKRED,\"(( Bannolva lettél a szerverről! Indok: AP cheat ))\");
Kibannol(playerid);
}
//AirBreak
if(Logged[playerid] == 1 || Logged[playerid] == 0)
{
if(GetPlayerSpeed(playerid) >= 4)
{
if(Speedboost[playerid] == 0)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
if(z >= 130 && z <= 900)
{
format(string,sizeof(string),\"Anti-Cheat: {ffff00}Kirugtuk \'%s\'-t. Indok: s0beit\", nev);
SendAdminMessage(RED,string);
SendClientMessage(playerid,DARKRED,\"(( Bannolva lettél a szerverről! Indok: s0beit ))\");
Kibannol(playerid);
}
}
}
}
}