Help me Login / Register system
#1

Hello I have a problem with logging in, if I signed up after the 2nd time I enter the account says that the password is wrong ..

Код:
stock ShowMainMenuDialog(playerid, frame)
{
	new titlestring[64];
	new string[256];
	switch(frame)
	{
		case 1: // login
		{
			format(titlestring, sizeof(titlestring), "{FFFFFF}.:- {3399FF}Retard Gamers Drifters - {FFFFFF}Login -:.");
			format(string, sizeof(string), "{FFFFFF}Akun ini sudah terdaftar, silahkan login dengan mengetikkan {40FF00}password{ffffff} Anda di bawah ini, \nAnda memiliki {40FF00}tiga kesempatan{ffffff} untuk memasukkan password yang benar - jika tidak Anda akan ditendang");
			ShowPlayerDialog(playerid,MAINMENU,DIALOG_STYLE_PASSWORD,titlestring,string,"Login","Exit");
		}
		case 2: // register
		{
			format(titlestring, sizeof(titlestring), "{FFFFFF}.:- {3399FF}Retard Gamers Drifters - {FFFFFF}Register -:.");
			format(string, sizeof(string), "{FFFFFF}Akun ini tidak terdaftar, silahkan register dengan mengetikkan {FF0000}password{ffffff} yang Anda inginkan di bawah ini!:");
			ShowPlayerDialog(playerid,MAINMENU2,DIALOG_STYLE_PASSWORD,titlestring,string,"Register","Exit");
		}
		case 3: // fail login
		{
			format(titlestring, sizeof(titlestring), "{FFFFFF}.:- {3399FF}Retard Gamers Drifters - {FFFFFF}Login -:.");
			format(string, sizeof(string), "{FFFFFF}Akun ini sudah terdaftar, silahkan login dengan mengetikkan {40FF00}password{ffffff} Anda di bawah ini, \nAnda memiliki {40FF00}tiga kesempatan{ffffff} untuk memasukkan password yang benar - jika tidak Anda akan ditendang ({FF0000} Warning %d/3)", gPlayerFailLogin[playerid]);
			ShowPlayerDialog(playerid,MAINMENU,DIALOG_STYLE_PASSWORD,titlestring,string,"Login","Exit");
		}
	}
}

public OnPlayerConnect(playerid)
{
	if(doesAccountExist(playername))
	{
		ShowMainMenuDialog(playerid, 1);
	}
	else
	{
		if(strfind( playername, "server", true) != -1 || strfind( playername, "memek", true) != -1 || strfind( playername, "kontol", true) != -1 || strfind( playername, "cacad", true) != -1
		|| strfind( playername, "jamban", true) != -1 || strfind( playername, "asu", true) != -1 || strfind( playername, "admin", true) != -1 || strfind( playername, "admin", true) != -1
		|| strfind( playername, "ngentot", true) != -1 || strfind( playername, "cabe", true) != -1 )
		{
			SCME(playerid, COLOR_GREY, "SERVER: Pada nama anda terdeteksi kata yang dilarang memasuki server.");
		}
		else
		{
			ShowMainMenuDialog(playerid, 2);
		}
	}
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == MAINMENU || dialogid == MAINMENU2)
	{
		if(dialogid == MAINMENU)
		{
			if( response == 0 )
			{
				SCME(playerid, COLOR_RED, "SERVER: You have been kicked out automatically.");
				Kick(playerid);
			}
			else
			{
				if(strlen(inputtext))
				{
					new tmppass[64];
					strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
					Encrypt(tmppass);
					OnPlayerLoginExe(playerid,tmppass); // tmppass
				}
				else
				{
					if(gPlayerFailLogin[playerid] == 2) { SendClientMessage(playerid, COLOR_WHITE, "Wrong password, you have been kicked out automatically."); Kick(playerid); }
					ShowMainMenuDialog(playerid, 1);
				}
			}
		}
		if(dialogid == MAINMENU2)
		{
			if(strlen(inputtext))
			{
				new sendername[MAX_PLAYER_NAME];
				GetPlayerName(playerid, sendername, sizeof(sendername));
				if(doesAccountExist(sendername))
				{
					SCME(playerid, COLOR_YELLOW, "That username is already taken, please choose a different one.");
					return 1;
				}
				new tmppass[64];
				strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
				Encrypt(tmppass);
				OnPlayerRegisterEx(playerid,tmppass);
			}
		}
	}
	return 1;
}
forward OnPlayerRegisterEx(playerid, password[]);
public OnPlayerRegisterEx(playerid, password[])
{
	if(IsPlayerConnected(playerid))
	{
		new string3[32];
		new playername3[MAX_PLAYER_NAME];
		GetPlayerName(playerid, playername3, sizeof(playername3));
		format(string3, sizeof(string3), "users/%s.ini", playername3);
		new File:hFile = fopen(string3, io_write);
		if (hFile)
		{
			strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
			// so long, i not copy
			fclose(hFile);
		}
	}
	return 1;
}
forward OnPlayerLoginExe(playerid,password[]);
public OnPlayerLoginExe(playerid,password[])
{
    new string[512], playername2[MAX_PLAYER_NAME];
	
	GetPlayerName(playerid, playername2, sizeof(playername2));
	format(string, sizeof(string), "users/%s.ini", playername2);
	
	new File:UserFile = fopen(string, io_read);
	if(UserFile)
	{
		new PassData[256];
		new keytmp[256], valtmp[256];
		fread(UserFile , PassData , sizeof(PassData));
		keytmp = ini_GetKey(PassData);
		if(strcmp(keytmp, "Key", true ) == 0 )
		{
			valtmp = ini_GetValue(PassData);
			strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
		}
   		if(strfind(PlayerInfo[playerid][pKey], "\r", true) != -1)
   		{
   		    format(string, sizeof(string), "Warning: \\r found in player %s's password.  Removing now. Password Before: %s", GetPlayerNameEx(playerid), PlayerInfo[playerid][pKey]);
			Log("logs/password.log", string);
			new pos = strfind( PlayerInfo[playerid][pKey], "\r", true);
   		    strdel(PlayerInfo[playerid][pKey], pos, pos+2);
   		    format(string, sizeof(string), "%s's Password After: %s  (Note these passwords are encrypted)", GetPlayerNameEx(playerid), PlayerInfo[playerid][pKey]);
			Log("logs/password.log", string);
		}
		if(strcmp(PlayerInfo[playerid][pKey],password,true) == 0) // i think ! this error :(
		{
			new key[ 256 ] , val[ 256 ];
			new Data[ 256 ];
			while(fread(UserFile , Data , sizeof(Data)))
			{
				key = ini_GetKey(Data);
				// soo long ~ i not copy 
			}
			fclose(UserFile);
		}
		else
		{
			ShowMainMenuDialog(playerid, 3);
			gPlayerFailLogin[playerid] += 1;
			if(gPlayerFailLogin[playerid] == 2) { SendClientMessage(playerid, COLOR_WHITE, "Wrong password, you have been kicked out automatically."); Kick(playerid); }
			return 1;
		}
		gPlayerLogin[playerid] = 1;
		SpawnPlayer(playerid);
	}
	return 1;
}
thanks before i need your help
Reply
#2

bump! help plis
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)