Cara, obrigado pela ajuda, eu sei que ficou imenso e nem um pouco econфmico, mas funcionou e acho que й isso que importa. segue a public inteira.
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new arquivo[40], nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, 32);
format(arquivo, 40, "contas/%s.ini", nome);
if(dialogid == DIALOG_REGISTRO)
{
if(!response)
{
Kick(playerid);
return 1;
}
else
{
if(!strlen(inputtext) || strlen(inputtext) < 3 || strlen(inputtext) > 20)
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", "Vocк digitou sua muito curta ou comprida!\nTente uma entre 3 e 20 caracteres!", "Confirma", "Cancelar");
return 1;
}
else
{
DOF2_CreateFile(arquivo);
DOF2_SetString(arquivo, "senha", inputtext);
DOF2_SetInt(arquivo, "morreu", Player[playerid][morreu]);
DOF2_SetInt(arquivo, "matou", Player[playerid][matou]);
DOF2_SetInt(arquivo, "dinheiro", Player[playerid][dinheiro]);
DOF2_SetInt(arquivo, "level", Player[playerid][level]);
DOF2_SaveFile();
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Cadastro realizado com sucesso! Por favor, faзa login", "Confirma", "Cancela");
}
}
}
if(dialogid == DIALOG_LOGIN)
{
if(!response)
{
Kick(playerid);
return 1;
}
else
{
if(strlen(inputtext) <= 0)
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes vocк serб kickado!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 5)
{
SendClientMessage(playerid, 0xFF0000FF, "Vocк foi kickado por errar 5 vezes a sua senha!");
Kick(playerid);
return 1;
}
}
if(!strcmp(DOF2_GetString(arquivo, "senha"), inputtext))
{
Player[playerid][morreu] = DOF2_GetInt(arquivo, "morreu");
Player[playerid][matou] = DOF2_GetInt(arquivo, "matou");
Player[playerid][dinheiro] = DOF2_GetInt(arquivo, "dinheiro");
Player[playerid][level] = DOF2_GetInt(arquivo, "level");
GivePlayerMoney(playerid, Player[playerid][dinheiro]);
SetPlayerScore(playerid, Player[playerid][level]);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes vocк serб kickado!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 5)
{
SendClientMessage(playerid, 0xFF0000FF, "Vocк foi kickado por errar 5 vezes a sua senha!");
Kick(playerid);
return 1;
}
}
}
}
return 1;
}