[HELP] Problem with a DIALOG!
#1

Hi, I'm having a problem with a DIALOG. I use it as system LOGIN/REGISTER in God Father. When a player register, your password doesn't function. Here the code of DIALOG:
Код:
OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid)) return 1;
	GetPlayerName(playerid, plname, sizeof(plname));
	format(string, sizeof(string), "%s.ini", plname);
	if(fexist(string))
	{
		gPlayerAccount[playerid] = 1;
		new loginstring[128];
		new loginname[64];
		GetPlayerName(playerid,loginname,sizeof(loginname));
		format(loginstring,sizeof(loginstring),"Bemvindo, %s\nEste estб registrado.\nVocк pode logar agora:",loginname);
		ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Logar",loginstring,"Logar","Cancelar");
		PlayerPlaySound(playerid, 1185, 0.0, 0.0, 0.0);
		return 1;
	}
	else
	{
		gPlayerAccount[playerid] = 0;
 		new regstring[128];
		new regname[64];
		GetPlayerName(playerid,regname,sizeof(regname));
		format(regstring,sizeof(regstring),"Bemvindo, %s\nVocк nгo tem uma conta.\nRegistre-se digitando uma senha abaixo:",regname);
		ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrar",regstring,"Registrar","Cancelar");
		PlayerPlaySound(playerid, 1185, 0.0, 0.0, 0.0);
		return 1;
	}
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	new sendername[MAX_PLAYER_NAME];
	new string[128];
	if(response)
	{
		if(dialogid == 12346 || dialogid == 12347)
		{
		  if(strlen(inputtext))
		  {
				new tmppass[64];
				strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
				Encrypt(tmppass);
				OnPlayerLogin(playerid,tmppass);
			}
			else
			{
				new loginstring[128];
				new loginname[64];
				GetPlayerName(playerid,loginname,sizeof(loginname));
				format(loginstring,sizeof(loginstring),"SENHA ERRADA!\nEntre com a senha correta:",loginname);
				ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Logar",loginstring,"Logar","Cancelar");
				gPlayerLogTries[playerid] += 1;
				if(gPlayerLogTries[playerid] == 4) { Ban(playerid); }
			}
		}
		if(dialogid == 12345)
		{
		  if(strlen(inputtext))
		  {
				GetPlayerName(playerid, sendername, sizeof(sendername));
				format(string, sizeof(string), "%s.ini", sendername);
				new File: hFile = fopen(string, io_read);
				if (hFile)
				{
					SendClientMessage(playerid, COLOR_YELLOW, "Este NICK jб estб sendo usado por alguйm, escolha um diferente.");
					fclose(hFile);
					return 1;
				}
				new tmppass[64];
				strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
				Encrypt(tmppass);
				OnPlayerRegister(playerid,tmppass);
			}
			else
			{
 				new regstring[128];
				new regname[64];
				GetPlayerName(playerid,regname,sizeof(regname));
				format(regstring,sizeof(regstring),"Bemvindo, %s\nVocк nгo tem uma conta.\nRegistre-se colocando sua senha abaixo:",regname);
				ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrar",regstring,"Registrar","Cancelar");
			}
		}
	}
	else
	{
		Kick(playerid);
	}
	return 1;
}
Here a Account:

Key=rqpa€‚ЌM
Level=20
AdminLevel=100
DonateRank=2
PontosDeAtualizacao=0
ConnectedTime=0
Registered=1
Sex=1
Age=0

The Correct KEY would be : faustomfc

What could be the bug
Reply
#2

Try this
Код:
OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid)) return 1;
	GetPlayerName(playerid, plname, sizeof(plname));
	format(string, sizeof(string), "%s.ini", plname);
	if(fexist(string))
	{
		gPlayerAccount[playerid] = 1;
		new loginstring[128];
		new loginname[64];
		GetPlayerName(playerid,loginname,sizeof(loginname));
		format(loginstring,sizeof(loginstring),"Bemvindo, %s\nEste estб registrado.\nVocк pode logar agora:",loginname);
		ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Logar",loginstring,"Logar","Cancelar");
		PlayerPlaySound(playerid, 1185, 0.0, 0.0, 0.0);
		return 1;
	}
	else
	{
		gPlayerAccount[playerid] = 0;
 		new regstring[128];
		new regname[64];
		GetPlayerName(playerid,regname,sizeof(regname));
		format(regstring,sizeof(regstring),"Bemvindo, %s\nVocк nгo tem uma conta.\nRegistre-se digitando uma senha abaixo:",regname);
		ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrar",regstring,"Registrar","Cancelar");
		PlayerPlaySound(playerid, 1185, 0.0, 0.0, 0.0);
		return 1;
	}
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	new sendername[MAX_PLAYER_NAME];
	new string[128];
	if(response)
	{
		if(dialogid == 12346 || dialogid == 12347)
		{
		  if(strlen(inputtext))
		  {
				new tmppass[64];
				strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
				//Encrypt(tmppass);
				OnPlayerLogin(playerid,tmppass);
			}
			else
			{
				new loginstring[128];
				new loginname[64];
				GetPlayerName(playerid,loginname,sizeof(loginname));
				format(loginstring,sizeof(loginstring),"SENHA ERRADA!\nEntre com a senha correta:",loginname);
				ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Logar",loginstring,"Logar","Cancelar");
				gPlayerLogTries[playerid] += 1;
				if(gPlayerLogTries[playerid] == 4) { Ban(playerid); }
			}
		}
		if(dialogid == 12345)
		{
		  if(strlen(inputtext))
		  {
				GetPlayerName(playerid, sendername, sizeof(sendername));
				format(string, sizeof(string), "%s.ini", sendername);
				new File: hFile = fopen(string, io_read);
				if (hFile)
				{
					SendClientMessage(playerid, COLOR_YELLOW, "Este NICK jб estб sendo usado por alguйm, escolha um diferente.");
					fclose(hFile);
					return 1;
				}
				new tmppass[64];
				strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
				//Encrypt(tmppass);
				OnPlayerRegister(playerid,tmppass);
			}
			else
			{
 				new regstring[128];
				new regname[64];
				GetPlayerName(playerid,regname,sizeof(regname));
				format(regstring,sizeof(regstring),"Bemvindo, %s\nVocк nгo tem uma conta.\nRegistre-se colocando sua senha abaixo:",regname);
				ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrar",regstring,"Registrar","Cancelar");
			}
		}
	}
	else
	{
		Kick(playerid);
	}
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)