Help with Dialog, Strings, and Integers
#1

pawn Code:
dcmd_admins(playerid, params[])
{
    #pragma unused params

    new
        string[256],count,
        pName[MAX_PLAYER_NAME];
    foreach(Player,i)
    {
        if(PlayerInfo[i][level])
            GetPlayerName(i,pName,24);
        else
            continue;

        count++;
        switch(PlayerInfo[i][level])
        {
            case 1:format(string, 60, "Name: %s | Level: 1 [VIP]",pName);
            case 2:format(string, 60, "Name: %s | Level: 2 [MOD]",pName);
            case 3:format(string, 60, "Name: %s | Level: 3 [ADMIN]",pName);
        }
        if(IsPlayerAdmin(i))
            format(string, 60, "Name: %s | Level: 4 [SERVER OWNER]",pName);

        ShowPlayerDialog(playerid, 21, DIALOG_STYLE_MSGBOX, "{FF0000}--- Admins ---", string, "Close","");
    }
    if(count)
        format(string, 128,"Total Online: %d",count);
    else
        return SendClientMessage(playerid,COLOR_BROWN,"There are currently no admins online."),1;

    SendClientMessage(playerid,COLOR_BROWN,string);
    return 1;
}
The command supposedly shows a dialog with the admins online, however I want the integers (count) to be implemented in the dialog without error, so can you help me?
Reply
#2

The only thing I need is the correct coding, so I can learn from it.
Reply
#3

PHP Code:
dcmd_admins(playeridparams[])
{
    
#pragma unused params
    
new string[512], countpName[60];
    for(new 
0MAX_PLAYERS++)
    {
        if(!
PlayerInfo[i][level] || !IsPlayerConnected(i)) continue;
        
GetPlayerName(i,pName,24);
        
count++;
        if(
IsPlayerAdmin(i)) { format(pName60"Name: %s | Level: 4 [SERVER OWNER]",pName); }
        else if(
PlayerInfo[i][level] == 1) { format(pName60"Name: %s | Level: 1 [VIP]",pName); }
        else if(
PlayerInfo[i][level] == 2) { format(pName60"Name: %s | Level: 2 [MOD]",pName); }
        else if(
PlayerInfo[i][level] == 3) { format(pName60"Name: %s | Level: 3 [ADMIN]",pName); }
        
strcat(stringpName);
    }
    
ShowPlayerDialog(playerid21DIALOG_STYLE_MSGBOX"{FF0000}--- Admins ---"string"Close","");
    if(
countformat(string128,"Total Online: %d",count);
    else return 
SendClientMessage(playerid,COLOR_BROWN,"There are currently no admins online."),1;
    
SendClientMessage(playerid,COLOR_BROWN,string);
    return 
1;

Reply
#4

No no, I want the integer, aka this.

pawn Code:
if(count) format(string, 128,"Total Online: %d",count);
    else return SendClientMessage(playerid,COLOR_BROWN,"There are currently no admins online."),1;
    SendClientMessage(playerid,COLOR_BROWN,string);
In the dialog also.
Reply
#5

So no one knows?
Reply
#6

PHP Code:
dcmd_admins(playeridparams[])
{
    
#pragma unused params
    
new string[256], str[64], count,
             
pName[MAX_PLAYER_NAME];
        
    foreach(
Player,i)
    {
        if(
PlayerInfo[i][level]) GetPlayerName(i,pName,24);
        else continue;
        
count++;
        switch(
PlayerInfo[i][level])
        {
            case 
1format(string60"Name: %s | Level: 1 [VIP]",pName);
            case 
2format(string60"Name: %s | Level: 2 [MOD]",pName);
            case 
3format(string60"Name: %s | Level: 3 [ADMIN]",pName);
        }
        if(
IsPlayerAdmin(i))
            
format(string60"Name: %s | Level: 4 [SERVER OWNER]",pName);
    }
    if(
count)
    {
        
format(str64"There are {FF0000}%d {FFFFFF}admins online !"count);
        
strcat(stringstr);
        
ShowPlayerDialog(playerid21DIALOG_STYLE_MSGBOX"{FF0000}--- Admins ---"string"Close","");
    }
    else return 
SendClientMessage(playerid,COLOR_BROWN,"There are currently no admins online.");
    return 
1;

Reply
#7

pawn Code:
dcmd_admins(playerid, params[])
{
    #pragma unused params

    new string[256], finalstring[256], count, pName[MAX_PLAYER_NAME];
    foreach(Player,i)
    {
        if(PlayerInfo[i][level]) GetPlayerName(i,pName,24);
        else continue;

        count++;

        switch(PlayerInfo[i][level]) {
            case 1: { format(string, 60, "Name: %s | Level: 1 [VIP]\n",pName), strcat(finalstring, string); }
            case 2: { format(string, 60, "Name: %s | Level: 2 [MOD]\n",pName), strcat(finalstring, string); }
            case 3: { format(string, 60, "Name: %s | Level: 3 [ADMIN]\n",pName), strcat(finalstring, string); }
        }

        if(IsPlayerAdmin(i)) { format(string, 60, "Name: %s | Level: 4 [SERVER OWNER]\n", pName), strcat(finalstring, string); }
    }

    if(count) { format(string, 40,"Total Online: %d",count), strcat(finalstring, string);
    else return SendClientMessage(playerid,COLOR_BROWN,"There are currently no admins online."),1;

    ShowPlayerDialog(playerid, 21, DIALOG_STYLE_MSGBOX, "{FF0000}--- Admins ---", string, "Close","");
    return 1;
}
Try that.
Reply
#8

pawn Code:
dcmd_admins(playerid, params[])
{
    #pragma unused params

    new
        string[512],count,
        pName[64];
    foreach(Player,i)
    {
        if(PlayerInfo[i][level])
            GetPlayerName(i,pName,24);
        else
            continue;

        count++;
        switch(PlayerInfo[i][level])
        {
            case 1:format(pName, sizeof(pName), "Name: %s | Level: 1 [VIP]",pName);
            case 2:format(pName, sizeof(pName), "Name: %s | Level: 2 [MOD]",pName);
            case 3:format(pName, sizeof(pName), "Name: %s | Level: 3 [ADMIN]",pName);
        }
        if(IsPlayerAdmin(i))
            format(pName, sizeof(pName), "Name: %s | Level: 4 [SERVER OWNER]",pName);
       
        strcat(string, pName); strcat(string, "\n");
    }
    if(count)
        format(pName, sizeof(pName),"Total Online: %d",count);
        strcat(string, pName);
    else
        return SendClientMessage(playerid,COLOR_BROWN,"There are currently no admins online."),1;

    ShowPlayerDialog(playerid, 21, DIALOG_STYLE_MSGBOX, "{FF0000}--- Admins ---", string, "Close","");
    return 1;
}
Reply
#9

My code is the only one so far that actually lists the admins :P
Reply
#10

Quote:
Originally Posted by jameskmonger
View Post
pawn Code:
dcmd_admins(playerid, params[])
{
    #pragma unused params

    new string[256], finalstring[256], count, pName[MAX_PLAYER_NAME];
    foreach(Player,i)
    {
        if(PlayerInfo[i][level]) GetPlayerName(i,pName,24);
        else continue;

        count++;

        switch(PlayerInfo[i][level]) {
            case 1: { format(string, 60, "Name: %s | Level: 1 [VIP]\n",pName), strcat(finalstring, string); }
            case 2: { format(string, 60, "Name: %s | Level: 2 [MOD]\n",pName), strcat(finalstring, string); }
            case 3: { format(string, 60, "Name: %s | Level: 3 [ADMIN]\n",pName), strcat(finalstring, string); }
        }

        if(IsPlayerAdmin(i)) { format(string, 60, "Name: %s | Level: 4 [SERVER OWNER]\n", pName), strcat(finalstring, string); }
    }

    if(count) { format(string, 40,"Total Online: %d",count), strcat(finalstring, string);
    else return SendClientMessage(playerid,COLOR_BROWN,"There are currently no admins online."),1;

    ShowPlayerDialog(playerid, 21, DIALOG_STYLE_MSGBOX, "{FF0000}--- Admins ---", string, "Close","");
    return 1;
}
Try that.
I think your missing a braket, I keep getting the undefined symbols when they are clearly defined/
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)