Guten Tag,
ich benutzte die MySQL Version R34 und habe ein Problem mit meinem Bansystem.
OnPlayerConnect:
format(query2,sizeof(query2),"SELECT * FROM Bans WHERE IP='%s' OR Name='%s'",SpielerIP(playerid),SpielerName(playerid));
mysql_function_query(MySQLConnection,query2,true,"SpielerUeberpruefung","i",playerid);
printf("SpielerUeberpruefung 1");//Für Test, ob es überhaupt abgerufen wird
new query[4000],query2[128],string[128],string2[256],pZeit,pAdmin[24],pGrund[64],result[64],rows,fields;
cache_get_data(rows,fields);
if(rows)
{
pZeit = strval(result);
if(pZeit == -1)
{
SendClientMessage(playerid,Rot,"Du bist gebannt!");
KickPlayer(playerid);
printf("SpielerUeberpruefung 2");//Für Test, ob es überhaupt abgerufen wird
return 1;
}
else
{
if(gettime() < pZeit)
{
printf("SpielerUeberpruefung 3");//Für Test, ob es überhaupt abgerufen wird
cache_get_field_content(0,"Grund",pGrund);
cache_get_field_content(0,"Admin",pAdmin);
cache_get_field_content(0,"Zeit",result);
new timebanned = pZeit-gettime();
if(floatround(timebanned/86400) > 0)
{
format(string,sizeof(string),"Du bist noch für %i Tage gebannt.",timebanned/86400);
format(string2,sizeof(string2),"Admin: %s | Grund: %s",pAdmin,pGrund);
}
else if(floatround(timebanned/3600) > 0)
{
format(string,sizeof(string),"Du bist noch für %i Stunden gebannt.",timebanned/86400);
format(string2,sizeof(string2),"Admin: %s | Grund: %s",pAdmin,pGrund);
}
else if(floatround(timebanned/60) > 0 || floatround(timebanned%60) > 0)
{
format(string,sizeof(string),"Du bist noch für %i:%02d Minuten gebannt.",timebanned/60,timebanned%60);
format(string2,sizeof(string2),"Admin: %s | Grund: %s",pAdmin,pGrund);
}
SendClientMessage(playerid,Rot,string);
SendClientMessage(playerid,Rot,string2);
Kick(playerid);
}
else
{
printf("SpielerUeberpruefung 4");//Für Test, ob es überhaupt abgerufen wird
format(query,sizeof(query),"DELETE FROM Bans WHERE IP ='%s' OR Name = '%s'",SpielerIP(playerid),SpielerName(playerid));
mysql_function_query(MySQLConnection,query,false,"","");
mysql_free_result();
}
return 1;
}
}
else
{
printf("SpielerUeberpruefung 5");//Für Test, ob es überhaupt abgerufen wird
format(query2,sizeof(query2),"SELECT ID FROM Spieler WHERE Name='%s'",SpielerName(playerid));
mysql_function_query(MySQLConnection,query2,true,"OnUserCheck","i",playerid);
}
return 1;
}
Sobald ich connecte bekomm ich in der Log die Meldung "SpielerUeberpruefung 1" was auch kommen sollte, danach kommt allerdings nichts, egal ob ein Ban in der Tabelle ist oder nicht.