SA-MP Forums Archive
[Ajuda] Duvida, buguei k - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Duvida, buguei k (/showthread.php?tid=662547)



Duvida, buguei k - DanielMatrix - 04.01.2019

Criei um sistema de registro onde o jogador insere o nome e a senha , nisso estou tentando pegar a funзгo para verificar se o nome que o jogador colocar existe ou nгo , mas o problema fica em , como irei verificar , tentei puxar
mysql_format(IDConexao, Checarnome, sizeof(Checarnome), "SELECT Nome FROM usuarios WHERE Nome='%s'",inputtext);
mysql_query(IDConexao, Checarnome);

if(Checarnome == 0) return SendClientMessage(playerid, -1, "teste");

error > array must be indexed,
mas como irei indexar, se eu fizer , ela nгo encaixa no mysql format.

com certeza deve ser falta de atenзгo minha , mas aceito soluзхes.


Re: Duvida, buguei k - ipsLuan - 05.01.2019

Qual versгo do MySQL vocк estб utilizando?

https://sampforum.blast.hk/showthread.php?tid=579909


Re: Duvida, buguei k - StartOver - 05.01.2019

PHP код:
new Checarnome[42 MAX_PLAYER_NAME;
mysql_format(IDConexaoChecarnomesizeof(Checarnome), "SELECT Nome FROM usuarios WHERE Nome='%e'",inputtext);
mysql_tquery(IDConexaoChecarnome"CheckAccountName""d"playerid);
forward CheckAccountName(playerid);
public 
CheckAccountName(playerid)
{
    if(
cache_num_rows() > 0){
        
SendClientMessage(playerid, -1"Jб possui uma conta com este Nick. Escolha outro.");
        return 
ShowPlayerDialog(...);
        
    }else{
        
SendClientMessage(playerid, -1"Registro Liberado com sucesso.");    
    }
    return 
1;




Re: Duvida, buguei k - DanielMatrix - 05.01.2019

Desde jб agradeзo pela ajuda de ambos, mas a questгo и que jб fiz essa verificaзгo como descrita pelo StartOver , nisso quando implemento esse cуdigo, ele nгo atualiza o BD "UPDATE" , o conflito eu sei onde estб , mas por burrice ou atenзгo, nгo estou conseguindo resolver, Help me.

Quote:

case DIALOG_NOME: {

new String[128],Query[56];
if(!response) {

strcat(String, "Voce nao inseriu um nome !");
PlayerTextDrawSetString(playerid, MenssagemRL[playerid][9], String);
ShowTextDrawMenssagemRL(playerid);
SetTimer("MenssagemMenssagem", 4000, false);
return true;
}


if(strlen(inputtext) < 4 || strlen(inputtext) > 20) {

strcat(String, "Insira uma nome entre 4 a 20 caractreres !");
PlayerTextDrawSetString(playerid, MenssagemRL[playerid][9], String);
ShowTextDrawMenssagemRL(playerid);
SetTimer("Menssagem", 4000, false);
return true;
}
if(response) {

mysql_format(IDConexao, Query, sizeof(Query), "SELECT Nome FROM usuarios WHERE Nome='%s'",inputtext);
mysql_tquery(IDConexao, Query, "CheckAccountName", "i", playerid);


SetPlayerName(playerid, inputtext);
PlayerInfo[playerid][pInserirNome] = 1;
PlayerTextDrawSetString(playerid, TextDrawRegistro[playerid][19], inputtext);
return true;
}
}

Quote:

forward CheckAccountName(playerid, inputtext[]);
public CheckAccountName(playerid, inputtext[]) {

if(cache_num_rows() > 0) {

SendClientMessage(playerid, -1, "Jб possui uma conta com este Nick. Escolha outro.");

}else{

new Query[24];
mysql_format(IDConexao, Query, sizeof(Query), "UPDATE `usuarios` SET `Nome`='%s' WHERE `ID`='%d'",inputtext, PlayerInfo[playerid][pID]);
mysql_query(IDConexao, Query);
// return ShowPlayerDialog(playerid, DIALOG_NOME, DIALOG_STYLE_INPUT, "TESTE", "Vocк estб preste a se registrar em nosso servidor\n Para nгo haver conflitos , preencha os dados solicitados.", "prosseguir", "Cancelar");

}
return true;
}




Re: Duvida, buguei k - StartOver - 05.01.2019

PHP код:
case DIALOG_NOME: {
new 
String[128],Query[43 MAX_PLAYER_NAME];
if(!
response) { 
strcat(String"Voce nao inseriu um nome !");
PlayerTextDrawSetString(playeridMenssagemRL[playerid][9], String);    
ShowTextDrawMenssagemRL(playerid);    
SetTimer("MenssagemMenssagem"4000false);    
return 
true;
}
if(
strlen(inputtext) < || strlen(inputtext) > 20) {
strcat(String"Insira uma nome entre 4 a 20 caractreres !");
PlayerTextDrawSetString(playeridMenssagemRL[playerid][9], String);    
ShowTextDrawMenssagemRL(playerid);    
SetTimer("Menssagem"4000false);    
return 
true;
}
if(
response) {
mysql_format(IDConexaoQuerysizeof(Query), "SELECT Nome FROM usuarios WHERE Nome='%s'",inputtext); 
mysql_tquery(IDConexaoQuery"CheckAccountName""i"playerid); 
SetPlayerName(playeridinputtext);
PlayerInfo[playerid][pInserirNome] = 1;
PlayerTextDrawSetString(playeridTextDrawRegistro[playerid][19], inputtext);
return 
true;
}
}
forward CheckAccountName(playeridinputtext[]); 
public 
CheckAccountName(playeridinputtext[]) { 
if(
cache_num_rows() > 0) { 
SendClientMessage(playerid, -1"Jб possui uma conta com este Nick. Escolha outro."); 
}else{ 
new 
Query[55 MAX_PLAYER_NAME]; 
mysql_format(IDConexaoQuerysizeof(Query), "UPDATE `usuarios` SET `Nome`='%s' WHERE `ID`='%d'",inputtextPlayerInfo[playerid][pID]);
mysql_query(IDConexaoQuery); 
// return ShowPlayerDialog(playerid, DIALOG_NOME, DIALOG_STYLE_INPUT, "TESTE", "Vocк estб preste a se registrar em nosso servidor\n Para nгo haver conflitos , preencha os dados solicitados.", "prosseguir", "Cancelar"); 

return 
true

A quantidade de cйlulas que vocк estб colocando nas variбveis estгo muito poucas para completar a tarefa a qual vocк quer. de uma olhada na pasta "Logs > plugins > mysql.log


Re: Duvida, buguei k - DanielMatrix - 05.01.2019

Foda refiz o cуdigo mais de 10 vezes, linguagem limitada ... tiver discord me passa, talvez por lб seja melhor para ajudar


Re: Duvida, buguei k - StartOver - 05.01.2019

Nгo pude analisar corretamente por estar trabalhando hoje. passa seu discord aн que depois eu Adiciono, Abraзos!


Re: Duvida, buguei k - DanielMatrix - 05.01.2019

Daniel ☺#9103