Hi Ich bin grad dabei ein Anti Waffenhack zumachen dafür habe ich die Variable GaveWeapon[MAX_PLAYERS]; bei jedem GivePlayerWeapon( auf 1 gesetzt. Und ich frage in einem Timer ab ob er neue Waffen hat und die Variable gleich 0 ist, wenn ja wird er gekickt, der benötigte Abschnitt ist hier. Irgendein Denkfehler ist da drin aber ich find ihn nicht.
new weapon2[13], ammo2[13], weapon[13], ammo[13];
for(new i = 0; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, weapon[i], ammo[i]);
if(weapon[i] != weapon2[i] && GaveWeapon[playerid] == 0)
{
format(string, sizeof(string), "AdmCmd: %s wurde vom System gekickt, Grund: Waffenhack", cheater);
SendClientMessageToAll(COLOR_RED2, string);
Kick(playerid);
getdate(year, month, day);
gettime(hour, minute, second);
format(banstring, sizeof(banstring), "%s wurde wegen Waffenhacks gekickt.(%d.%d.%d) %d:%d:%d Uhr",cheater, month, day, year, hour, minute, second);
KickLog(banstring);
}
else
{
GaveWeapon[playerid] = 0;
}
GetPlayerWeaponData(playerid, i, weapon2[i], ammo2[i]);
}
Ich werde dennoch immer gekickt wenn ich mir eine normale Waffe kaufe.