Portal SAMP
[Ajuda] DOF2 Carregamento sequencial - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] DOF2 Carregamento sequencial (/showthread.php?tid=3358)



DOF2 Carregamento sequencial - zTioLuh - 20/02/2023

Olá.. Bom, Eu tô iniciando um projeto aprendendo a programar em Pawn e configurei minha gamemode pra estar salvando arquivos dos jogadores (Contas) no formato sequencial.. Tipo "conta_0.ini, conta_1.ini,  conta_2.ini e assim vai...." e acreditei que seria mais fácil pra quando quisesse definir valores pra todos os jogadores mesmo offline eu pudesse fazer isso.. Na teoria seria a boa, Mas fiquei travado no sistema de desbanimento OFFLINE de jogadores e queria que alguém com conhecimento sobre essa include e foreach possa me ajudar a buscar nos arquivos dos jogadores o nome que for utilizado no comando de desbanimento para comparar e desbanir o jogador informado definindo os valores boolean de Banido pra falso

Eu utilizo DOF2 e foreach mas até agora só tive dor de cabeça pra chegar no resultado que pretendia.. :/


RE: DOF2 Carregamento sequencial - k2bi_YT - 20/02/2023

Você tem que ter noção de quantas contas existem no seu banco de dados (dado_01, dado_02, dado_03...), você pode salvar em uma variavel principal de quantas contas criadas existem, com essa informação você pode criar um loop com o limite definido pela variavel que salva a quantia de contas criadas.
Exemplo:
Código PHP:
new ContasTotal;//Aqui será armazenado a quantia de contas criadas, deve ser usado atenciosamente na criação de contas.
//Essa variavel deve ser salva como informação global do servidor.
CriarConta(...)
{
    
DOF2_CreateFile(...);
    
DOF2_SetString(..., "Nick"PlayerName(...)); //Aqui será essencial para verificarmos se o nick é compativel com o nick de desban
    
ContasTotal++;
    return 
true;
}

desbanir(...)
{
    new 
file[64];
    for(new 
i!= ContasTotal; ++i)
    {
        
format(filesizeof(file), "conta_%d.ini"i);
        if(
DOF2_FileExists(file) && !strcmp(DOF2_GetString(file"Nick"), ..., false))
        {
            
DOF2_SetBool(file"Banido"false);
            
DOF2_SaveFile();
        }
    }
    return 
true;


Isso é apenas um exemplo, contem erros mas é apenas para ter uma noção em uma variavel principal. O recomendado é usar o nick do jogador no salvamento, você pode criar uma informação na conta do jogador que a atualização da conta do mesmo deve ser igual a atualização do servidor.


RE: DOF2 Carregamento sequencial - zTioLuh - 20/02/2023

(20/02/2023 18:12)zTioLuh Escreveu: Olá.. Bom, Eu tô iniciando um projeto aprendendo a programar em Pawn e configurei minha gamemode pra estar salvando arquivos dos jogadores (Contas) no formato sequencial.. Tipo "conta_0.ini, conta_1.ini,  conta_2.ini e assim vai...." e acreditei que seria mais fácil pra quando quisesse definir valores pra todos os jogadores mesmo offline eu pudesse fazer isso.. Na teoria seria a boa, Mas fiquei travado no sistema de desbanimento OFFLINE de jogadores e queria que alguém com conhecimento sobre essa include e foreach possa me ajudar a buscar nos arquivos dos jogadores o nome que for utilizado no comando de desbanimento para comparar e desbanir o jogador informado definindo os valores boolean de Banido pra falso

Eu utilizo DOF2 e foreach mas até agora só tive dor de cabeça pra chegar no resultado que pretendia.. :/

Consegui encontrar meu problema graças a seu exemplo. Obrigado, ++rep