16.10.2012, 23:27
Bom meu sistema de registro e login estб com bug que nгo consigo resolver eu coloquei na Public OnDialogResponse para kikar o player quando ele clika em cancelar sу que nгo estб funcionando ou seja o player clika em cancelar nгo acontece nada, aproveitando queria liberar para ele colocar letras tb pq na verdade esse sistema nгo fui eu quem fiz sу utilizo.
OBS: +REP pra quem ajudar.
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(dialogid == DIALOG_REGISTRO)
{
if(!strval(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
PlayerInfo[playerid][pSenha] = strval(inputtext);
DOF2_CreateFile(arquivo);
DOF2_SetInt(arquivo, "Senha", PlayerInfo[playerid][pSenha]);
DOF2_SetInt(arquivo, "Matou", PlayerInfo[playerid][pMatou]);
DOF2_SetInt(arquivo, "Morreu", PlayerInfo[playerid][pMorreu]);
DOF2_SetInt(arquivo, "Dinheiro", PlayerInfo[playerid][pDinheiro]);
DOF2_SetInt(arquivo, "Level", PlayerInfo[playerid][pLevel]);
DOF2_SetInt(arquivo, "AdminLevel", PlayerInfo[playerid][pAdmin]);
DOF2_SetInt(arquivo, "Organizaзгo", PlayerInfo[playerid][pOrganizacao]);
DOF2_SetInt(arquivo, "Cargo", PlayerInfo[playerid][pCargo]);
DOF2_SaveFile();
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!strval(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
PlayerInfo[playerid][pSenha] = DOF2_GetInt(arquivo, "Senha");
if(strval(inputtext) == PlayerInfo[playerid][pSenha])
{
PlayerInfo[playerid][pMatou] = DOF2_GetInt(arquivo, "Matou");
PlayerInfo[playerid][pMorreu] = DOF2_GetInt(arquivo, "Morreu");
PlayerInfo[playerid][pDinheiro] = DOF2_GetInt(arquivo, "Dinheiro");
PlayerInfo[playerid][pLevel] = DOF2_GetInt(arquivo, "Level");
PlayerInfo[playerid][pAdmin] = DOF2_GetInt(arquivo, "AdminLevel");
PlayerInfo[playerid][pOrganizacao] = DOF2_GetInt(arquivo, "Organizaзгo");
PlayerInfo[playerid][pCargo] = DOF2_GetInt(arquivo, "Cargo");
GivePlayerMoney(playerid, PlayerInfo[playerid][pDinheiro]);
SpawnPlayer(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 5)
{
SendClientMessage(playerid, -1, "Sua conta estб banida por errar 5 vezes a sua senha, contacte o Admin para retirar seu Ban!");
Ban(playerid);
return 1;
}
}
}
}