public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOGIN)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""#COLORT_WHITE"» "#COLOR_TITLE_DIALOG"Logar:", ""COLORT_WHITE"Bem - vindo(a) ao servidor "#COLORT_TEAL"War Rio Oficial.\n"#COLORT_WHITE"Vocк jб й "#COLORT_YELLOW"registrado "#COLORT_WHITE"no servidor, digite sua senha para logar:", "Confirmar", "Cancelar");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
Player[playerid][Password] = DOF2_GetInt(PegarConta(playerid), "Senha");
if(strval(inputtext) == Player[playerid][Password])
{
SCM(playerid, COLOR_TEAL, ""TAG_SERVE" Logado com sucesso.");
TogglePlayerSpectating(playerid, false);
Player[playerid][pLogged] = true;
SetPlayerSkin(playerid, Player[playerid][Skin]);
StopAudioStreamForPlayer(playerid);
SpawnPlayer(playerid);
Carregar_Conta(playerid);
if(Player[playerid][pLogged] == true)
{
}
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""#COLORT_WHITE"» "#COLOR_TITLE_DIALOG"Logar:", ""COLORT_WHITE"Bem - vindo(a) ao servidor "#COLORT_TEAL"War Rio Oficial.\n"#COLORT_WHITE"Vocк jб й "#COLORT_YELLOW"registrado "#COLORT_WHITE"no servidor, digite sua senha para logar:", "Confirmar", "Cancelar");
}
}
}
else if(dialogid == DIALOG_REGISTER)
{
if(response)
{
if(strlen(inputtext) < 5)
return SCM(playerid, COLOR_RED, ""TAG_ERRO" Senha invбlida (somente 6 а 25 dнgitos)."), ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""#COLORT_WHITE"» "#COLOR_TITLE_DIALOG"Registro:", ""COLORT_WHITE"Bem - vindo(a) ao servidor "#COLORT_YELLOW"War Rio Oficial.\n"#COLORT_WHITE"Й sua primeira vez aqui, digite sua senha para "#COLORT_RED"registrar "#COLORT_WHITE"sua conta:", "Confirmar", "Cancelar");
format(Player[playerid][Password], 80, "%s", inputtext);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""#COLORT_WHITE"» "#COLOR_TITLE_DIALOG"Logar:", ""COLORT_WHITE"Bem - vindo(a) ao servidor "#COLORT_TEAL"War Rio Oficial.\n"#COLORT_WHITE"Vocк jб й "#COLORT_YELLOW"registrado "#COLORT_WHITE"no servidor, digite sua senha para logar:", "Confirmar", "Cancelar");
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
Player[playerid][Password] = strlen(inputtext);
DOF2_CreateFile(PegarConta(playerid));
DOF2_SetString(PegarConta(playerid),"Senha",inputtext);
//
GivePlayerMoney(playerid,50000);
Registrar_Conta(playerid);
//
SendClientMessage(playerid, COLOR_TEAL, ""TAG_INFO" Sua Conta foi Registrada!");
ShowPlayerDialog(playerid, DIALOG_MORROS, DIALOG_STYLE_LIST, "Escolha sua comunidade para continuar:", ""#COLORT_RED"CMD\n"#COLORT_BLUE"LLL\n"#COLORT_YELLOW"TD3\n"#COLORT_ORANGE"MLC\n"#COLORT_GREY"Organizaзхes", "Confirmar", "");
}
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOGIN) {
if(!response) return Kick(playerid);
if(strlen(inputtext) < 5 || strlen(inputtext) > 25) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""#COLORT_WHITE"» "#COLOR_TITLE_DIALOG"Logar:", ""COLORT_WHITE"Bem - vindo(a) ao servidor "#COLORT_TEAL"War Rio Oficial.\n"#COLORT_WHITE"Vocк jб й "#COLORT_YELLOW"registrado "#COLORT_WHITE"no servidor, digite sua senha para logar:", "Confirmar", "Cancelar");
if(strcmp(inputtext, DOF2_GetString(PegarConta(playerid), "Senha"))) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""#COLORT_WHITE"» "#COLOR_TITLE_DIALOG"Logar:", ""COLORT_WHITE"Bem - vindo(a) ao servidor "#COLORT_TEAL"War Rio Oficial.\n"#COLORT_WHITE"Vocк jб й "#COLORT_YELLOW"registrado "#COLORT_WHITE"no servidor, digite sua senha para logar:", "Confirmar", "Cancelar");
SCM(playerid, COLOR_TEAL, ""TAG_SERVE" Logado com sucesso.");
TogglePlayerSpectating(playerid, false);
Player[playerid][pLogged] = true;
SetPlayerSkin(playerid, Player[playerid][Skin]);
StopAudioStreamForPlayer(playerid);
SpawnPlayer(playerid);
Carregar_Conta(playerid);
}
if(dialogid == DIALOG_REGISTER) {
if(!response) return 1;
if(strlen(inputtext) < 5 || strlen(inputtext) > 25) return SCM(playerid, COLOR_RED, ""TAG_ERRO" Senha invбlida (somente 6 а 25 dнgitos)."), ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""#COLORT_WHITE"» "#COLOR_TITLE_DIALOG"Registro:", ""COLORT_WHITE"Bem - vindo(a) ao servidor "#COLORT_YELLOW"War Rio Oficial.\n"#COLORT_WHITE"Й sua primeira vez aqui, digite sua senha para "#COLORT_RED"registrar "#COLORT_WHITE"sua conta:", "Confirmar", "Cancelar");
format(Player[playerid][Password], 80, "%s", inputtext);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""#COLORT_WHITE"» "#COLOR_TITLE_DIALOG"Logar:", ""COLORT_WHITE"Bem - vindo(a) ao servidor "#COLORT_TEAL"War Rio Oficial.\n"#COLORT_WHITE"Vocк jб й "#COLORT_YELLOW"registrado "#COLORT_WHITE"no servidor, digite sua senha para logar:", "Confirmar", "Cancelar");
Player[playerid][Password] = strlen(inputtext);
DOF2_CreateFile(PegarConta(playerid));
DOF2_SetString(PegarConta(playerid),"Senha",inputtext);
//
GivePlayerMoney(playerid,50000);
Registrar_Conta(playerid);
//
SendClientMessage(playerid, COLOR_TEAL, ""TAG_INFO" Sua Conta foi Registrada!");
ShowPlayerDialog(playerid, DIALOG_MORROS, DIALOG_STYLE_LIST, "Escolha sua comunidade para continuar:", ""#COLORT_RED"CMD\n"#COLORT_BLUE"LLL\n"#COLORT_YELLOW"TD3\n"#COLORT_ORANGE"MLC\n"#COLORT_GREY"Organizaзхes", "Confirmar", "");
}
}
teste para ver se foi corrigido:
PHP код:
|
if(strcmp(inputtext, DOF2_GetString(PegarConta(playerid), "Senha"), true) == 0)
Player[playerid][Password] = DOF2_GetInt(PegarConta(playerid), "Senha");
if(strval(inputtext) == Player[playerid][Password])
Player[playerid][Password] = DOF2_GetString(PegarConta(playerid), "Senha");
if(strval(inputtext) == Player[playerid][Password])
static stock PegarConta(playerid)
{
static Arquivo[2000]; format(Arquivo, sizeof(Arquivo), "Contas/%s.ini", Nome(playerid));
return Arquivo;
}
Deu certinho rs. aproveitando o tуpico tipo quando o player coloca a senha errada a dialog volta novamente na tela eu queria colocar uma SendClientMessage pra fala que ele errou a senha alguйm pode me dizer como
|
SendClientMessage(playerid, COLOR_TEAL, ""TAG_INFO" Senha incorreta!");
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""#COLORT_WHITE"» "#COLOR_TITLE_DIALOG"Logar:", ""COLORT_WHITE"Bem - vindo(a) ao servidor "#COLORT_TEAL"War Rio Oficial.\n"#COLORT_WHITE"Vocк jб й "#COLORT_YELLOW"registrado "#COLORT_WHITE"no servidor, digite sua senha para logar:", "Confirmar", "Cancelar");