[Ajuda] Verificar se conta existe, MYSQL
#1

Olб amigos do fуrum, estou com o seguinte problema, estou fazendo um sistema de criaзгo de conta bancaria, as informaзхes do player estгo sendo inseridas na tabela corretamente, porйm quando й para fazer a verificaзгo para ver se a conta existe, aparece para criar a conta novamente, usei printf para ver se a String estava sendo formatada corretamente, e pelo que parece a funзгo estб sendo chamada varias vezes, cуdigo e print segue anexo.

PHP код:

public OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    new 
aname[MAX_PLAYER_NAME],
                                
STRX[150];
    
    
GetPlayerName(playeridanameMAX_PLAYER_NAME);
    
    
format(STRXsizeof(STRX), "SELECT * FROM `bancosf` WHERE `nome` = '%s'",aname);
    
mysql_tquery(ConexaoSTRX);
    
    if(
newkeys == KEY_YES)
     {
      if(
IsPlayerInRangeOfPoint(playerid2.0, -2141.0303,59.8233,35.3363))
       {
        if(
cache_num_rows() > 0)
         {
         
         }
          else
           {
           
format(STRXsizeof(STRX), "{FFFF00}>>Digite uma senha para criar sua conta bancaria \n>>Sua senha deve conter no minimo 8 e no mбximo 16 caracteres\n\n{FFFFFF}>>Digite sua senha");
           
ShowPlayerDialog(playeridDIALOG_CONTA_BANCODIALOG_STYLE_PASSWORD"{FFFFFF}Criar Conta"STRX"Criar""");
           }
       }
     
     }
    return 
1;
}
if(
dialogid == DIALOG_CONTA_BANCO)
     {
      if(
strlen(inputtext) >= && strlen(inputtext) <= 16)
       {
        
GetPlayerName(playeridanamesizeof(aname));
        
tConta 6000 random(8999);
        
        
format(Querysizeof(Query), "INSERT INTO `bancosf` (`nome`, `senha`, `conta`, `dinheiro`) VALUES ('%s', '%s', '%d', '%d')"anameinputtexttConta4000);
         
mysql_tquery(ConexaoQuery);
         
printf(Query);
         
         
format(Querysizeof(Query), ">>Sua conta й: %d \n\n>>Sua senha й: %s \n\n>>Seu saldo й de: 4000"tContainputtext);
         
ShowPlayerDialog(playeridDIALOG_CONFIRMADIALOG_STYLE_MSGBOX"BANCO"Query"Fechar""");
       }
        else
         {
          
format(STRXsizeof(STRX), "{FFFF00}>>Digite uma senha para criar sua conta bancaria \n>>{FFFFFF}Sua senha deve conter no minimo 8 e no mбximo 16 caracteres\n\n{FFFF00}>>Digite sua senha");
          
ShowPlayerDialog(playeridDIALOG_CONTA_BANCODIALOG_STYLE_PASSWORD"{FFFFFF}Criar Conta"STRX"Criar""");
         }
     
     } 
Reply
#2

Este modo й ruim para comparar teclas
Код:
if(newkeys == KEY_YES)
Tente utilizar
Код:
if(newkeys & KEY_YES)
Mais informaзхes: OnPlayerKeyStageChange
Reply
#3

Quote:
Originally Posted by Ermanhaut
Посмотреть сообщение
Este modo й ruim para comparar teclas
Код:
if(newkeys == KEY_YES)
Tente utilizar
Код:
if(newkeys & KEY_YES)
Mais informaзхes: OnPlayerKeyStageChange
Obrigado amigo, verifiquei a wiki sa-mp e vi que realmente este й o melhor modo, aproveitando o tуpico, poderia me tirar uma dъvida, qual a diferenзa de newkeys e oldkeys jб que as duas "verificam" se o jogador pressionou uma tecla, nгo seria correto newkeys e pressedkeys assim verificaria se estб sendo pressionada ou se pressionou !?
Reply
#4

A diferenзa й a seguinte:

newkeys se refere ao estado das teclas do frame atual do player.
oldkeys se refere ao estado das teclas do frame anterior.

Quando o player pressiona qualquer tecla, como por exemplo a tecla C (KEY_CROUCH), na variбvel newkeys й modificada a informaзгo de que o player apertou aquela tecla.
Apуs um frame, a informaзгo do newkeys й redirecionada para oldkeys e o novo estado de teclas do player й atribuнdo a newkeys.
Deste forma, se o player pressionou a tecla C e a manteve pressionada durante um segundo, oldkeys e newkeys terгo a informaзгo de que KEY_CROUCH estб pressionada, mas no frame que o player soltar a tecla, newkeys nгo terб mais o valor atribuнdo а tecla, mas oldkeys sim.

Entгo, vocк pode fazer trкs verificaзхes distintas: quando o player pressiona uma tecla, quando ele estб segurando um tecla e quando ele solta a tecla. Tudo relacionado a estas informaзхes.

Espero que eu tenha explicado bem.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)