MySQL R7 - Transformation[HELP]
#1

Hi guys! I need some help to transform my mysql script into mysql R7 I need just 1 example of transformation to understand

pawn Код:
// (Get User Account Info)
    new userquery[256];
    PlayerInfo[ playerid ][ Logged ] = 0;
    format(userquery, sizeof(userquery), "SELECT `Name` FROM `users` WHERE `Name` = '%s' LIMIT 1", PlayerName2(playerid));
    mysql_query(userquery);
    mysql_store_result();
    new rows = mysql_num_rows();
    if(!rows)
    {
        new rstring[256];
        format(rstring,256,""W"Welcome "YE"%s"W", on "R"Stunt "YE"Evolution\n\n"W"Please "G"Register"W" to save your stats: "COL_ORANGE"Score,Money,Coins...", PlayerName2(playerid));
        ShowPlayerDialog(playerid,RegisterDialog,DIALOG_STYLE_PASSWORD,""R"#1 "W"Register Account",rstring,"(Register)","(Quit)");
    }
    else
    {
        SCM:(playerid, ~1," ");
        SCM:(playerid, ~1,""R"SERVER"W": Please "G"login "W"on server "NAME_S" "O""VERSION_S"");
        Info(playerid, "~w~Account ~g~~h~Registered ~w~please ~r~~h~login");
        PlayerInfo[playerid][Registered] = 1;
    }
    mysql_free_result(); // Free

AND

pawn Код:
stock MySQL_Login(playerid)
{
    PlayerInfo[playerid][Logged] = 1;
    new query[300], savingstring[256], logstring[256], email[256], desc1[256], desc2[256], desc3[256];
    format(query, sizeof(query), "SELECT * FROM `users` WHERE `Name` = '%s'", PlayerName2(playerid));
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row_format(query,"|"))
    {
        mysql_fetch_field_row(savingstring, "Score"); PlayerInfo[playerid][Score] =  strval(savingstring);
        mysql_fetch_field_row(savingstring, "Coins"); PlayerInfo[playerid][Coins] =  strval(savingstring);
        mysql_fetch_field_row(savingstring, "Money");PlayerInfo[playerid][Money] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Skin"); PlayerInfo[playerid][Skin] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Kills"); PlayerInfo[playerid][Kills] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Deaths"); PlayerInfo[playerid][Deaths] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Sadmin"); PlayerInfo[playerid][Sadmin] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Admin"); PlayerInfo[playerid][Admin] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Vip"); pVipInfo[playerid][Vip] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "DriftPoints"); PlayerInfo[playerid][DriftPoints] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "RacePoints"); PlayerInfo[playerid][RacePoints] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "StuntPoints"); PlayerInfo[playerid][StuntPoints] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "SumoPoints"); PlayerInfo[playerid][StuntPoints] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Hours"); PlayerInfo[playerid][Hours] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Min"); PlayerInfo[playerid][Min] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Sec"); PlayerInfo[playerid][Sec] = strval(savingstring);
        // (Load E-Mail)
        mysql_fetch_field_row(savingstring, "Email"); email = savingstring;
        format( PlayerInfo[ playerid ][ Email ], 256, email);
        mysql_fetch_field_row(savingstring, "Description1"); desc1 = savingstring;
        format( PlayerInfo[ playerid ][ Description1 ], 512, desc1);
        mysql_fetch_field_row(savingstring, "Description2"); desc2 = savingstring;
        format( PlayerInfo[ playerid ][ Description2 ], 512, desc2);
        mysql_fetch_field_row(savingstring, "Description3"); desc3 = savingstring;
        format( PlayerInfo[ playerid ][ Description3 ], 512, desc3);
        GivePlayerMoney(playerid, PlayerInfo[playerid][Money]);
        SetPlayerScore(playerid, PlayerInfo[playerid][Score]);
        SetPlayerSkin(playerid, PlayerInfo[playerid][Skin]);
    }
    mysql_free_result();
    format(query, sizeof(query), "UPDATE `users` SET `Visits` = %d, `Online` = %d WHERE `Name` = '%s'", GetPlayerVisits(playerid) + 1, 1, PlayerName2(playerid));
    mysql_query(query);
    SavePlayerIP(playerid);
    PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
    Info(playerid,"You are now ~g~~h~Logged In~w~~h~!");
    format(logstring,sizeof(logstring),"{00FF40}SERVER: "W"Welcome, "R"%s! "W"You are now {00FF40}Logged In!",PlayerName2(playerid));
    SendClientMessage(playerid, ~1, logstring);
    return ( 1 );
}
Reply
#2

Ok not sure if this works without errors, because I didn't test it.
pawn Код:
// (Get User Account Info)
    new userquery[256];
    PlayerInfo[ playerid ][ Logged ] = 0;
    format(userquery,sizeof(userquery),"SELECT `Name` FROM `users` WHERE `Name` = '%s' LIMIT 1", PlayerName2(playerid));
    mysql_function_query(userquery, true, "AccountExist", "i", playerid);

// Put this callback somewhere 
foward AccountExist(playerid);
public AccountExist(playerid)
{
    new rows, fields;
    cache_get_data(rows, fields);
    if(!rows)
    {
        new rstring[256];
        format(rstring,256,""W"Welcome "YE"%s"W", on "R"Stunt "YE"Evolution\n\n"W"Please "G"Register"W" to save your stats: "COL_ORANGE"Score,Money,Coins...", PlayerName2(playerid));
        ShowPlayerDialog(playerid,RegisterDialog,DIALOG_STYLE_PASSWORD,""R"#1 "W"Register Account",rstring,"(Register)","(Quit)");
    }
    else
    {
        SCM:(playerid, ~1," ");
        SCM:(playerid, ~1,""R"SERVER"W": Please "G"login "W"on server "NAME_S" "O""VERSION_S"");
        Info(playerid, "~w~Account ~g~~h~Registered ~w~please ~r~~h~login");
        PlayerInfo[playerid][Registered] = 1;
    }
    return 1;
}

stock MySQL_Login(playerid)
{
    new userquery[300];
    format(userquery,sizeof(userquery),"SELECT * FROM `users` WHERE `Name` = '%s'", PlayerName2(playerid));
    mysql_function_query(userquery, true, "AccountLogin", "i", playerid);
    return 1;
}

   
foward AccountLogin(playerid);
public AccountLogin(playerid)
{
    new rows, fields,data[26];
    cache_get_data(rows, fields);
    if(!rows)
    {
        cache_get_field_content(0, "Score", data),  PlayerInfo[playerid][Score] = strval(data); // example integer
        cache_get_field_content(0, "Email", PlayerInfo[ playerid ][ Email ]); // example string
        // Here everything that should happend after login.
        new logstring[128];
        PlayerInfo[playerid][Logged] = 1;
        SavePlayerIP(playerid);
        PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
        Info(playerid,"You are now ~g~~h~Logged In~w~~h~!");
        format(logstring,sizeof(logstring),"{00FF40}SERVER: "W"Welcome, "R"%s! "W"You are now {00FF40}Logged In!",PlayerName2(playerid));
        SendClientMessage(playerid, ~1, logstring);
    }
    else
    {
        //query failed
    }
    return 1;
}
Reply
#3

Thx but on AccountLogin(playerid) should be if(rows) :P not (!rows)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)