Error con ShowPlayerDialog
#1

Hola bueno no se que esta mal en el script me podrнan ayudar a solucionarlo

pawn Код:
CMD:admins(playerid,params[])
{
    new fadmins[6000] = "{FF0000}A{FFFFFF}dmins:\n>> {FF0000}[{A4E700}BoT{FF0000}]{FFFFFF}MsC {FF0000}[Nivel: {FFFF00}10{FF0000}]{ffffff}\n", fvips[6000] = "{0000FF}V{FFFFFF}IP's:\n";
    new fadminsno[6000] = "{FF0000}A{FFFFFF}dmins:\n>> {FF0000}[{A4E700}BoT{FF0000}]{FFFFFF}MsC {FF0000}[Nivel: {FFFF00}10{FF0000}]{ffffff}", fvipsno[6000] = "{0000FF}V{FFFFFF}IP's:\n* Nadie";
    new nadmins = 0;
    new nvips = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(Usuario[i][ocultar] == 0)
            {
                new EstadoA2[23];
                if(IsPlayerAdmin(i)) { EstadoA2 = "{00FF00}RcoN"; }
                else if(Usuario[i][pAdmin] == 1) { EstadoA2 = "{A4E700}Moderador"; }
                else if(Usuario[i][pAdmin] == 2 ) { EstadoA2 = "{FF0000}Administrador"; }
                else if(Usuario[i][pAdmin] == 3) { EstadoA2 = "{FF855F}Encargado"; }
                else if(Usuario[i][pAdmin]> 3) { EstadoA2 = "{FF9100}CEO"; }

                if(Usuario[i][pAdmin] >= 1 || IsPlayerAdmin(i))
                {
                    nadmins++;
                    new NombreAdmin[25];
                    GetPlayerName(i, NombreAdmin, sizeof(NombreAdmin));
                    new asd[150];
                    format(asd, sizeof(asd), ">> %s {FF0000}[Nivel: {FFFF00}%d{FF0000}] {ffffff}>> %s {ffffff}<< \n", NombreAdmin,Usuario[i][pAdmin], EstadoA2);
                    strcat(fadmins, asd, sizeof(fadmins));
                }
            }
            if(Usuario[i][ocultar] == 1)
            {
                if(Usuario[i][pAdmin] >= 1 || IsPlayerAdmin(i))
                {

                }
            }
            if(Usuario[i][pVip] > 0)
            {
                nvips++;
                new NombreVIP[25], EstadoV[11];
                GetPlayerName(i, NombreVIP, sizeof(NombreVIP));
                switch(Usuario[i][pVip])
                {
                    case 1: { EstadoV = "Gratis" ;}
                    case 2: { EstadoV = "Oro" ;}
                    case 3: { EstadoV = "Diamante"; }
                }
                new asd[100];
                format(asd, sizeof(asd), "* %s(%d) Cuenta %s\n", NombreVIP, i,Usuario[i][pVip],EstadoV);
                strcat(fvips, asd, sizeof(fvips));
            }
        }
    }
    if(nadmins == 0 && nvips == 0)
    {
        new final[6000];
        format(final, sizeof(final), "%s \n\n%s\n\nHay {FF5F22}%d {FFFFFF}{D8B722} Adminstradores{FFFFFF} y %d {0000FF}V{FFFFFF}IP's conectados\nPara reportar a un usuario usa el comando {FF5F22}/Report{FFFFFF}.", fadminsno,fvipsno,nadmins+1,nvips);
        ShowPlayerDialog(playerid, xD, DIALOG_STYLE_MSGBOX, "            ", final, "cerra", "");
    }
    else if(nadmins == 0 && nvips != 0)
    {
        new final[6000];
        format(final, sizeof(final), "%s \n\n%s\n\nHay {FF5F22}%d {FFFFFF}{D8B722} Adminstradores{FFFFFF} y %d {0000FF}V{FFFFFF}IP's conectados\nPara reportar a un usuario usa el comando {FF5F22}/Report{FFFFFF}.", fadminsno,fvips,nadmins+1,nvips);
        ShowPlayerDialog(playerid, xD, DIALOG_STYLE_MSGBOX, "            ", final, "Cerrar", "");
    }
    else if(nadmins != 0 && nvips == 0)
    {
        new final[6000];
        format(final, sizeof(final), "%s \n\n%s\n\nHay {FF5F22}%d {FFFFFF}{D8B722} Adminstradores{FFFFFF} y %d {0000FF}V{FFFFFF}IP's conectados\nPara reportar a un usuario usa el comando {FF5F22}/Report{FFFFFF}.", fadmins, fvipsno,nadmins+1,nvips);
        ShowPlayerDialog(playerid, 36, DIALOG_STYLE_MSGBOX, "            ", final, "DUDA", "Cerrar");
    }
    else if(nadmins != 0 && nvips != 0)
    {
        new final[6000];
        format(final, sizeof(final), "%s \n\n%s\n\nHay {FF5F22}%d {FFFFFF}{D8B722} Adminstradores{FFFFFF} y %d {0000FF}V{FFFFFF}IP's conectados\nPara reportar a un usuario usa el comando {FF5F22}/Report{FFFFFF}.", fadmins, fvips,nadmins+1,nvips);
        ShowPlayerDialog(playerid, 36, DIALOG_STYLE_MSGBOX, "            ", final, "DUDA", "Cerrar");
        PlayerPlaySound(playerid,1139,0.0,0.0,0.0);
    }
    return 1;
}
EL error es cuando pongo el comando /admins y me vota que el comando no existe pero pongo otro comando que tengo y si andan bien solo este cmd no funciona correctamente
Reply
#2

Fнjate que el dialog que has definido(xD) el numero de dialogo no lo ocupe otro,ponle un largo nъmero menor a 6 dнgitos y prueba.
Reply
#3

Dios, amigo. Todos esos colores me frustran. Descarga foreach [https://sampforum.blast.hk/showthread.php?tid=570868] si no lo tienes.
pawn Код:
#include <foreach>

CMD:admins(playerid, params[])
{
    new string_1[500], string_2[500], string_3[1200], admins, hidden_admins, vips, bool:first_1 = false, bool:first_2 = false;
    foreach(new i: Player)
    {
        if(IsPlayerAdmin(i) || Usuario[i][pAdmin] >= 1)
        {
            if(Usuario[i][ocultar] == 0)
            {
                admins ++;
                if(first_1)
                {
                    format(string_1, sizeof(string_1), "%s\n>> %s [Nivel: %d] >> %s <<", string_1, PlayerName(i), Usuario[i][pAdmin], GetPlayerAdminLevelName(i));
                }
                else
                {
                    format(string_1, sizeof(string_1), ">> %s [Nivel: %d] >> %s <<", PlayerName(i), Usuario[i][pAdmin], GetPlayerAdminLevelName(i));
                    first_1 = true;
                }
            }
            else
            {
                admins ++;
                hidden_admins ++;
            }
        }

        if(Usuario[i][pVip] > 0)
        {
            vips ++;
            if(first_2)
            {
                format(string_2, sizeof(string_2), "%s\n* %s (%d) Cuenta %s\n", string_2, PlayerName(i), i, Usuario[i][pVip], GetPlayerVipLevelName(playerid));
            }
            else
            {
                format(string_2, sizeof(string_2), "* %s (%d) Cuenta %s\n", PlayerName(i), i, Usuario[i][pVip], GetPlayerVipLevelName(playerid));
                first_2 = true;
            }
        }
    }

    if(admins == 0) format(string_3, sizeof(string_3), "Admins en linea:\n%s", string_1);
    else strcat(string_3, "Admins en linea:\nNo hay admins en linea.");

    if(admins == 0) format(string_3, sizeof(string_3), "%s\n\nVIPS en linea:\n%s", string_1, string_2);
    else strcat(string_3, "%s\n\nVIPS en linea:\nNo hay VIPS en linea.", string_1);

    format(string_3, sizeof(string_3), "%s\n\nAdmins: %d, Admins Ocultos: %d, VIPS: %d", string_3, admins, hidden_admins, vips);
   
    if(admins == 0) return ShowPlayerDialog(playerid, xD, DIALOG_STYLE_MSGBOX, "            ", final, "Cerrar", "");
    return ShowPlayerDialog(playerid, 36, DIALOG_STYLE_MSGBOX, "            ", final, "DUDA", "Cerrar");;
}

stock PlayerName(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    return name;
}

stock GetPlayerAdminLevelName(playerid)
{
    new string[14];
    if(IsPlayerAdmin(playerid)) strcat(string, "RCON");
    else if(Usuario[playerid][pAdmin] == 1) strcat(string, "Moderador");
    else if(Usuario[playerid][pAdmin] == 2 ) strcat(string, "Administrador");
    else if(Usuario[playerid][pAdmin] == 3) strcat(string, "Encargado");
    else if(Usuario[playerid][pAdmin] >= 4) strcat(string, "CEO");
    return string;
}

stock GetPlayerVipLevelName(playerid)
{
    new string[9];
    switch(Usuario[playerid][pVip])
    {
        case 1: strcat(string, "Gratis");
        case 2: strcat(string, "Oro");
        case 3: strcat(string, "Diamante");
    }
    return string;
}
Reply
#4

Quote:
Originally Posted by SickAttack
Посмотреть сообщение
Dios, amigo. Todos esos colores me frustran. Descarga foreach [https://sampforum.blast.hk/showthread.php?tid=570868] si no lo tienes.
pawn Код:
#include <foreach>

CMD:admins(playerid, params[])
{
    new string_1[500], string_2[500], string_3[1200], admins, hidden_admins, vips, bool:first_1 = false, bool:first_2 = false;
    foreach(new i: Player)
    {
        if(IsPlayerAdmin(i) || Usuario[i][pAdmin] >= 1)
        {
            if(Usuario[i][ocultar] == 0)
            {
                admins ++;
                if(first_1)
                {
                    format(string_1, sizeof(string_1), "%s\n>> %s [Nivel: %d] >> %s <<", string_1, PlayerName(i), Usuario[i][pAdmin], GetPlayerAdminLevelName(i));
                }
                else
                {
                    format(string_1, sizeof(string_1), ">> %s [Nivel: %d] >> %s <<", PlayerName(i), Usuario[i][pAdmin], GetPlayerAdminLevelName(i));
                    first_1 = true;
                }
            }
            else
            {
                admins ++;
                hidden_admins ++;
            }
        }

        if(Usuario[i][pVip] > 0)
        {
            vips ++;
            if(first_2)
            {
                format(string_2, sizeof(string_2), "%s\n* %s (%d) Cuenta %s\n", string_2, PlayerName(i), i, Usuario[i][pVip], GetPlayerVipLevelName(playerid));
            }
            else
            {
                format(string_2, sizeof(string_2), "* %s (%d) Cuenta %s\n", PlayerName(i), i, Usuario[i][pVip], GetPlayerVipLevelName(playerid));
                first_2 = true;
            }
        }
    }

    if(admins == 0) format(string_3, sizeof(string_3), "Admins en linea:\n%s", string_1);
    else strcat(string_3, "Admins en linea:\nNo hay admins en linea.");

    if(admins == 0) format(string_3, sizeof(string_3), "%s\n\nVIPS en linea:\n%s", string_1, string_2);
    else strcat(string_3, "%s\n\nVIPS en linea:\nNo hay VIPS en linea.", string_1);

    format(string_3, sizeof(string_3), "%s\n\nAdmins: %d, Admins Ocultos: %d, VIPS: %d", string_3, admins, hidden_admins, vips);
   
    if(admins == 0) return ShowPlayerDialog(playerid, xD, DIALOG_STYLE_MSGBOX, "            ", final, "Cerrar", "");
    return ShowPlayerDialog(playerid, 36, DIALOG_STYLE_MSGBOX, "            ", final, "DUDA", "Cerrar");;
}

stock PlayerName(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    return name;
}

stock GetPlayerAdminLevelName(playerid)
{
    new string[14];
    if(IsPlayerAdmin(playerid)) strcat(string, "RCON");
    else if(Usuario[playerid][pAdmin] == 1) strcat(string, "Moderador");
    else if(Usuario[playerid][pAdmin] == 2 ) strcat(string, "Administrador");
    else if(Usuario[playerid][pAdmin] == 3) strcat(string, "Encargado");
    else if(Usuario[playerid][pAdmin] >= 4) strcat(string, "CEO");
    return string;
}

stock GetPlayerVipLevelName(playerid)
{
    new string[9];
    switch(Usuario[playerid][pVip])
    {
        case 1: strcat(string, "Gratis");
        case 2: strcat(string, "Oro");
        case 3: strcat(string, "Diamante");
    }
    return string;
}
Hola y gracias por la optimizacion del script pero me presenta el siguiente error al copilarlo
Reply
#5

Quote:
Originally Posted by jona_jr
Посмотреть сообщение
Hola y gracias por la optimizacion del script pero me presenta el siguiente error al copilarlo
Perdуn por los errores:
pawn Код:
#include <foreach>

CMD:admins(playerid, params[])
{
    new string_1[500], string_2[500], string_3[1200], admins, hidden_admins, vips, bool:first_1 = false, bool:first_2 = false;
    foreach(new i: Player)
    {
        if(IsPlayerAdmin(i) || Usuario[i][pAdmin] >= 1)
        {
            if(Usuario[i][ocultar] == 0)
            {
                admins ++;
                if(first_1)
                {
                    format(string_1, sizeof(string_1), "%s\n>> %s [Nivel: %d] >> %s <<", string_1, PlayerName(i), Usuario[i][pAdmin], GetPlayerAdminLevelName(i));
                }
                else
                {
                    format(string_1, sizeof(string_1), ">> %s [Nivel: %d] >> %s <<", PlayerName(i), Usuario[i][pAdmin], GetPlayerAdminLevelName(i));
                    first_1 = true;
                }
            }
            else
            {
                admins ++;
                hidden_admins ++;
            }
        }

        if(Usuario[i][pVip] > 0)
        {
            vips ++;
            if(first_2)
            {
                format(string_2, sizeof(string_2), "%s\n* %s (%d) Cuenta %s\n", string_2, PlayerName(i), i, Usuario[i][pVip], GetPlayerVipLevelName(playerid));
            }
            else
            {
                format(string_2, sizeof(string_2), "* %s (%d) Cuenta %s\n", PlayerName(i), i, Usuario[i][pVip], GetPlayerVipLevelName(playerid));
                first_2 = true;
            }
        }
    }

    if(admins == 0) format(string_3, sizeof(string_3), "Admins en linea:\n%s", string_1);
    else strcat(string_3, "Admins en linea:\nNo hay admins en linea.");

    if(vips == 0) format(string_3, sizeof(string_3), "%s\n\nVIPS en linea:\n%s", string_1, string_2);
    else strcat(string_3, "%s\n\nVIPS en linea:\nNo hay VIPS en linea.");

    format(string_3, sizeof(string_3), "%s\n\nAdmins: %d, Admins Ocultos: %d, VIPS: %d", string_3, admins, hidden_admins, vips);
   
    if(admins == 0 || vips == 0) return ShowPlayerDialog(playerid, xD, DIALOG_STYLE_MSGBOX, "            ", final, "Cerrar", "");
    return ShowPlayerDialog(playerid, 36, DIALOG_STYLE_MSGBOX, "            ", final, "DUDA", "Cerrar");
}

stock PlayerName(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    return name;
}

stock GetPlayerAdminLevelName(playerid)
{
    new string[14];
    if(IsPlayerAdmin(playerid)) strcat(string, "RCON");
    else if(Usuario[playerid][pAdmin] == 1) strcat(string, "Moderador");
    else if(Usuario[playerid][pAdmin] == 2 ) strcat(string, "Administrador");
    else if(Usuario[playerid][pAdmin] == 3) strcat(string, "Encargado");
    else if(Usuario[playerid][pAdmin] >= 4) strcat(string, "CEO");
    return string;
}

stock GetPlayerVipLevelName(playerid)
{
    new string[9];
    switch(Usuario[playerid][pVip])
    {
        case 1: strcat(string, "Gratis");
        case 2: strcat(string, "Oro");
        case 3: strcat(string, "Diamante");
    }
    return string;
}
Reply
#6

Quote:
Originally Posted by SickAttack
Посмотреть сообщение
Perdуn por los errores:
pawn Код:
#include <foreach>

CMD:admins(playerid, params[])
{
    new string_1[500], string_2[500], string_3[1200], admins, hidden_admins, vips, bool:first_1 = false, bool:first_2 = false;
    foreach(new i: Player)
    {
        if(IsPlayerAdmin(i) || Usuario[i][pAdmin] >= 1)
        {
            if(Usuario[i][ocultar] == 0)
            {
                admins ++;
                if(first_1)
                {
                    format(string_1, sizeof(string_1), "%s\n>> %s [Nivel: %d] >> %s <<", string_1, PlayerName(i), Usuario[i][pAdmin], GetPlayerAdminLevelName(i));
                }
                else
                {
                    format(string_1, sizeof(string_1), ">> %s [Nivel: %d] >> %s <<", PlayerName(i), Usuario[i][pAdmin], GetPlayerAdminLevelName(i));
                    first_1 = true;
                }
            }
            else
            {
                admins ++;
                hidden_admins ++;
            }
        }

        if(Usuario[i][pVip] > 0)
        {
            vips ++;
            if(first_2)
            {
                format(string_2, sizeof(string_2), "%s\n* %s (%d) Cuenta %s\n", string_2, PlayerName(i), i, Usuario[i][pVip], GetPlayerVipLevelName(playerid));
            }
            else
            {
                format(string_2, sizeof(string_2), "* %s (%d) Cuenta %s\n", PlayerName(i), i, Usuario[i][pVip], GetPlayerVipLevelName(playerid));
                first_2 = true;
            }
        }
    }

    if(admins == 0) format(string_3, sizeof(string_3), "Admins en linea:\n%s", string_1);
    else strcat(string_3, "Admins en linea:\nNo hay admins en linea.");

    if(vips == 0) format(string_3, sizeof(string_3), "%s\n\nVIPS en linea:\n%s", string_1, string_2);
    else strcat(string_3, "%s\n\nVIPS en linea:\nNo hay VIPS en linea.");

    format(string_3, sizeof(string_3), "%s\n\nAdmins: %d, Admins Ocultos: %d, VIPS: %d", string_3, admins, hidden_admins, vips);
   
    if(admins == 0 || vips == 0) return ShowPlayerDialog(playerid, xD, DIALOG_STYLE_MSGBOX, "            ", final, "Cerrar", "");
    return ShowPlayerDialog(playerid, 36, DIALOG_STYLE_MSGBOX, "            ", final, "DUDA", "Cerrar");
}

stock PlayerName(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    return name;
}

stock GetPlayerAdminLevelName(playerid)
{
    new string[14];
    if(IsPlayerAdmin(playerid)) strcat(string, "RCON");
    else if(Usuario[playerid][pAdmin] == 1) strcat(string, "Moderador");
    else if(Usuario[playerid][pAdmin] == 2 ) strcat(string, "Administrador");
    else if(Usuario[playerid][pAdmin] == 3) strcat(string, "Encargado");
    else if(Usuario[playerid][pAdmin] >= 4) strcat(string, "CEO");
    return string;
}

stock GetPlayerVipLevelName(playerid)
{
    new string[9];
    switch(Usuario[playerid][pVip])
    {
        case 1: strcat(string, "Gratis");
        case 2: strcat(string, "Oro");
        case 3: strcat(string, "Diamante");
    }
    return string;
}
Bueno tambien tienes un error aqui en el "final" seria "string_3"
pawn Код:
if(admins == 0 || vips == 0) return ShowPlayerDialog(playerid, xD, DIALOG_STYLE_MSGBOX, "            ", final, "Cerrar", "");
    return ShowPlayerDialog(playerid, 36, DIALOG_STYLE_MSGBOX, "            ", final, "DUDA", "Cerrar");
Gracias ahora copila bien solo me falta probarlo aver que tal quedo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)