SA-MP Forums Archive
how to add auto rename if player account login faild - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: how to add auto rename if player account login faild (/showthread.php?tid=529364)



how to add auto rename if player account login faild - satafinix - 02.08.2014

Hi guys, please anyone know how add this: if a player use a wrong account name (an Already registered account ) he dident kicked after 3/3 failed login's he got autorename exemple SkulleR4561 after that new register..ect

Thanks



Re: how to add auto rename if player account login faild - [NWA]Hannes - 02.08.2014

First you need to define a new dialog ID for the "name change" dialog, put this at your defines.
pawn Код:
#define DIALOG_CHANGENAME 30680
You can put any ID that you're not using really.

Then you need to declare a variabel for the amount of failed logins, I suggest putting it near your other global variables.
pawn Код:
new FailedLogins[MAX_PLAYERS];
Then you need to reset it when the player logs on.
pawn Код:
//Under OnPlayerConnect
FailedLogins[playerid] = 0;
Then you need to increase the value each time the player fails to log in, and also check if the player has below or three failed logins.
Put this where the player fails to log in
pawn Код:
if(FailedLogins[playerid] >= 0 && FailedLogins[playerid] <= 2)
{
    FailedLogins[playerid] ++;
}
This is to increase the amount of the failed logins variable every time the player fails to log in, you'd also need to add a check to see if the player has three failed logins, and if they do show them a dialog for changing their name.
pawn Код:
else if(FailedLogins[playerid] == 3)
{
    ShowPlayerDialog(playerid, DIALOG_CHANGENAME, DIALOG_STYLE_INPUT, "Change name", "This name is already registered, and you have 3/3 failed login attempts.\nPlease enter a new name for your account below.", "Submit", "Quit");
}
Then you need to handle this dialog under OnDialogResponse, put something equal to this under there.
pawn Код:
//OnDialogResponseif(dialogid == DIALOG_CHANGENAME)
{
    switch(SetPlayerName(playerid, inputtext))
    {
        case -1: ShowPlayerDialog(playerid, DIALOG_CHANGENAME, DIALOG_STYLE_INPUT, "Change name", "Your name must be 3-24 characters long and only contain valid characters (0-9, a-z, A-Z, [], (), $ @ . _ and = only)\nPlease enter a new name for your account below.", "Submit", "Quit"); //Could not change the name
        case 0: ShowPlayerDialog(playerid, DIALOG_CHANGENAME, DIALOG_STYLE_INPUT, "Change name", "You're already known as this name.\nPlease enter a new name for your account below.", "Submit", "Quit"); //Player already has this name
        case 1: OnPlayerConnect(playerid); //The name was changed, call OnPlayerConnect again to register the new player.
}

Yeah something like that, you'd have to tweak everything for yourself for it to work with your script though.


Re: how to add auto rename if player account login faild - satafinix - 02.08.2014

thanks, that's give me some error and an other idea !


Re: how to add auto rename if player account login faild - Affan - 02.08.2014

> Make a fail password system
> If the user failed x times you defined, show the rename dialog
> When the player clicks "change" after inputting a name, check whether the name is already taken or not
> Set player's name to the input
> Show player register dialog


Re: how to add auto rename if player account login faild - satafinix - 05.08.2014

Thanks Guys ^^