Hier, mach es mal so:
ocmd@2:a,admin(playerid, params[])
{
if(!IsPlayerLoggedIn(playerid))return 1;
new string[145];
if(IsNull(params))return SendClientMessage(playerid, COLOR_GREY, "{2641FE}* Benutze: {33AA33}/a <Nachricht>");
if(pInfo[playerid][pAdmin] > 0)
{
for(new i=0;i<GetMaxPlayers();i++)
{
if(pInfo[i][pAdmin] > 0)
{
format(string, sizeof(string), "%s %s: %s", GetPlayerAdminName(playerid), Spielername(playerid), params);
SendClientMessage(i, COLOR_YELLOW, string);
}
}
format(string,sizeof(string), "AChat: %s", params);
sqlLogAdmin(playerid, string);
}
else
{
for(new i=0;i<GetMaxPlayers();i++)
{
if(pInfo[i][pAdmin] > 0)
{
format(string, sizeof(string), "%s [ID: %d]: %s", Spielername(playerid), playerid, params);
SendClientMessage(i, COLOR_YELLOW, string);
}
}
format(string, sizeof(string), "%s: %s", Spielername(playerid), params);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
Alles anzeigen
sscanf bei nur einem Parameter solltest du vermeiden.
Und den Log auch nicht in die schleife schreiben, sonst wird das n mal abgespeichert..was du sicher nicht willst 
PS: Falls du IsNull nicht im Skript hast (füg es oben ein):
#define IsNull(%0) (%0[0] == EOS || (%0[0] == '\1' && %0[1] == EOS))