Portal SAMP
[Ajuda] Comando para ver senha - 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 para ver senha (/showthread.php?tid=3868)



Comando para ver senha - hope2023 - 02/08/2023

Rapaziada, queria uma ajuda aqui, tentei de todas as formas fazer esse comando funcionar, mas não consigo...
O máximo que eu consegui foi fazer ele reconhecer que eu estou digitando o comando /versenhaoff sem digitar o nick da pessoa e depois com o nick, porém quando coloco o nick, ele não consegue ler a linha da senha do jogador.

Esse é o código do comando: 
Código:
    CMD:versenhaoff(playerid, params[])
    {
        if(PlayerInfo[playerid][pAdmin] >= 1342)
        {
            new target[24];
            if(sscanf(params, "s[24]", target))
            {
                SendClientMessage(playerid, COR_OBS, "Use: /versenhaoff [Nick]");
                return 1;
            }
           
            new senha[128];
            format(senha, sizeof(senha), "Contas/%s.ini", target);

            if(DOF2_FileExists(senha))
            {
                new senha_lida[128];
                DOF2_GetString(senha, "Senha", senha_lida);

                if(strlen(senha_lida) > 0)
                {
                    new senha_msg[128];
                    format(senha_msg, sizeof(senha_msg), "A senha do jogador %s é: %s", target, senha_lida);
                    SendClientMessage(playerid, COR_OBS, senha_msg);
                }
                else
                {
                    SendClientMessage(playerid, COR_OBS, "Senha não encontrada para o jogador especificado.");
                }
            }
            else
            {
                SendClientMessage(playerid, COR_OBS, "Jogador não encontrado.");
            }
        }
        else
        {
            SendClientMessage(playerid, COR_SERVIDOR, "ERRO: Você não está autorizado a usar este comando.");
        }
        return 1;
    }

Ah, um detalhe, quando o jogador se registra no servidor, na conta dele que fica na pasta Contas, gera uma linha escrito "Senha =" e a senha do jogador na frente... como faço pra esse comando ler essa senha e me retornar num SendClientMessage?


RE: Comando para ver senha - MarcosBrazz - 02/08/2023

Para usar DOF2_GetString, você precisa formatar uma string com a função:

Errado:
Código:
new senha_lida[128];
DOF2_GetString(senha, "Senha", senha_lida);

Certo:
Código:
new senha_lida[128];
format(senha_lida, sizeof(senha_lida), "%s", DOF2_GetString(senha, "Senha"));



RE: Comando para ver senha - hope2023 - 02/08/2023

(02/08/2023 18:49)MarcosBrazz Escreveu: Para usar DOF2_GetString, você precisa formatar uma string com a função:

Errado:
Código:
new senha_lida[128];
DOF2_GetString(senha, "Senha", senha_lida);

Certo:
Código:
new senha_lida[128];
format(senha_lida, sizeof(senha_lida), "%s", DOF2_GetString(senha, "Senha"));

Muito obrigado, funcionou aqui, porém, existe alguma maneira de eu colocar para que não veja a senha de algumas contas especificas? Por exemplo, se a conta tiver o nick "fulano", o comando não pode ser usado


RE: Comando para ver senha - xbruno1000x - 02/08/2023

Tente assim:
Código:
    if(!strcmp(target, "fulano", true))
        return SendClientMessage(playerid, 0xFF000090, "Você não pode ver a senha desse usuário!"



RE: Comando para ver senha - hope2023 - 02/08/2023

opa mano, obrigado, eu já consegui aqui, mas agradeço mesmo assim <3