[15:26:15] 5 | ArcadioN
Ah ja, hab vergessen die Leeren zu skippen. //Edit: Noch was vergessen, schreib es so:
C
CMD:admins(playerid)
{
if(!Spieler[playerid][pLoggedIn]) return 1;
new string[18 + MAX_PLAYER_NAME];
new a_rang[][] = {"Communityhelfer", "Supporter", "Moderator", "Admin", "Head Admin", "Projektleiter"};
new sort[20][2],c;
SendClientMessage(playerid,Gruen,"Admins Online:");
for(new i=GetPlayerPoolSize(); i!=-1; i--)
{
if(!Spieler[i][pLoggedIn] || !Spieler[i][pAdminlevel]) continue;
sort[c][0] = Spieler[i][pAdminlevel], sort[c++][1] = i;
}
if(c > 0)
{
SortDeepArray(sort, 0);
for(new i=sizeof(sort)-1; i != -1; i--)
{
if(!sort[i][0]) continue;
format(string,sizeof(string),"%s: %s",a_rang[sort[i][0]-1],Spieler[sort[i][1]][pName]);
SendClientMessage(playerid,Grau,string);
}
}
else return SendClientMessage(playerid,Grau,"Zurzeit ist kein Teammitglied online.");
return 1;
}
Alles anzeigen
bis ich In-Game bin, da ich es früher so gemacht habe unter DIALOG_REGISTER:
"SetTimerEx("LoadAccount", 1500, false, "d", playerid);"
...Du solltest dir mal anschauen (Tutorials), was es bedeutet Dinge asynchron laden zu lassen.
Du solltest unter DIALOG_REGISTER anstatt dem Timer einfach mysql_pquery oder mysql_tquery nutzen und dann kein mysql_query mehr im Callback.
Du willst nämlich gar kein mysql_query nutzen, deshalb nutzt du ja die Cache Version.
mysql_query lädt alles synchron, du willst es aber asynchron, sonst bringen dir auch die Neusten Plugins überhaupt nix.