Portal SAMP
[Ajuda] Alguém me ajuda - 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] Alguém me ajuda (/showthread.php?tid=5136)



Alguém me ajuda - zGu1Zin_ - 01/11/2025

Ta dano esses erro como faço pra resolver eu queria colocar  tipo uma mensagem de erro você não tem uma conta registre e tambem erro você já tem uma conta coloca a senha para logar como faço isso
Código:
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
 if(playertextid == LoginRegistro[playerid][2])
 {
    if(DOF2_FileExists(Arquivo(playerid))) 
       new str[500];
       format(str, 500, "Seja Bem Vindo Ao Servido %s \n\n Digite Uma Senha Para Registrar", pName(playerid));
       ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", str, "Comfirmar", "Sair");
 }
 if(playertextid == LoginRegistro[playerid][3])
 {
       if(DOF2_FileExists(Arquivo(playerid)))
       new str[500];
       format(str, 500, "Seja Bem Vindo Novamente %s \n\n Digite Sua Senha Para Logar", pName(playerid));
       ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Login", str, "Comfirmar", "Sair");
 }
 if(playertextid == LoginRegistro[playerid][4])
 {
    for(new i = 0; i < 5; i ++) PlayerTextDrawHide(playerid, LoginRegistr
o[playerid][i]);

Erros:



Citar:D:\Atlas\gamemodes\A.pwn(365) : error 003: declaration of a local variable must appear in a compound block
D:\Atlas\gamemodes\A.pwn(365) : error 017: undefined symbol "str"
D:\Atlas\gamemodes\A.pwn(365) : warning 215: expression has no effect
D:\Atlas\gamemodes\A.pwn(365) : error 001: expected token: ";", but found "]"
D:\Atlas\gamemodes\A.pwn(365) : fatal error 107: too many error messages on one line



RE: Alguém me ajuda - xbruno1000x - 01/11/2025

O problema está nesse trecho abaixo

Código:
if(DOF2_FileExists(Arquivo(playerid)))
       new str[500];
       format(str, 500, "Seja Bem Vindo Ao Servido %s \n\n Digite Uma Senha Para Registrar", pName(playerid));
       ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", str, "Comfirmar", "Sair");

Quando você cria uma if e usa mais de uma linha, deve abrir { e fechar }.

Corrigido:
Código:
if(DOF2_FileExists(Arquivo(playerid)))
    {
       new str[500];
       format(str, 500, "Seja Bem Vindo Ao Servido %s \n\n Digite Uma Senha Para Registrar", pName(playerid));
       ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", str, "Comfirmar", "Sair");
    }


Adicionando as condições para o jogador se registrar e logar:
Código:
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
    if(playertextid == LoginRegistro[playerid][2])
    {
        if(DOF2_FileExists(Arquivo(playerid)))
        {
            new str[500];
            format(str, sizeof(str), "Seja Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar", pName(playerid));
            ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Login", str, "Confirmar", "Sair");
        }
        else
        {
            new str[500];
            format(str, sizeof(str), "Você ainda não tem uma conta, %s!\n\nDigite uma senha para registrar-se.", pName(playerid));
            ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", str, "Registrar", "Cancelar");
        }
    }

    if(playertextid == LoginRegistro[playerid][3])
    {
        if(DOF2_FileExists(Arquivo(playerid)))
        {
            new str[500];
            format(str, sizeof(str), "Bem-vindo de volta %s!\n\nDigite sua senha para logar.", pName(playerid));
            ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Login", str, "Confirmar", "Sair");
        }
        else
        {
            new str[500];
            format(str, sizeof(str), "Você não possui uma conta, %s!\n\nDigite uma senha para registrar-se.", pName(playerid));
            ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", str, "Registrar", "Cancelar");
        }
    }

    if(playertextid == LoginRegistro[playerid][4])
    {
        for(new i = 0; i < 5; i++)
        {
            PlayerTextDrawHide(playerid, LoginRegistro[playerid][i]);
        }
    }
}