[Ajuda] MySql І
#1

Seguinte, ta criando os dados na tabela do MySql, porem a senha vira umas letras e nгo estб carregando..

Fui tentar fazer isso com base nas proprias funзхes do MySql (somente lendo as funзхes.. Foi o JP que me falou ).

OnGameModeInit:
pawn Код:
conexao = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
OnPlayerConnect:
pawn Код:
new query[200];
    format(query, sizeof(query), "SELECT Nome FROM `"USUARIOS"` WHERE Nome = '%s' LIMIT 1", Nome(playerid));
    mysql_function_query(conexao,query,false,#,#);
    mysql_store_result();
    if(mysql_num_rows())
        ShowPlayerDialog(playerid, dRegistro, DIALOG_STYLE_INPUT, "Registrar","Registre-se:","Registrar","Cancelar");
    else
        ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, "Login","Logue-se:","Logar","Cancelar");
OnDialogResponse:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    switch(dialogid) {
        case dLogin: {
            if(!response)
                return Kick(playerid);
            if(response) return CarregarPlayer(playerid,inputtext);
        }
        case dRegistro: {
            if(!response)
                return Kick(playerid);
            if(response) return CriarPlayer(playerid,inputtext);
        }
    }
    return 1;
}
Funзхes:
pawn Код:
CarregarPlayer(playerid,senha[]) {
    new comparar_senha[128],
        carregardados[20],
        query[128];
    format(query, sizeof(query), "SELECT * FROM "USUARIOS" WHERE Nome = '%s' ", Nome(playerid));
    mysql_function_query(conexao,query,false,#,#);
    mysql_fetch_field_row(comparar_senha,"Senha");
    if(!strcmp(senha,comparar_senha,true)) {
        mysql_fetch_field_row(carregardados,"Matou"); MySql_Dados[playerid][pMatou] = strval(carregardados);
        SetPlayerScore(playerid,MySql_Dados[playerid][pMatou]);
    }
    else
    {
        SendClientMessage(playerid, -1, "SERVER: Senha Errada!");
        ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, "Login","Vocк em que logar antes de jogar cara!!","Logar","Cancelar");
    }
    mysql_free_result();
    return 1;
}

CriarPlayer(playerid,senha[]) {
    new query[128];
    format(query, sizeof(query), "INSERT INTO "USUARIOS" (Nome, Senha, Matou) VALUES('%s', '%s', 1)", Nome(playerid), senha);
    mysql_function_query(conexao,query,false,#,#);
    ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, "Login","Vocк em que logar antes de jogar cara!!","Logar","Cancelar");
    return 1;
}

Nome(i) {
    new snd[MAX_PLAYER_NAME];
    GetPlayerName(i, snd, sizeof snd);
    return snd;
}
PS: dLogin e dRegistro estб definido no topo do gm..
Reply
#2

Up :S
Reply
#3

Nгo entendi o seu problema
Reply
#4

Quote:
Originally Posted by Joao Pedro
Посмотреть сообщение
Nгo entendi o seu problema
Modifiquei o onplayerconnect que agora checa se a conta existe e a senha esta salvando corretamente..

Meu problem й que nгo esta carregando o valor matou e hospedando em MySql_Dados[playerid][pMatou]...
pawn Код:
CarregarPlayer(playerid) {
    new carregardados[20],
        query[128];
    format(query, sizeof(query), "SELECT * FROM "USUARIOS" WHERE Nome = '%s'", Nome(playerid));
    mysql_function_query(conexao,query,false,#,#);
   
    mysql_fetch_field_row(carregardados,"Matou"); MySql_Dados[playerid][pMatou] = strval(carregardados);
    SetPlayerScore(playerid,MySql_Dados[playerid][pMatou]);
   
    mysql_free_result();
    return 1;
}
Reply
#5

estб usando qual plugin mysql ?
Reply
#6

Quote:
Originally Posted by [Y]Falcon
Посмотреть сообщение
estб usando qual plugin mysql ?
r7 ...
Reply
#7

essa versгo suporta somente threaded scripts.

pawn Код:
format(queryformat, xxx, "select contaid, statusconta from contas where nickname='%s'", playerdata[playerid][nome]);
mysql_function_query(connectionhandle, queryformat, true, "sql_onplayerConnect", "i", playerid);


forward sql_onplayerConnect(playerid);
public sql_onplayerConnect(playerid)
{
    cache_get_data(numrows, numfields, connectionhandle);
    cache_get_field_content(0, "contaid", queryresult, connectionhandle);         playerdata[playerid][contaid] = strval(queryresult);
    cache_get_field_content(0, "statusconta", queryresult, connectionhandle);     playerdata[playerid][statusconta] = strval(queryresult);
    return 0x01;
}
Reply
#8

Quote:
Originally Posted by [Y]Falcon
Посмотреть сообщение
essa versгo suporta somente threaded scripts.

pawn Код:
format(queryformat, xxx, "select contaid, statusconta from contas where nickname='%s'", playerdata[playerid][nome]);
mysql_function_query(connectionhandle, queryformat, true, "sql_onplayerConnect", "i", playerid);


forward sql_onplayerConnect(playerid);
public sql_onplayerConnect(playerid)
{
    cache_get_data(numrows, numfields, connectionhandle);
    cache_get_field_content(0, "contaid", queryresult, connectionhandle);         playerdata[playerid][contaid] = strval(queryresult);
    cache_get_field_content(0, "statusconta", queryresult, connectionhandle);     playerdata[playerid][statusconta] = strval(queryresult);
    return 0x01;
}
Pode ser mais claro?
Pode fazer uma explicaзгo por cima do meu script?

e outra...

Toda senha ta sendo aceita:
pawn Код:
case dLogin: {
            if(!response)
                return Kick(playerid);
            if(response) {
                new query[200], escapepass[100];
                mysql_real_escape_string(inputtext, escapepass);
                format(query, sizeof(query), "SELECT * FROM "USUARIOS" WHERE Nome = '%s'", Nome(playerid));
                mysql_function_query(conexao, query, true, #, #, #);
                mysql_store_result();
                new numrows = mysql_num_rows();
                if(numrows == 1) CarregarPlayer(playerid);
                if(!numrows) {
                    SendClientMessage(playerid, -1, "SERVER: Senha Errada!");
                    ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, "Login","Vocк em que logar antes de jogar cara!!","Logar","Cancelar");
                }
                mysql_free_result();
            }
        }
Reply
#9

Fiz esse tutorial sobre a versгo r7 do mysql, https://sampforum.blast.hk/showthread.php?tid=356261

Espero que isso o ajude.
Reply
#10

Vlw Bluex resolveu meu problema
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)