SA-MP Forums Archive
[Ajuda] DOF2::CheckLogin(file,"Senha") - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] DOF2::CheckLogin(file,"Senha") (/showthread.php?tid=529113)



DOF2::CheckLogin(file,"Senha") - Marlon307 - 31.07.2014

Код:
                //senhaacc = DOF2::CheckLogin(file,"Senha");
				if(strcmp(Criptografar(inputtext), senhaacc, true) == 0)
				{
					CarregarDados(playerid);
                    GameTextForPlayer(playerid,"~g~Logado Com sucesso...", 1000, 5);
					SetSpawnInfo(playerid, DOF2::GetInt(file, "Skin"), 0, DOF2::GetInt(PegarConta(playerid), "CasaX"), DOF2::GetInt(PegarConta(playerid), "CasaY"), DOF2::GetInt(PegarConta(playerid), "CasaZ"), 269.15, 0, 0, 0, 0, 0, 0);
					SpawnPlayer(playerid);
					TogglePlayerSpectating(playerid, false);
					MensagensLogado(playerid);
				}
                else
                {
                  //Mensagens de Erro
                }
Como faзo para usar o "senhaacc = DOF2::CheckLogin(file,"Senha");" sem da erro.

lina: error: 033: array must be indexed (variable "senhaacc")


Re: DOF2::CheckLogin(file,"Senha") - MultiKill - 31.07.2014

pawn Код:
format(senhaacc,sizeof senhaacc, "%s", DOF2::CheckLogin(file,"Senha"));



Re: DOF2::CheckLogin(file,"Senha") - Marlon307 - 31.07.2014

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
pawn Код:
format(senhaacc,sizeof senhaacc, "%s", DOF2::CheckLogin(file,"Senha"));
Sу que na hora de verificar o LOGIN se a pessoa digitar errado ela loga com a senha errada


Re: DOF2::CheckLogin(file,"Senha") - MultiKill - 31.07.2014

Antes nгo acontecia?
Poste o cуdigo.


Re: DOF2::CheckLogin(file,"Senha") - Marlon307 - 31.07.2014

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
Antes nгo acontecia?
Poste o cуdigo.
esse e o cуdigo:
Код:
case DIALOG_LOGIN:
		{
            new file[123];
            format(file, sizeof(file), PASTA_CONTAS, GetName(playerid));
            if(response)
			{
				if(!strlen(inputtext))
				{
					format(STRX, sizeof(STRX), "{FFFF00}Bem vindo ao {00FF00}Brasil Cidade Livre,{8000FF} %s.,Ip %s", GetName(playerid), getIp(playerid));
					return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{F5F5F5}Login", STRX, "Logar", "Sair");
				}
				//senhaacc = DOF2::GetString(file, "Senha");
                format(senhaacc,sizeof(senhaacc), senhaacc, DOF2::CheckLogin(file,"Senha"));
                //senhaacc = DOF2::CheckLogin(file,"Senha");
				if(strcmp(Criptografar(inputtext), senhaacc, true) == 0)
				{
					CarregarDados(playerid);
                    GameTextForPlayer(playerid,"~g~Logado Com sucesso...", 1000, 5);
					SetSpawnInfo(playerid, DOF2::GetInt(file, "Skin"), 0, DOF2::GetInt(file, "CasaX"), DOF2::GetInt(file, "CasaY"), DOF2::GetInt(file, "CasaZ"), 269.15, 0, 0, 0, 0, 0, 0);
					SpawnPlayer(playerid);
					TogglePlayerSpectating(playerid, false);
					MensagensLogado(playerid);
				}
                else
                {
					if(SenhaErrada[playerid] == 3)
					{
						format(STRX, sizeof(STRX), "O(A) jogador(a) %s foi kickado(a) pelo Admin-BOT. Motivo: Errou a senha 3 vezes.", GetName(playerid));
						SendClientMessageToAll(Amarelo, STRX);
						KickLog(STRX);
						Kick(playerid);
					}
					else if(SenhaErrada[playerid] < 3)
					{
						SenhaErrada[playerid] ++;
						format(STRX, sizeof(STRX), "{FFFF00}Bem vindo ao {00FF00}Brasil Cidade Livre,{8000FF} %s\n{FF0000}Senha Incorreta", GetName(playerid), getIp(playerid));
						ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{F5F5F5}Login", STRX, "Logar", "Sair");
                    }
                }
			}//



Re: DOF2::CheckLogin(file,"Senha") - MultiKill - 31.07.2014

Troque:
pawn Код:
format(senhaacc,sizeof senhaacc, "%s", DOF2::CheckLogin(file,"Senha"));
Por:
pawn Код:
format(senhaacc,sizeof(senhaacc), senhaacc, DOF2::GetString(file, "Senha"));



Re: DOF2::CheckLogin(file,"Senha") - Marlon307 - 31.07.2014

Continua aceitando senha errada.


Re: DOF2::CheckLogin(file,"Senha") - ViniBorn - 31.07.2014

Vocк salva a senha criptografada ou normal?


Re: DOF2::CheckLogin(file,"Senha") - Marlon307 - 31.07.2014

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Vocк salva a senha criptografada ou normal?
Criptografada


Re: DOF2::CheckLogin(file,"Senha") - Marlon307 - 31.07.2014

Esse e o criptografado que eu uso
Код:
Criptografar(pass[])//Criptografador
{
	static charset[] = "qwertyaQWERTYUIOPZXCVBNMLKJHGFDSAsdfghzxcvbnuiopjklm1324657809_";
	static css = 63;
	new target[MAX_SENHA_LOG + 1];
	new	j = strlen(pass);
	new sum = j;
	new	tmpp = 0;
	new	i;
	new	modw;
	for (i = 0; i < MAX_SENHA_LOG || i < j; i++)
	{
		modw = i % MAX_SENHA_LOG;
		tmpp = (i >= j) ? charset[(7 * i) % css] : pass[i];
		sum = (sum + chrfind(tmpp, charset) + 1)		% css;
		target[modw] = charset[(sum + target[modw])	% css];
	}
	target[MAX_SENHA_LOG] = '\0';
	return target;
}


stock chrfind(needle, haystack[], start = 0)
{
	while(haystack[start])
	{
		if(haystack[start++] == needle)
		{
			return start-1;
		}
	}
	return -1;
}