[Ajuda] MySQL
#1

Ola seres humanos( ou nгo, vai saber), estou tendo problemas com mysql! O meu personagem morre quando ele inicia.

PHP код:
// essas linhas eu apaguei, mas olhem como eu coloquei!
    
strcat(vitinho"CREATE TABLE IF NOT EXISTS `Contas`(`Id` int AUTO_INCREMENT PRIMARY KEY, ");
    
strcat(vitinho"`Nome` varchar(24) NOT NULL DEFAULT ' ', ");
    
strcat(vitinho"`Senha` varchar(20) NOT NULL DEFAULT ' ', ");
    
strcat(vitinho"`Skin` int(10) NOT NULL DEFAULT 0, ");
    
strcat(vitinho"`Dinheiro` int(20) NOT NULL DEFAULT 0, ");
    
strcat(vitinho"`Level` int(10) NOT NULL DEFAULT 0, ");
    
strcat(vitinho"`Vida` float(10) NOT NULL DEFAULT 100.00, ");
    
strcat(vitinho"`Colete` float(10) NOT NULL DEFAULT 100.00, ");
    
strcat(vitinho"`Procurado` int(10) NOT NULL DEFAULT 0, ");
    
strcat(vitinho"`Administrador` int(10) NOT NULL DEFAULT 0, ");
    
strcat(vitinho"`Moderador` int(10) NOT NULL DEFAULT 0, ");
    
strcat(vitinho"`Corregedor` int(10) NOT NULL DEFAULT 0, ");
    
strcat(vitinho"`Comandante` int(10) NOT NULL DEFAULT 0, ");
    
strcat(vitinho"`Patente` int(10) NOT NULL DEFAULT 0, ");
    
strcat(vitinho"`Ajudante` int(10) NOT NULL DEFAULT 0, ");
    
strcat(vitinho"`TemJetpack` int(10) NOT NULL DEFAULT 0)"); 
PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch(
dialogid)
    {
        case 
D_REGISTRO:
        {
            new 
query[300];
            if(!
responseKick(playerid);
            if(
strlen(inputtext) < || strlen(inputtext) > 20 || !strlen(inputtext))
            {
                
ShowPlayerDialog(playeridD_REGISTRODIALOG_STYLE_PASSWORD"{FF0000}Registro""Digite sua senha pra se registrar""Confirmar""Cancelar");
                
Tentativas[playerid]++;
                return 
SendClientMessage(playerid0xFF0000AA"[ ERRO ]Senhas variam de 4 a 20 caracteres!");
            }
            if(
Tentativas[playerid] == 3) return Kick(playerid);
            
mysql_format(Conexaoquerysizeof(query), "INSERT INTO `Contas`(`Nome`, `Senha`) VALUES ('%s', '%s')"Pname(playerid), inputtext);
            
mysql_query(Conexaoqueryfalse);
        }
        case 
D_LOGIN:
        {
            new 
query[300];
            if(!
response) return Kick(playerid);
            if(
strlen(inputtext) < || strlen(inputtext) > 20 || !strlen(inputtext))
            {
                
ShowPlayerDialog(playeridD_LOGINDIALOG_STYLE_INPUT"{FF0000}Login""Digite uma senha pra se logar!""Confirmar""Cancelar");
                
Tentativas[playerid]++;
                
SendClientMessage(playerid0xFF0000AA"[ ERRO ]Senha de 4 a 20 caracteres!");
                return 
1;
            }
            if(
Tentativas[playerid] == 3) return Kick(playerid);
            
mysql_format(Conexaoquerysizeof(query), "SELECT `Senha` FROM `Contas` WHERE `Nome`='%s'"Pname(playerid));
            
mysql_query(Conexaoquerytrue);
            
cache_get_value(0"Senha"pInfo[playerid][Senha], 20);
            if(!
strcmp(pInfo[playerid][Senha], inputtexttrue20))
            {
                
mysql_format(Conexaoquerysizeof(query), "SELECT * FROM `Contas` WHERE `Nome`='%s'"Pname(playerid));
                
mysql_query(Conexaoquerytrue);
                
cache_get_value_int(0"Skin"pInfo[playerid][Skin]);
                
cache_get_value_int(0"Dinheiro"pInfo[playerid][Dinheiro]);
                
cache_get_value_int(0"Level"pInfo[playerid][Level]);
                
cache_get_value_float(0"Vida"pInfo[playerid][Vida]);
                
cache_get_value_float(0"Colete"pInfo[playerid][Colete]);
                
cache_get_value_int(0"Procurado"pInfo[playerid][Procurado]);
                
cache_get_value_int(0"Administrador"pInfo[playerid][Administrador]);
                
cache_get_value_int(0"Moderador"pInfo[playerid][Moderador]);
                
cache_get_value_int(0"Comandante"pInfo[playerid][Comandante]);
                
cache_get_value_int(0"Patente"pInfo[playerid][Patente]);
                
cache_get_value_int(0"Ajudante"pInfo[playerid][Ajudante]);
                
cache_get_value_int(0"TemJetpack"pInfo[playerid][TemJetpack]);
                
SpawnPlayer(playerid);
            }
        }
    }
    return 
1;

Reply
#2

acho que tenho o mesmo problema que o seu, o primeiro player que entra no server nгo tem suas informaзхes carregadas, uma dica, crie a tabela direto no banco de dados, nгo tem necessidade criar via script
Reply
#3

Quote:
Originally Posted by GSantana
Посмотреть сообщение
acho que tenho o mesmo problema que o seu, o primeiro player que entra no server nгo tem suas informaзхes carregadas, uma dica, crie a tabela direto no banco de dados, nгo tem necessidade criar via script
Nгo recomendo criar tabelas via banco de dados, pois alйm pela gamemode ser mais fбcil, vocк pode facilmente apagar a tabela que quando vocк abrir o servidor ela irб recriar automaticamente e vocк evita bugs.

Sobre o erro, recomendo que use um tquery ou crie uma stock que sete as variбveis para os players que recem se registraram assim ele nгo irб morrer....

Exemplo:
PHP код:
//Dialog do Registro
RegistrarDados(playerid);
//Stock
RegistrarDados(playerid)
{
    
Player[playerid][Vida] = 100;
    
Player[playerid][Colete] = 100;
    
//...
    
SpawnPlayer(playerid);

Reply
#4

Varios programadores me ensinaram a nгo usar tquery porque nгo a necessidade de criar callback para isso, mas se esse for meu problema vou ter q optar por isso!
Reply
#5

Quote:
Originally Posted by vitinhosamp
Посмотреть сообщение
Varios programadores me ensinaram a nгo usar tquery porque nгo a necessidade de criar callback para isso, mas se esse for meu problema vou ter q optar por isso!
quem disse que tem que usar o parвmetro que chama a callback ? pode simplesmente fazer assim: mysql_tquery(Conexao, String);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)