Huhu ich bin grad dabei an meinem AntiMoneyCheat für meinen GM zu arbeiten, nur leider wird die Funktion nur zum Teil ausgeführt...
public AntiCheat(){
upcount++;
new fmx[64+32];
format(fmx,sizeof fmx,"mapname %s",(upcount == 1) ? (names[0]) : (upcount == 2) ? (names[1]) : (names[2]));
SendRconCommand(fmx);
if(upcount == 3)upcount = 0;
new pname[MAX_PLAYER_NAME];
for(new i = 0; i < MAX_PLAYERS; i++){
new waffen = GetPlayerWeapon(i);
if(waffen == 38|| waffen == 35|| waffen == 36|| waffen == 37|| waffen == 9) // verbotene waffen (ID 38 = minigun) (ID 4 = messer (knife))
{
GetPlayerName(i, pname, sizeof(pname));
format(string1, sizeof(string1), "***%s wurde gebannt, Grund:WeaponHack!", pname);
SendClientMessageToAll(BAN ,string1);
SendClientMessage(i, 0x66FF00FF, "Haha, you noob cheated and now you are banned!");
BanEx(i, "Weapon Hack" );
}
new ping = GetPlayerPing(i);
if(ping != 65535){
if(ping > MAX_PING){
new name[MAX_PLAYERS];
GetPlayerName(i, name, sizeof(name));
SendClientMessage(i, COLOR_RED, "Dein Ping war zu hoch und du bist deswegen gekickt worden!");
format(string1,sizeof(string1),"%s wurde wegen zu hohem Ping gekickt!", name);
SendClientMessageToAll(COLOR_RED, string1);
Kick(i);
}}
new accFormat[128];
GetPlayerName(i, pname, sizeof(pname));
format(accFormat,sizeof accFormat,"Accounts/%s.sav",pname);
if(!IsPlayerNPC(i)){
if(fexist(accFormat) && Spieler[i][eingeloggt])
{
if(GetPlayerMoney(i) < dini_Int(accFormat,"Geld")){
format(string1, sizeof(string1), "***%s wurde gebannt, Grund:Moneyhack!", pname);
SendClientMessageToAll(0x66FF00FF,string1);
BanEx(i, "Moneyhack" );}
else {
format(accFormat,sizeof accFormat,"Accounts/%s_tmp.sav",pname);
if(GetPlayerMoney(i) < dini_Int(accFormat,"Geld")){
format(string1, sizeof(string1), "***%s wurde gebannt, Grund:Moneyhack!", pname);
SendClientMessageToAll(0x66FF00FF,string1);
BanEx(i, "Moneyhack" );
dini_Remove(accFormat);
}}}}}
return 1;
}
Vllt findet ihr Fehler...