CMD:Adminlist(playerid,params[])
{
mysql_function_query(g_SQL,"SELECT `username`,`Admin` FROM `players` WHERE `Admin` > 0;",true,"Admins","d",playerid);
return 1;
}
forward AdminList(playerid);
public AdminList(playerid)
{
new info[2048];
if(cache_get_row_count() > 0)
{
for(new row = 0;row<cache_get_row_count();row++)
{
new Nickas[24],AdmID,id;
cache_get_row(row, 0, Nickas);
AdmID = cache_get_row_int(row, 1);
printf("%s %i", Nickas, AdmID);
if(!sscanf(Nickas, "u", id))
{
if(IsPlayerConnected(id))
{
switch(AdmID)
{
case 1:
{
new string[144];
format(string, 144, "{FFFFFF}ON {00FF00}%s\n",Nickas);
strcat(info, string);
}
case 2:
{
new string[144];
format(string, 144, "{FFFFFF}ON {00FF00}%s\n",Nickas);
strcat(info, string);
}
}
}
else
{
switch(AdmID)
{
case 1:
{
new string[144];
format(string, 144, "{FFFFFF}OFF {FF0000}%s\n",Nickas);
strcat(info, string);
}
case 2:
{
new string[144];
format(string, 144, "{FFFFFF}OFF {FF0000}%s\n",Nickas);
strcat(info, string);
}
}
}
}
}
}
ShowPlayerDialog(playerid, 8, DIALOG_STYLE_MSGBOX, "List", info, "OK", "");
return 1;
}
cmd:adminlist(pid){
new Cache:cq=mysql_query(g_SQL,"select username,Admin from players where Admin > 0"),
r=cache_num_rows(),
id,
bs[500]="There are no admins!",
name[24];
if(r){
bs[0]=EOS;
for(new i; i < r; i++){
cache_get_field_content(i,"username",name);
format(bs,sizeof(bs),"%s%s - %d: %s\n",bs,name,cache_get_field_content_int(i,"Admin"), (!sscanf(name,"u",id) && IsPlayerConnected(id))?("Online"):("Offline"));
}
}
cache_delete(cq);
return ShowPlayerDialog(pid, 8, DIALOG_STYLE_MSGBOX, "List", bs, "OK", "");
}
|
I did printf("%s %i", name, cache_get_field_content_int(i,"Admin")); and it's show this:
[16:15:17] Nick_Nick 1 [16:15:17] Nick_Name 2 But when I write /adminlist it shows that they are ON even they are off |
IsPlayerConnectedByName(const name[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
new pNaMe[MAX_PLAYER_NAME];
GetPlayerName(i, pNaMe, sizeof pNaMe);
if(!strcmp(pNaMe, name, false))
{
return true;
}
}
return false;
}
forward AdminList(playerid);
public AdminList(playerid)
{
new info[2048];
if(cache_get_row_count() > 0)
{
for(new row = 0;row<cache_get_row_count();row++)
{
new Nickas[24],AdmID,id;
cache_get_row(row, 0, Nickas);
AdmID = cache_get_row_int(row, 1);
printf("%s %i", Nickas, AdmID);
if(IsPlayerConnectedByName(Nickas))
{
switch(AdmID)
{
case 1:
{
new string[144];
format(string, 144, "{FFFFFF}ON {00FF00}%s\n",Nickas);
strcat(info, string);
}
case 2:
{
new string[144];
format(string, 144, "{FFFFFF}ON {00FF00}%s\n",Nickas);
strcat(info, string);
}
}
}
else
{
switch(AdmID)
{
case 1:
{
new string[144];
format(string, 144, "{FFFFFF}OFF {FF0000}%s\n",Nickas);
strcat(info, string);
}
case 2:
{
new string[144];
format(string, 144, "{FFFFFF}OFF {FF0000}%s\n",Nickas);
strcat(info, string);
}
}
}
}
}
ShowPlayerDialog(playerid, 8, DIALOG_STYLE_MSGBOX, "List", info, "OK", "");
return 1;
}
IsPlayerConnectedByName(const name[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))
continue;
new pNaMe[MAX_PLAYER_NAME];
GetPlayerName(i, pNaMe, sizeof pNaMe);
if(!strcmp(pNaMe, name, false))
{
return true;
}
}
return false;
}