Portal SAMP
[Ajuda] comando /mascarados - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] comando /mascarados (/showthread.php?tid=1443)



comando /mascarados - Rev - 23/07/2021

Olá, alguém pode me dizer como coloco um return no comando de ver mascarados?

Quando tem alguém de mascara no servidor, ele mostra corretamente, mas quando não tem alguém usando mascara, ele não retorna nada no comando, gostaria que retornasse pelo menos uma mensagem, "Não há alguém usando mascaras no servidor"

Código PHP:
CMD:mascarados(playeridparams[])
{
    if (!
CheckAdmin(playeridADMIN_LEVEL_1))    return SendClientMessageEx(playeridCOLOR_LIGHTRED"ERRO:{FFFFFF} Você não pode usar este comando.");
    
    new 
mask_string[1024];
    
mask_string[0] = EOS;

    foreach(new 
Player)
    {
        if (!
IsPlayerLogged(i) || !maskOn{i}) continue;
        
format(mask_stringsizeof(mask_string), "{FFFFFF}%s%s - %s [ID: %i]\n"mask_stringGetNameWithMask(i), GetNameEx(i), i); 
    }

    
Dialog_Show(playeridNoneDIALOG_STYLE_MSGBOX"{FFFFFF}Jogadores mascarados"mask_string">>>""");
    return 
1;




RE: comando /mascarados - Lightz/Conta nova - 23/07/2021

(23/07/2021 18:04)Rev Escreveu: Olá, alguém pode me dizer como coloco um return no comando de ver mascarados?

Quando tem alguém de mascara no servidor, ele mostra corretamente, mas quando não tem alguém usando mascara, ele não retorna nada no comando, gostaria que retornasse pelo menos uma mensagem, "Não há alguém usando mascaras no servidor"

Código PHP:
CMD:mascarados(playeridparams[])
{
    if (!
CheckAdmin(playeridADMIN_LEVEL_1))    return SendClientMessageEx(playeridCOLOR_LIGHTRED"ERRO:{FFFFFF} Você não pode usar este comando.");
    
    new 
mask_string[1024];
    
mask_string[0] = EOS;

    foreach(new 
Player)
    {
        if (!
IsPlayerLogged(i) || !maskOn{i}) continue;
        
format(mask_stringsizeof(mask_string), "{FFFFFF}%s%s - %s [ID: %i]\n"mask_stringGetNameWithMask(i), GetNameEx(i), i); 
    }

    
Dialog_Show(playeridNoneDIALOG_STYLE_MSGBOX"{FFFFFF}Jogadores mascarados"mask_string">>>""");
    return 
1;


Tente assim: 

Código PHP:
CMD:mascarados(playeridparams[])
{
    if (!
CheckAdmin(playeridADMIN_LEVEL_1))    return SendClientMessageEx(playeridCOLOR_LIGHTRED"ERRO:{FFFFFF} Você não pode usar este comando.");
    
    new 
mask_string[1024];
    
mask_string[0] = EOS;

    foreach(new 
Player)
    {
        if (!
IsPlayerLogged(i) || !maskOn{i}) continue;
        
format(mask_stringsizeof(mask_string), "{FFFFFF}%s%s - %s [ID: %i]\n"mask_stringGetNameWithMask(i), GetNameEx(i), i); 
    }
        else
        {
            
SendClientMessage(playeridVermelho"[ERRO]: Não há alguém usando mascaras no servidor.");

        }
    
Dialog_Show(playeridNoneDIALOG_STYLE_MSGBOX"{FFFFFF}Jogadores mascarados"mask_string">>>""");
    return 
1;




RE: comando /mascarados - zBL4CK - 23/07/2021

Código PHP:
CMD:mascarados(playeridparams[])
{
    if (!CheckAdmin(playeridADMIN_LEVEL_1))    return SendClientMessageEx(playeridCOLOR_LIGHTRED"ERRO:{FFFFFF} Você não pode usar este comando.");
    new mask_string[1024];
    mask_string[0] = EOS;
    foreach(new Player)
    {
        if (!IsPlayerLogged(i) || !maskOn{i}) { 
            continue;
            format(mask_stringsizeof(mask_string), "{FFFFFF}%s%s - %s [ID: %i]\n"mask_stringGetNameWithMask(i), GetNameEx(i), i); 
        }    
        else return Dialog_Show(playeridNoneDIALOG_STYLE_MSGBOX"{FFFFFF}Jogadores mascarados""[ERRO]: Não há alguém usando mascaras no servidor."">>>""");
    }    
    Dialog_Show(playeridNoneDIALOG_STYLE_MSGBOX"{FFFFFF}Jogadores mascarados"mask_string">>>""");
    return 1;

ou melhor assim


RE: comando /mascarados - Rev - 23/07/2021

(23/07/2021 19:52)zBL4CK Escreveu:
Código PHP:
CMD:mascarados(playeridparams[])
{
    if (!CheckAdmin(playeridADMIN_LEVEL_1))    return SendClientMessageEx(playeridCOLOR_LIGHTRED"ERRO:{FFFFFF} Você não pode usar este comando.");
    new mask_string[1024];
    mask_string[0] = EOS;
    foreach(new Player)
    {
        if (!IsPlayerLogged(i) || !maskOn{i}) { 
            continue;
            format(mask_stringsizeof(mask_string), "{FFFFFF}%s%s - %s [ID: %i]\n"mask_stringGetNameWithMask(i), GetNameEx(i), i); 
        }    
        else return Dialog_Show(playeridNoneDIALOG_STYLE_MSGBOX"{FFFFFF}Jogadores mascarados""[ERRO]: Não há alguém usando mascaras no servidor."">>>""");
    }    
    Dialog_Show(playeridNoneDIALOG_STYLE_MSGBOX"{FFFFFF}Jogadores mascarados"mask_string">>>""");
    return 1;

ou melhor assim

deu isso: admin1_cmd.inc(287) : warning 225: unreachable code

e foi nessa linha: else return Dialog_Show(playerid, None, DIALOG_STYLE_MSGBOX, "{FFFFFF}Jogadores mascarados", "[ERRO]: Não há alguém usando mascaras no servidor.", ">>>", "");


RE: comando /mascarados - xbruno1000x - 23/07/2021

Código:
CMD:mascarados(playerid, params[])
{
    if (!CheckAdmin(playerid, ADMIN_LEVEL_1))    return SendClientMessageEx(playerid, COLOR_LIGHTRED, "ERRO:{FFFFFF} Você não pode usar este comando.");

    new mask_string[1024];
    mask_string[0] = EOS;

    foreach(new i : Player)
    {
        if(IsPlayerLogged(i) || maskOn{i})
        {
        format(mask_string, sizeof(mask_string), "{FFFFFF}%s%s - %s [ID: %i]\n", mask_string, GetNameWithMask(i), GetNameEx(i), i);
        }else{
format(mask_string, sizeof(mask_string), "{FFFFFF}Não há jogadores mascarados no momento!\n");
break;
}
    }

    Dialog_Show(playerid, None, DIALOG_STYLE_MSGBOX, "{FFFFFF}Jogadores mascarados", mask_string, ">>>", "");
    return 1;
}

Tente assim.


RE: comando /mascarados - Rev - 24/07/2021

(23/07/2021 23:35)xbruno1000x Escreveu:
Código:
CMD:mascarados(playerid, params[])
{
    if (!CheckAdmin(playerid, ADMIN_LEVEL_1))    return SendClientMessageEx(playerid, COLOR_LIGHTRED, "ERRO:{FFFFFF} Você não pode usar este comando.");

    new mask_string[1024];
    mask_string[0] = EOS;

    foreach(new i : Player)
    {
        if(IsPlayerLogged(i) || maskOn{i})
        {
        format(mask_string, sizeof(mask_string), "{FFFFFF}%s%s - %s [ID: %i]\n", mask_string, GetNameWithMask(i), GetNameEx(i), i);
        }else{
format(mask_string, sizeof(mask_string), "{FFFFFF}Não há jogadores mascarados no momento!\n");
break;
}
    }

    Dialog_Show(playerid, None, DIALOG_STYLE_MSGBOX, "{FFFFFF}Jogadores mascarados", mask_string, ">>>", "");
    return 1;
}

Tente assim.

Assim a pessoa com ou sem mascara aparece o nome na dialog.


RE: comando /mascarados - xbruno1000x - 24/07/2021

(24/07/2021 00:10)Rev Escreveu:
(23/07/2021 23:35)xbruno1000x Escreveu:
Código:
CMD:mascarados(playerid, params[])
{
    if (!CheckAdmin(playerid, ADMIN_LEVEL_1))    return SendClientMessageEx(playerid, COLOR_LIGHTRED, "ERRO:{FFFFFF} Você não pode usar este comando.");

    new mask_string[1024];
    mask_string[0] = EOS;

    foreach(new i : Player)
    {
        if(IsPlayerLogged(i) || maskOn{i})
        {
        format(mask_string, sizeof(mask_string), "{FFFFFF}%s%s - %s [ID: %i]\n", mask_string, GetNameWithMask(i), GetNameEx(i), i);
        }else{
format(mask_string, sizeof(mask_string), "{FFFFFF}Não há jogadores mascarados no momento!\n");
break;
}
    }

    Dialog_Show(playerid, None, DIALOG_STYLE_MSGBOX, "{FFFFFF}Jogadores mascarados", mask_string, ">>>", "");
    return 1;
}

Tente assim.

Assim a pessoa com ou sem mascara aparece o nome na dialog.

Altere a if conforme desejar. Eu apenas não compreendi a lógica que foi utilizada, pois se o player não estiver logado irá retornar true.

if(!IsPlayerLogged(i)) = Se(o player não está logado(ID))

Provavelmente assim verifique corretamente.
Código:
if(IsPlayerLogged(i) && maskOn{i})



RE: comando /mascarados - Rev - 24/07/2021

(24/07/2021 15:06)xbruno1000x Escreveu:
(24/07/2021 00:10)Rev Escreveu:
(23/07/2021 23:35)xbruno1000x Escreveu:
Código:
CMD:mascarados(playerid, params[])
{
    if (!CheckAdmin(playerid, ADMIN_LEVEL_1))    return SendClientMessageEx(playerid, COLOR_LIGHTRED, "ERRO:{FFFFFF} Você não pode usar este comando.");

    new mask_string[1024];
    mask_string[0] = EOS;

    foreach(new i : Player)
    {
        if(IsPlayerLogged(i) || maskOn{i})
        {
        format(mask_string, sizeof(mask_string), "{FFFFFF}%s%s - %s [ID: %i]\n", mask_string, GetNameWithMask(i), GetNameEx(i), i);
        }else{
format(mask_string, sizeof(mask_string), "{FFFFFF}Não há jogadores mascarados no momento!\n");
break;
}
    }

    Dialog_Show(playerid, None, DIALOG_STYLE_MSGBOX, "{FFFFFF}Jogadores mascarados", mask_string, ">>>", "");
    return 1;
}

Tente assim.

Assim a pessoa com ou sem mascara aparece o nome na dialog.

Altere a if conforme desejar. Eu apenas não compreendi a lógica que foi utilizada, pois se o player não estiver logado irá retornar true.

if(!IsPlayerLogged(i)) = Se(o player não está logado(ID))

Provavelmente assim verifique corretamente.
Código:
if(IsPlayerLogged(i) && maskOn{i})

Agora sim funcionou, obrigado a todos.