[DUV] Problemas na hora de comparar algo
#1

Olб a todos do fуrum.

Estou com algumas dъvidas, nem sei como poderia colocar o tнtulo do tуpico, mas enfim, estarei postando aqui e espero que alguйm poзa me ajudar, nгo estou pedindo o cуdigo, apenas estou pedindo uma ajuda pois a minha mente estб amarrada e eu nгo estou conseguindo achar uma soluзгo para isso.

Eu estou fazendo um sistema de conta bancaria onde o mesmo й salvo todas as contas em um arquivo .cfg, sendo assim a conta deveria ter seu nъmero da conta e sua senha, pro jogador poder fazer qualquer saque, depуsito ou tranferкncia ele deveria digamos digitar /logarbanco, abriria o menu para ele digitar a conta e depois a senha, na hora que ele digitar e confirmar na dialog irб conferir se a senha/conta existe/estб certa. o meu problema й ai, eu nгo estou conseguindo fazer isso.

seria mais ou menos assim.


Код:
enum bInfo
{
   ContaBancaria,
   SenhaConta,
   SaldoConta
};
new BancoInfo[100][bInfo];
Apenas й um pequeno exemplo a cima, entгo ele iria digitar o comando..

Код:
if(strcmp(cmd, "/porra1", true) == 0)
{
   if(IsPlayerConnected(playerid))
   {
      ShowPlayerDialog(playerid, 2350, DIALOG_STYLE_INPUT, "Conta Bancaria","Por favor, digite o nъmero de sua conta","Aceitar","Sair");
   }
   return 1;
}
Ai iria checar a senha dele aqui.

Код:
if(dialogid == 2350)
{
   if(response)
   {
      ChecarBanco(playerid, inputtext);
   }
}
Код:
stock ChecarBanco(playerid,inputtext[])
{
   for(new idx = 0; idx < sizeof(BancoInfo); idx++)
   {
      if(!strcmp(BancoInfo[idx][ContaBancaria], inputtext))
      {
         SendClientMessage(playerid, COR_AMARELO, "Senha certa!");
      }
      else
      {
         SendClientMessage(playerid, COR_AMARELO, "Senha errada!");
         return 1;
       }
   }
   return 1;
}
O meu problema й o seguinte, ele apenas diz que a senha estб errada, onde eu estou errando?

lembrando que poderб existir vбrias contas, entгo no caso ele iria checar no arquivo se existe alguma senha igual ao campo digitado.

Abraзos e Obrigado desde jб.
Reply
#2

pode ser que BancoInfo nгo tenha um valor..

pawn Код:
if(strcmp(BancoInfo[idx][ContaBancaria], inputtext, true) == 0)
Reply
#3

eaw;

agora q eu vi

pawn Код:
if(!strcmp(BancoInfo[idx][ContaBancaria], inputtext, true) == 0)
Sempre que colocamos este ! antes do strcmp, as funcoes saem contraria

Nao sei explicar, mas acontece isto;
Reply
#4

Ainda continua dando apenas senha errada

Socorro, alguйm me ajude ^^

eu pretendo postar esse FS que eu to fazendo aqui no Fуrum e usar ele no meu GM mas estб complicado, isso estб me matando :X

@ EDIT -

Quote:
Originally Posted by [FeK]DraKiNs
Посмотреть сообщение
pode ser que BancoInfo nгo tenha um valor..

pawn Код:
if(strcmp(BancoInfo[idx][ContaBancaria], inputtext, true) == 0)
Se eu digitar BancoInfo[1][ContaBancaria] ele diz que estб certo, mas se eu coloco idx ele dб errado, porem sу iremos saber o nъmero do slot assim que a senha for confirmada, mas o problema que atй eu nгo identificar a senha fica impossivel
Reply
#5

tenta
pawn Код:
stock ChecarBanco(playerid,inputtext[])
{
   for(new idx = 0; idx < sizeof(BancoInfo); idx++)
   {
      if(BancoInfo[idx][ContaBancaria] == inputtext))
      {
         SendClientMessage(playerid, COR_AMARELO, "Senha certa!");
      }
      else
      {
         SendClientMessage(playerid, COR_AMARELO, "Senha errada!");
         return 1;
       }
   }
   return 1;
}
nao sei se vai dar certo

@roginho
if(!strcmp("algo1", "algo2", true)) eh a mesma coisa que if(strcmp("algo1", "algo2", true) == 0)
Reply
#6

Gustao nгo e no

pawn Код:
if(strcmp(BancoInfo[idx][ContaBancaria], inputtext, true) == 0) // Le Caso o arquivo seja valo 0 ele lerar normal o outro nгo le normalmente fassa o teste.
Reply
#7

Quote:
Originally Posted by Gustavob
Посмотреть сообщение
tenta
pawn Код:
stock ChecarBanco(playerid,inputtext[])
{
   for(new idx = 0; idx < sizeof(BancoInfo); idx++)
   {
      if(BancoInfo[idx][ContaBancaria] == inputtext))
      {
         SendClientMessage(playerid, COR_AMARELO, "Senha certa!");
      }
      else
      {
         SendClientMessage(playerid, COR_AMARELO, "Senha errada!");
         return 1;
       }
   }
   return 1;
}
nao sei se vai dar certo
Cara ele quase funcionou

Eu criei 10 slots e coloquei senhas diferentes, testei a primeira senha = 123 e apareceu a mensagem "Senha Certa" e logo em seguida "Senha Errada" WTF.

Ai eu tentei com a senha 1234 que era a senha da segunda conta e disse senha errada, estб difнcil de verificar isso


@ edit -

o Bugzinho da senha Certa e logo em seguida Errada corrigido, apenas o return errado

Agora tem um bug maior, apenas a senha da primeira conta funciona as outras nгo, socorro

Alguйm sabe o que pode ser?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)