SA-MP Forums Archive
[Ajuda] Galera problemas com dof2 - 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] Galera problemas com dof2 (/showthread.php?tid=665757)



Galera problemas com dof2 - moura98 - 14.04.2019

O dof2 esta bugando
de vez enquando aparece uma conta com tudo resetado mais a maioria quase todas salvam tudo normal


eu estava fazendo um timer na ongamemodeinit para salvar as contas, mas agora eu tirei esse time e fiz um loop na
OnPlayerUpdate

Sera q vai resolver ?

PHP Code:

public OnPlayerUpdate(playerid)
{
    for(new 
0i<MAX_PLAYERSi++)
    {
        
SalvarDados(i);
    }
    return 
1;

PHP Code:

stock SalvarDados
(playerid)
{
    new 
arquivo[50];
    
format(arquivo50"Contas/%s.ini",PegarNome(playerid));
     if(!
DOF2_FileExists(arquivo)) DOF2_CreateFile(arquivo);
     else
      {
          
format(Player[playerid][pSenha], 50DOF2_GetString(arquivo"senha"));
          
        
DOF2_SetString(arquivo"senha"Player[playerid][pSenha]);
        
DOF2_SetInt(arquivo"skin"GetPlayerSkin(playerid));
        
DOF2_SetInt(arquivo"dinheiro"GetPlayerMoney(playerid));
        
DOF2_SetInt(arquivo"adminlevel"Player[playerid][pAdminlevel]);
        
DOF2_SetInt(arquivo"vip"Player[playerid][pVip]);
        
DOF2_SetInt(arquivo"emprego"Player[playerid][pEmprego]);
        
DOF2_SetInt(arquivo"respeito"Player[playerid][pRespeito]);
        
DOF2_SetInt(arquivo"level"Player[playerid][pLevel]);
        
DOF2_SetInt(arquivo"preso"Player[playerid][pPreso]);
        
DOF2_SaveFile();
    }
    return 
true;

Vou testar aqui se vai resolver se alguem souber uma forma de resolver isso me qajuda aii pffffffffff


Re: Galera problemas com dof2 - Felipealves - 14.04.2019

Fecha por GMX, se for colocar no OnPlayerUpdate й loucura, vai ser chamado um loop de 1k de players em S a cada update q os players sofrerem, se vc fecha o servidor pelo console direto sem GMX, vai bugar, fecha com GMX.
Coloca esse code no OnGamemodeExit e salva normal pelo OnPlayerDisconnect.


Re: Galera problemas com dof2 - moura98 - 14.04.2019

Quote:
Originally Posted by Felipealves
View Post
Fecha por GMX, se for colocar no OnPlayerUpdate й loucura, vai ser chamado um loop de 1k de players em S a cada update q os players sofrerem, se vc fecha o servidor pelo console direto sem GMX, vai bugar, fecha com GMX.
Coloca esse code no OnGamemodeExit e salva normal pelo OnPlayerDisconnect.
Assim?

PHP Code:
public OnGameModeExit()
{
    for(new 
0i<MAX_PLAYERSi++)
    {
        
SalvarDados(i);
    }
    
DOF2_Exit();
    return 
1;

Mano me veio uma coisa na cabeзa se ele salvar em quanto esta conectado mas nao spawnado ? pq as info dele so carrega se quando ele spawna, SERA ISSO ? Se for como posso resolver ? alguem


Re: Galera problemas com dof2 - GuiLopez - 14.04.2019

Quote:
Originally Posted by moura98
View Post
PHP Code:

public OnPlayerUpdate(playerid)
{
    for(new 
0i<MAX_PLAYERSi++)
    {
        
SalvarDados(i);
    }
    return 
1;

Jesuuus, imagina o lag? kkkkkkkkkkkkkk


Re: Galera problemas com dof2 - GuiKommander - 14.04.2019

PHP Code:
public OnGameModeInit()
{
    
SetTimer("SalvarTudo"1000false);
    return 
1;
}

forward SalvarTudo();
public 
SalvarTudo()
{
    for(new 
iMAX_PLAYERS; ++ i)
    {
        if(
IsPlayerConnected(i) && PlayerData[i][pLogado] == true)
        {
            
DOF2_SetInt(ContaPlayer(i), "Drogas"PlayerData[i][Drogas]);
        }
    }
    
SetTimer("SalvarTudo"1000false); // Eu recomendo usar o false, porque fica mais otimizado dentro do servidor.




Re: Galera problemas com dof2 - moura98 - 14.04.2019

Quote:
Originally Posted by GuiKommander
View Post
PHP Code:
public OnGameModeInit()
{
    
SetTimer("SalvarTudo"1000false);
    return 
1;
}
forward SalvarTudo();
public 
SalvarTudo()
{
    for(new 
iMAX_PLAYERS; ++ i)
    {
        if(
IsPlayerConnected(i) && PlayerData[i][pLogado] == true)
        {
            
DOF2_SetInt(ContaPlayer(i), "Drogas"PlayerData[i][Drogas]);
        }
    }
    
SetTimer("SalvarTudo"1000false); // Eu recomendo usar o false, porque fica mais otimizado dentro do servidor.

vlw +rep


Re: Galera problemas com dof2 - GuiKommander - 14.04.2019

Quote:
Originally Posted by moura98
View Post
essa variavel PlayerData[i][pLogado] nao precisa salvar no dof2 ne
Nгo. Essa variбvel seria setada para '' true '' quando o player conseguir logar(acertar senha na tela de login), uma forma muito boa de saber se o player estб na tela de ''login''.


Re: Galera problemas com dof2 - moura98 - 14.04.2019

Quote:
Originally Posted by GuiKommander
View Post
Nгo. Essa variбvel seria setada para '' true '' quando o player conseguir logar(acertar senha na tela de login), uma forma muito boa de saber se o player estб na tela de ''login''.
exato como eu pensei, mas e bom tirar as duvidas hjehe valeuuu