#1

pawn Код:
public OnPlayerConnect(playerid)
{
    new str[128];
    print("MySQL, Accounts System verified");
    format(Query, sizeof(Query), "SELECT * FROM `accounts`", name(playerid));
    mysql_query(Query);
    mysql_store_result();
   
    if (mysql_num_rows() >= 1)
    {
        if (mysql_num_rows() >= 2)
        {
            mysql_free_result();
            format(str, sizeof(str), "[MySQL ERROR]: This name can only be used once | You will need to change your name", name(playerid));
            SendClientMessage(playerid, COLOR_RED, str);
            Kick(playerid);
        }
        else
        {
            mysql_fetch_field_row(PlayerInfo[playerid][pName], "Name");
            mysql_free_result();

            ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Login / Authentication Process", "Hello there.\n\nPlease enter your password to return to the game.", "Login", "Quit");
            SendClientMessage(playerid, COLOR_WHITE, "Your account exists. Please enter your password to proceed.");
        }
    }
    else
    {
        mysql_free_result();
        SendClientMessage(playerid, COLOR_WHITE, "Your account does not yet exist. Enter a password to register one!");
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Registration Process", "Hello there.\n\nPlease enter a password to save your stats.", "Register", "Quit");
    }
    return 1;
}
Could someone help me with this as when I enter a password it just closes the Console.
Reply
#2

pawn Код:
public OnPlayerConnect(playerid)
{
    new str[128];
    print("MySQL, Accounts System verified");
    format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Name`='%s' LIMIT 1", name(playerid));
    mysql_query(Query);
    mysql_store_result();
   
    if (mysql_num_rows() >= 1)
    {
            mysql_fetch_field_row(PlayerInfo[playerid][pName], "Name");
            mysql_free_result();

            ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Login / Authentication Process", "Hello there.\n\nPlease enter your password to return to the game.", "Login", "Quit");
            SendClientMessage(playerid, COLOR_WHITE, "Your account exists. Please enter your password to proceed.");
    }
    else
    {
        mysql_free_result();
        SendClientMessage(playerid, COLOR_WHITE, "Your account does not yet exist. Enter a password to register one!");
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Registration Process", "Hello there.\n\nPlease enter a password to save your stats.", "Register", "Quit");
    }
    return 1;
}
And show me OnDialogResponse.
Reply
#3

Try this:
pawn Код:
public CheckUserName(playerid)
{
    format(Query, sizeof(Query), "SELECT * FROM accounts WHERE username = '%s';", name(playerid));
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows()) return 1;
    return 0;
}

// OnPlayerConnect
public OnPlayerConnect(playerid)
{
    if(!CheckUserName(playerid))
    {
        //Show register dialogs etc..
    }
    else
    {
        // Show login dialogs.
    }
    return 1;
}
Reply
#4

I have not done that part yet, That is next I also think that was the problem
Reply
#5

Quote:
Originally Posted by Cameltoe
Посмотреть сообщение
Try this:
pawn Код:
public CheckUserName(playerid)
{
    format(Query, sizeof(Query), "SELECT * FROM `accounts`", name(playerid));
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows()) return 1;
    return 0;
}

// OnPlayerConnect
public OnPlayerConnect(playerid)
{
    if(!CheckUserName(playerid))
    {
        //Show register dialogs etc..
    }
    else
    {
        // Show login dialogs.
    }
    return 1;
}
Your query formatting is wrong.
Reply
#6

Quote:
Originally Posted by TheXIII
Посмотреть сообщение
Your query formatting is wrong.
Lol, i just copied hes stuff to simplify the whole shit.. didn't notice that the formating is wrong.

Edit:


Quote:
Originally Posted by Cameltoe
Посмотреть сообщение
Try this:
pawn Код:
public CheckUserName(playerid)
{
    format(Query, sizeof(Query), "SELECT * FROM accounts WHERE username = '%s';", name(playerid));
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows()) return 1;
    return 0;
}

// OnPlayerConnect
public OnPlayerConnect(playerid)
{
    if(!CheckUserName(playerid))
    {
        //Show register dialogs etc..
    }
    else
    {
        // Show login dialogs.
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)