SA-MP Forums Archive
[AJUDA] Sistema MySQL - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA] Sistema MySQL (/showthread.php?tid=312099)



[AJUDA] Sistema MySQL - marcelodell - 19.01.2012

Boa Noite galera, estou tentando colocar na minha GM um sistema em MySQL, usei o tutorial do Ricop so pra criar o sistema de registro mesmo, mas estou com um pequeno problema mas que nгo consigo resolver!

Esta dando o seguinte erro:

pawn Код:
error 049: invalid line continuation
Segue o codigo com a linha com o problema:

pawn Код:
if(dialogid == 1)
        {
            if(!response)
            {
                return SendClientMessage(playerid, 0xFF0000, "You must login before you spawn!"),
                ShowPlayerDialog(playerid, 15500, DIALOG_STYLE_INPUT, "Login","Vocк em que logar antes de jogar cara!!","Logar","Cancelar");
            }
            if(response) //Clicou em Login
            {
                new query[200], pname[128], escapepass[100]; //
                new numrows = mysql_num_rows();
                GetPlayerName(playerid, pname, 128);
                mysql_real_escape_string(inputtext, escapepass); //Contra HACKERS! (RE: MySQL Injections
                format(query, sizeof(query), "SELECT `Nome` FROM contas WHERE Nome = '%s' AND Senha = SHA1('%s')", pname, escapepass);
                mysql_query(query);
                mysql_store_result();
                if(numrows == 1) MySQL_Login(playerid);
                //senha do jogador e da database sгo iguais/\
                if(!numrows)//ESTA E A LINHA COM O ERRO.
                {
                    //senha errada
                    SendClientMessage(playerid, 0xFF0000, "Senha Incorreta!");
                }
                mysql_free_result(); //LEMBRE-SE DE DAR SEMPRE FREE RESULT PARA LIBERAR O QUERY;
            }
        }
Tentei substituir por Else If e if(numrows == 0) so para ver se funcionava, mas continuou o mesmo erro. Se alguem me ajudar eu ficaria muito agradecido!


Re: [AJUDA] Sistema MySQL - Jason` - 19.01.2012

pawn Код:
if(numrows == 1)
{
    MySQL_Login(playerid);
}
else
{
    SendClientMessage(playerid, 0xFF0000, "Senha Incorreta!");
}
Tenta assim


Re: [AJUDA] Sistema MySQL - marcelodell - 19.01.2012

Continua com o mesmo erro.

@EDIT

Tirei o codigo que estava dando erro so pra testar massss parece que o meu codigo esta endemoniado, mesmo tirando continua dando o mesmo erro na mesma linha '-'. Alguem tem ideia de que pode ser!


Re: [AJUDA] Sistema MySQL - Jason` - 19.01.2012

pawn Код:
if(response) //Clicou em Login
            {
                new query[200], pname[128], escapepass[100]; //
                new numrows = mysql_num_rows();
                GetPlayerName(playerid, pname, 128);
                mysql_real_escape_string(inputtext, escapepass); //Contra HACKERS! (RE: MySQL Injections
                format(query, sizeof(query), "SELECT `Nome` FROM contas WHERE Nome = '%s' AND Senha = SHA1('%s')", pname, escapepass);
                mysql_query(query);
                mysql_store_result();
                if(!numrows)//ESTA E A LINHA COM O ERRO.
                {
                    //senha errada
                    SendClientMessage(playerid, 0xFF0000, "Senha Incorreta!");
                    return 1;
                }
                MySQL_Login(playerid);
                mysql_free_result(); //LEMBRE-SE DE DAR SEMPRE FREE RESULT PARA LIBERAR O QUERY;
            }
        }
Tenta


Re: [AJUDA] Sistema MySQL - marcelodell - 20.01.2012

Pedro, vlw, funcionou, + reputation pra vc ^^. Agora o problema e que o meu Login nao esta funcionando corretamente "NAO ESTA SALVANDO OS DADOS, QUANDO EU CONECTO, EU N ESTOU REGISTRADO, MAS FALA QUE ESTOU, DIGITO QUALQUER SENHA E VOLTA PARA A MESMA DIALOG DE LOGIN DNVO, ACREDITO QUE SEJA FACIL DE RESOLVER "


Re: [AJUDA] Sistema MySQL - Jason` - 20.01.2012

Posta ai a OnPlayerConnect


Re: [AJUDA] Sistema MySQL - marcelodell - 20.01.2012

Esta e a parte da OnPlayerConnect relacionada ao sistema de Login em MySQL e onde eu acredito que esteja o problema:

pawn Код:
format(query,sizeof(query),"SELECT 'Nome' FROM 'contas' WHERE 'Nome' = '%s'",plname);
    mysql_query(query);
    mysql_store_result();
    new rows = mysql_num_rows(); //Iremos getar quantas rows a query retornou.
    if(!rows)
    {
        //Se a rows for 0, nгo encontrou nada

        //Entгo iremos pedir o registro do jogador no banco de dados.
        gPlayerConta[playerid] = 0;
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{FFFF00}Registrar BPR","{33CCFF}******************************************\n{33FF00}Bem Vindo ao [BPR] Brasil Play Roleplay [BPR] \n{33FF00}Sua conta nao esta registrada! \n\n{33FF00}Por favor, registre-se!!\n{33CCFF}******************************************","Registrar","Cancelar");
    }
    if(rows) //SENГO
    {
        //Rows = 1 , existe na database
        //AUTO LOGIN
        GetPlayerName(playerid,plname,sizeof(plname));
        mysql_fetch_field_row(plname,"Nome");
        MySQL_Login(playerid);
        gPlayerConta[playerid] = 0;
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FFFF00}Login BPR", "{33CCFF}******************************************\n{33FF00}Bem Vindo ao [BPR] Brasil Play Roleplay [BPR] \n{33FF00}Sua conta foi Registrada! \n\n{33FF00}Por favor logue na sua conta!!\n{33CCFF}******************************************", "Logar", "Sair");
        pRegistrado[playerid] = 1; //Sets the registered variable to 1 (Shows that the player is registered).
    }
    mysql_free_result();



Re: [AJUDA] Sistema MySQL - Jason` - 20.01.2012

pawn Код:
format(query,sizeof(query),"SELECT * FROM contas WHERE Nome = '%s'",plname);
Tenta colocar isso


Re: [AJUDA] Sistema MySQL - marcelodell - 21.01.2012

Pedro, vlw pela ajuda, de fato era isso ai mesmo. Se eu puder te ajudar em alguma coisa e sу dizer ^^! Estava com alguns outros problemas de salvamento, mas ja resolvi, agora e so mudar parte por parte para salvar em MySQL ^^!


Re: [AJUDA] Sistema MySQL - Ricop522 - 22.01.2012

Sу uma dica
pawn Код:
if(!rows)
    {
        //Se a rows for 0, nгo encontrou nada

        //Entгo iremos pedir o registro do jogador no banco de dados.
        gPlayerConta[playerid] = 0;
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{FFFF00}Registrar BPR","{33CCFF}******************************************\n{33FF00}Bem Vindo ao [BPR] Brasil Play Roleplay [BPR] \n{33FF00}Sua conta nao esta registrada! \n\n{33FF00}Por favor, registre-se!!\n{33CCFF}******************************************","Registrar","Cancelar");
    }
    if(rows) //SENГO
    {
        //Rows = 1 , existe na database
        //AUTO LOGIN
        GetPlayerName(playerid,plname,sizeof(plname));
        mysql_fetch_field_row(plname,"Nome");
        MySQL_Login(playerid);
        gPlayerConta[playerid] = 0;
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FFFF00}Login BPR", "{33CCFF}******************************************\n{33FF00}Bem Vindo ao [BPR] Brasil Play Roleplay [BPR] \n{33FF00}Sua conta foi Registrada! \n\n{33FF00}Por favor logue na sua conta!!\n{33CCFF}******************************************", "Logar", "Sair");
        pRegistrado[playerid] = 1; //Sets the registered variable to 1 (Shows that the player is registered).
    }
Nгo precisa ficar criando new rows = my.. й um new inutil
E nessa parte vocк nao precisa if(!rows) depois usar if(rows) usa else.


RE: senгo = else
if = se
else if = ou se
else = senгo