[Ajuda] DOF2
#1

E ae galera, estou passando um sistema de de salvamento de Dini para DOF2, na verdade jб estб concluнdo, porйm estou com um problema com as strings, ja pesquisei muito e nгo achei nada que resultasse, se puderem ajudar, agradeзo!

No arquivo salvo fica assim:

Senha = (null)

OnPlayerRegister
PHP код:
    new string[128];
    
strmid(PlayerInfo[playerid][pSenha], password0strlen(password), 255);
    
format(stringsizeof(string), OpenAccPlayerPlayerName(playerid));
    
DOF2_SetString(string,"Senha",PlayerInfo[playerid][pSenha]);
    
DOF2_SaveFile();
    
OnPlayerSave(playerid); 
OnPlayerLogin:
PHP код:
    new senh4[128];
    
format(senh4sizeof(senh4), OpenAccPlayerPlayerName(playerid));
    
strmid(PlayerInfo[playerid][pSenha], DOF2_GetString(senh4"Senha"), 0strlen(DOF2_GetString(senh4"Senha")), 255);
    if(
strcmp(PlayerInfo[playerid][pSenha],passwordtrue ) == || strcmp(SenhaGlobal,passwordtrue ) == 0)
    {
            ...  
            ... 
*** E outra coisa, agora com o plugin streamer. Quando hospedado, o servidor apresenta os mesmos problemas descritos nesse tуpico: https://sampforum.blast.hk/showthread.php?tid=610185, porйm isso nгo ocorre sempre, por exemplo, o servidor estб ligado aproximadamente 6-7 horas, ai os objetos comeзam a bugar, e sу voltam ao normal dando gmx. Poderiam me dar uma luz do q pode ser? ou seria problema na Host?
Reply
#2

Faz um debug pra ver se a string tem algum valor armazenado...
Код:
    new string[128]; 
    strmid(PlayerInfo[playerid][pSenha], password, 0, strlen(password), 255); 
    format(string, sizeof(string), OpenAccPlayer, PlayerName(playerid)); 
    DOF2_SetString(string,"Senha",PlayerInfo[playerid][pSenha]); 
    printf("DEBUG: %s", PlayerInfo[playerid][pSenha]);
    DOF2_SaveFile(); 
    OnPlayerSave(playerid);
Reply
#3

salve direto, verifique se ao player desconectar vocк esta salvando os dados corretamente.
nгo tem porque mandar primeiro para a variбvel.
PHP код:
DOF2_SetString(string"Senha"inputtext); 
Reply
#4

Quote:
Originally Posted by Whoo
Посмотреть сообщение
salve direto, verifique se ao player desconectar vocк esta salvando os dados corretamente.
nгo tem porque mandar primeiro para a variбvel.
PHP код:
DOF2_SetString(string"Senha"inputtext); 
Jб entendi o problema: Strmid
Em vez de usar Strcmp ele usa Strmid (de maneira errada)...
Reply
#5

PHP код:
new string[128]; 
    
strcat((PlayerInfo[playerid][pSenha][0] = '\0'PlayerInfo[playerid][pSenha]), password); 
    
format(stringsizeof(string), OpenAccPlayerPlayerName(playerid)); 
    
DOF2_SetString(string,"Senha",PlayerInfo[playerid][pSenha]); 
    
printf("DEBUG: %s"PlayerInfo[playerid][pSenha]);
    
DOF2_SaveFile(); 
    
OnPlayerSave(playerid); 
Reply
#6

Eu realmente atй agora nгo entendi o uso do strmid neste cуdigo mas tudo bem, fiz algumas modificaзхes visando a explicaзгo:
PHP код:
    // Gravamos oque estб na array PASSWORD na variбvel PlayerInfo
    
format(PlayerInfo[playerid][pSenha], sizeof(PlayerInfo[playerid][pSenha])), "%s"password);
    
// Pequeno debug para mostrar se os dados estгo correctos:
    
printf("Debug01: %s - %s"PlayerInfo[playerid][pSenha], password);
    
// Vamos abrir a pasta do jogador:
    
new pArquivo[60];
    
format(pArquivosizeof(pArquivo), OpenAccPlayerPlayerName(playerid));
    
// Outro debug
    
printf("Debug02: %s - Esse arquivo %sExiste!"fexist(pArquivo) ? (#) : ("Nгo "));
    // Caso o arquivo existir:
    
if(fexist(pArquivo))
    {
        
DOF2_SetString(pArquivo,"Senha",PlayerInfo[playerid][pSenha]);
        
DOF2_SaveFile();
        
OnPlayerSave(playerid);  
    } 
Reply
#7

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Faz um debug pra ver se a string tem algum valor armazenado...
Код:
    new string[128]; 
    strmid(PlayerInfo[playerid][pSenha], password, 0, strlen(password), 255); 
    format(string, sizeof(string), OpenAccPlayer, PlayerName(playerid)); 
    DOF2_SetString(string,"Senha",PlayerInfo[playerid][pSenha]); 
    printf("DEBUG: %s", PlayerInfo[playerid][pSenha]);
    DOF2_SaveFile(); 
    OnPlayerSave(playerid);
Seu cуdigo funcionou, fiz algumas alteraзхes no OnPlayerLogin pois estava logando mesmo errando a senha, agora deu certo, porйm б outra string, tentei alterar o modo de salvar seguindo este q tu mandou, mas nгo obtive sucesso, se puder ajudar, fico grato

Quote:
Originally Posted by Whoo
Посмотреть сообщение
-
Quote:
Originally Posted by Day_
Посмотреть сообщение
-
Quote:
Originally Posted by zSuYaNw
Посмотреть сообщение
-
Obrigado б todos que ajudaram, me desculpe pela ignorвncia, tenho muito pouco conhecimento em questгo б salvamento.
Reparei que algo estб acontecendo, logo apуs o player registrar e completar o tutorial, ele toma o famoso RT(Relogio Travado) de +-5 segundos, ou seja o carregamento do player trava... e isso sу ocorreu apуs a mudanзa para DOF2, o que poderia ser?

E quanto б meu outro problema, que ninguйm se manifestou sobre, poderiam me ajudar?
Quote:
Originally Posted by iSoounD
Посмотреть сообщение
*** E outra coisa, agora com o plugin streamer. Quando hospedado, o servidor apresenta os mesmos problemas descritos nesse tуpico: https://sampforum.blast.hk/showthread.php?tid=610185, porйm isso nгo ocorre sempre, por exemplo, o servidor estб ligado aproximadamente 6-7 horas, ai os objetos comeзam a bugar, e sу voltam ao normal dando gmx. Poderiam me dar uma luz do q pode ser? ou seria problema na Host?
Reply
#8

#Up
Alguйm?
Reply
#9

Sу quero te falar uma frase que se encaixa perfeitamente pra este caso:
- Vocк estб trocando 6 por meia dъzia!
Reply
#10

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Sу quero te falar uma frase que se encaixa perfeitamente pra este caso:
- Vocк estб trocando 6 por meia dъzia!
Poderia me explicar o por que? Atй onde sei DOF2, й um tanto quanto mais rбpida que Dini, e й mais recomenda... Achei que seria melhor trocб la.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)