17.02.2012, 16:47
'Sup y'all?
I made a loop, which checks how many times the player entered an incorrect password! If it reaches 3, the player will be automatically kicked! But it doesn't work, unfortunately, there is always written: "Wrong password, 2 login-attempts left!". It won't count down until 1 and then after the third time kick the player! What am I doing wrong?
I made a loop, which checks how many times the player entered an incorrect password! If it reaches 3, the player will be automatically kicked! But it doesn't work, unfortunately, there is always written: "Wrong password, 2 login-attempts left!". It won't count down until 1 and then after the third time kick the player! What am I doing wrong?
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
switch(dialogid)
{
case DIALOG_REGISTER:
{
if(!response)
return Kick(playerid);
if(response)
{
if(!strlen(inputtext))
return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""WHITE"Registering...",""RED"You have entered an invalid password.\n"WHITE"Type your password below to register a new account.","Register","Quit");
if(INI_Open(getINI(playerid)))
{
INI_WriteString("Password",inputtext);
INI_WriteInt("Cash", 0);
INI_WriteInt("Admin", 0);
INI_WriteInt("FirstTime", 0);
INI_WriteInt("Skin", 0);
INI_WriteInt("Score", 0);
INI_WriteInt("Kills", 0);
INI_WriteInt("Deaths", 0);
INI_Save();
INI_Close();
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""WHITE"Login",""WHITE"Type your password below to login.","Login","Quit");
}
}
} case DIALOG_LOGIN:
{
if(!response)
return Kick ( playerid );
if(response)
{
if(!strlen(inputtext))
return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""WHITE"Login",""RED"You have entered an invalid password.\n"WHITE"Type your password below to login.","Login","Quit");
if(INI_Open(getINI(playerid)))
{
INI_ReadString(PlayerInfo[playerid][pPass],"Password",20);
if(strcmp(inputtext,PlayerInfo[playerid][pPass],false)) {
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""WHITE"Login",""RED"You have entered an incorrect password.\n"WHITE"Type your password below to login.","Login","Quit");
for(new i = 0; i < MAX_LOGIN_ATTEMPTS; i++)
{
if(IsPlayerConnected(i) == 1)
{
SendClientMessage(playerid,COLOR_RED,"Wrong password, 2 login-attempts left!");
}
else if(IsPlayerConnected(i) == 2)
{
SendClientMessage(playerid,COLOR_RED,"Wrong password, 1 login-attempt left!");
}
else if(IsPlayerConnected(i) == 3)
{
Kick(playerid);
}
}
}
else {
SendClientMessage(playerid,TEAM_GROVE_COLOR,"You have successfully logged in! Welcome back, homie!");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
GivePlayerMoney( playerid, INI_ReadInt( "Cash" ) );
PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
PlayerInfo[playerid][pKills] = INI_ReadInt("Kills");
PlayerInfo[playerid][pDeaths] = INI_ReadInt("Deaths");
gFirstTimeHasJoined[playerid] = INI_ReadInt("FirstTime");
gPlayerSkinForEver[playerid] = INI_ReadInt("Skin");
SetPlayerScore( playerid, INI_ReadInt( "Score" ) );
INI_Close();
}
}
}
}
return 1;
}