[Ajuda] Erro em login com DOF2
#1

Seguinte, eu tenho um sistema de registro e login feito em Dialogs e DOF2, ao se registrar sу sгo aceitos nъmeros na caixa de texto, digamos que o usuбrio tenha se cadastrado com a senha 123. Na hora de logar, quando eu coloco a senha 123j ou 123jj ou 123a ou 123 acompanhado de uma ou duas letras, funciona normalmente o login.

Segue ai minha funзгo OnDialogResponse que contйm o login e o registro:

Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == DIALOG_REGISTRO)
	{
	    if(!response) return Kick(playerid);
	    if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FF0000}REGISTRO", "Bem-vindo ao servidor.\nPara se registrar digite uma senha abaixo\n{FF0000}OBS: Somente nъmeros sгo aceitos", "Confirmar", "Cancelar");
	    else
	    {
	        DOF2_CreateFile(Jogadores(playerid));
			Player[playerid][Senha] = strval(inputtext);
			GivePlayerMoney(playerid, 10000);
			SalvarDados(playerid);
			ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}LOGIN", "Bem-vindo novamente ao servidor.\nPara se logar digite a sua senha abaixo", "Confirmar", "Cancelar");
	    }
	}
	
	else if(dialogid == DIALOG_LOGIN)
	{
	    if(!response) return Kick(playerid);
	    else
	    {
			Player[playerid][Senha] = DOF2_GetInt(Jogadores(playerid), "Senha");
	        if(strval(inputtext) == Player[playerid][Senha])
	        {
	            GivePlayerMoney(playerid, DOF2_GetInt(Jogadores(playerid), "Dinheiro"));
	            SetPlayerScore(playerid, DOF2_GetInt(Jogadores(playerid), "Score"));
	        }
	        else
	        {
	            return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}LOGIN", "Bem-vindo novamente ao servidor.\nPara se logar digite a sua senha abaixo\n{FF0000}*Senha incorreta!!!", "Confirmar", "Cancelar");
	        }
	    }
	}
	return 1;
}
ENCONTREI O ERRO, OBRIGADO!
Reply
#2

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_REGISTRO)
    {
        if(!response) return Kick(playerid);
        if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FF0000}REGISTRO", "Bem-vindo ao servidor.\nPara se registrar digite uma senha abaixo\n{FF0000}OBS: Somente nъmeros sгo aceitos", "Confirmar", "Cancelar");
        else
        {
            DOF2_CreateFile(Jogadores(playerid));
            Player[playerid][Senha] = strval(inputtext);
            GivePlayerMoney(playerid, 10000);
            SalvarDados(playerid);
            ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}LOGIN", "Bem-vindo novamente ao servidor.\nPara se logar digite a sua senha abaixo", "Confirmar", "Cancelar");
        }
    }
    else if(dialogid == DIALOG_LOGIN)
    {
        if(!response) return Kick(playerid);
        else
        {
            if(!strcmp(inputtext, DOF2_GetInt(Jogadores(playerid), "Senha"), false))
            {
                GivePlayerMoney(playerid, DOF2_GetInt(Jogadores(playerid), "Dinheiro"));
                SetPlayerScore(playerid, DOF2_GetInt(Jogadores(playerid), "Score"));
            }
            else
            {
                return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}LOGIN", "Bem-vindo novamente ao servidor.\nPara se logar digite a sua senha abaixo\n{FF0000}*Senha incorreta!!!", "Confirmar", "Cancelar");
            }
        }
    }
    return true;
}
Tenta ai
Reply
#3

Deu error 035: argument type mismatch (argument 2) na linha que vocк modificou
Reply
#4

Quote:
Originally Posted by SouLMito
Посмотреть сообщение
Deu error 035: argument type mismatch (argument 2) na linha que vocк modificou
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_REGISTRO)
    {
        if(!response) return Kick(playerid);
        if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FF0000}REGISTRO", "Bem-vindo ao servidor.\nPara se registrar digite uma senha abaixo\n{FF0000}OBS: Somente nъmeros sгo aceitos", "Confirmar", "Cancelar");
        else
        {
            DOF2_CreateFile(Jogadores(playerid));
            Player[playerid][Senha] = strval(inputtext);
            GivePlayerMoney(playerid, 10000);
            SalvarDados(playerid);
            ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}LOGIN", "Bem-vindo novamente ao servidor.\nPara se logar digite a sua senha abaixo", "Confirmar", "Cancelar");
        }
    }
    else if(dialogid == DIALOG_LOGIN)
    {
        if(!response) return Kick(playerid);
        else
        {
            if(!strcmp(inputtext, DOF2_GetString(Jogadores(playerid), "Senha"), false))
            {
                GivePlayerMoney(playerid, DOF2_GetInt(Jogadores(playerid), "Dinheiro"));
                SetPlayerScore(playerid, DOF2_GetInt(Jogadores(playerid), "Score"));
            }
            else
            {
                return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}LOGIN", "Bem-vindo novamente ao servidor.\nPara se logar digite a sua senha abaixo\n{FF0000}*Senha incorreta!!!", "Confirmar", "Cancelar");
            }
        }
    }
    return true;
}
Quando vocк for salvar a senha, salve como DOF2_SetString e carregar use DOF2_GetString
Reply
#5

Mais eu sу quero aceitar nъmeros.
Reply
#6

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_REGISTRO)
    {
        if(!response) return Kick(playerid);
        if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FF0000}REGISTRO", "Bem-vindo ao servidor.\nPara se registrar digite uma senha abaixo\n{FF0000}OBS: Somente nъmeros sгo aceitos", "Confirmar", "Cancelar");
        else
        {
            DOF2_CreateFile(Jogadores(playerid));
            Player[playerid][Senha] = strval(inputtext);
            GivePlayerMoney(playerid, 10000);
            SalvarDados(playerid);
            ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}LOGIN", "Bem-vindo novamente ao servidor.\nPara se logar digite a sua senha abaixo", "Confirmar", "Cancelar");
        }
    }
    else if(dialogid == DIALOG_LOGIN)
    {
        if(!response) return Kick(playerid);
        else
        {
            Player[playerid][Senha] = DOF2_GetInt(Jogadores(playerid), "Senha");
            if(!strcmp(inputtext, Player[playerid][Senha], false))
            {
                GivePlayerMoney(playerid, DOF2_GetInt(Jogadores(playerid), "Dinheiro"));
                SetPlayerScore(playerid, DOF2_GetInt(Jogadores(playerid), "Score"));
            }
            else
            {
                return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FF0000}LOGIN", "Bem-vindo novamente ao servidor.\nPara se logar digite a sua senha abaixo\n{FF0000}*Senha incorreta!!!", "Confirmar", "Cancelar");
            }
        }
    }
    return true;
}
Tente agora
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)