Portal SAMP
[Ajuda] Arquivo sendo excluído ou resetado - 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] Arquivo sendo excluído ou resetado (/showthread.php?tid=4272)



Arquivo sendo excluído ou resetado - L10motos - 04/12/2023

Eu não sei mais o que fazer, estou ficando desgastado, bugs simples e complexos dificies de encontrar, o problema que estou tendo é o seguinte, o arquivo esta deletando e não cria um arquivo novo, recentemente tirei um bug "eu acho", o valor estava sendo definido como zero.

errado:


Citar:public OnGameModeExit()
{
    SaveTurfsOwner();
    SaveSafes();
     DOF2_Exit();
    SaveOrganizations();
   
return 1;
}



certo:

Citar:public OnGameModeExit()

{
    SaveTurfsOwner();
    SaveSafes();
    SaveOrganizations();
     DOF2_Exit();
return 1;
}

O que mudou? DOF2 estava antes de SaveOrganizations, ae coloquei depois de DOF2_Exit, ae parou de resetar os arquivos. "Eu acho"

Qual o problema que enfrento agora? O problema é que o arquivo está sendo excluido mais não cria outro, ae fica faltando o arquivo, e na hora de carregar não existe o arquivo dentro da scriptfiles, é foda, por que no codigo abaixo, o sistema dof2 exclui o arquivo e depois cria, mais será que é isso?
Será que não está dando tempo de criar o arquivo? Isso acontece muito das vezes que desligo o servidor. Fecho o prontdecmd.


Código PHP:
forward SaveOrganizations();
public 
SaveOrganizations()
{
    new file[64], string[64];
    for(new 
1MAX_TEAMSf++)
    {
    
    format(filesizeof(file), "general/teams/team-%02d.ini"f);
    
    if(!DOF2_FileExists(file)) DOF2_CreateFile(file);
        DOF2_RemoveFile(file);
        
DOF2_CreateFile(file);
    
    for(new 1MAX_MEMBERSi++)
    
    {
    
        format(stringsizeof(string), "Member%02d",i);
    
        DOF2_SetString(filestringOrg_Member[f][i]);
    
        format(stringsizeof(string), "Cargo%02d",i);
    
        DOF2_SetInt(filestringOrg_Position[f][i]);
    
    }
    
    DOF2_SetString(file"Name"Org_Name[f]);
    
    DOF2_SetInt(file"Type"Org_Type[f]);
    
    DOF2_SetFloat(file"X"Org_X[f]);
    
    DOF2_SetFloat(file"Y"Org_Y[f]);
    
    DOF2_SetFloat(file"Z"Org_Z[f]);
    
    DOF2_SetFloat(file"EntX"Org_EntX[f]);
    
    DOF2_SetFloat(file"EntY"Org_EntY[f]);
    
    DOF2_SetFloat(file"EntZ"Org_EntZ[f]);
    
    DOF2_SetFloat(file"ExitX"Org_ExitX[f]);
    
    DOF2_SetFloat(file"ExitY"Org_ExitY[f]);
    
    DOF2_SetFloat(file"ExitZ"Org_ExitZ[f]);
    
    DOF2_SetInt(file"ExitI"Org_ExitI[f]);
    
    DOF2_SetFloat(file"CatX"Org_CatX[f]);
    
    DOF2_SetFloat(file"CatY"Org_CatY[f]);
    
    DOF2_SetFloat(file"CatZ"Org_CatZ[f]);
    
    DOF2_SetInt(file"CatOpen"Org_CatOpen[f]);
    
    DOF2_SetInt(file"World"Org_W[f]);
    
    DOF2_SetInt(file"Int"Org_W[f]);
    
    DOF2_SetString(file"CargoName1"Org_PositionName[f][0]);
    
    DOF2_SetString(file"CargoName2"Org_PositionName[f][1]);
    
    DOF2_SetString(file"CargoName3"Org_PositionName[f][2]);
    
    DOF2_SetString(file"CargoName4"Org_PositionName[f][3]);
    
    DOF2_SetString(file"CargoName5"Org_PositionName[f][4]);
    
    DOF2_SetString(file"CargoName6"Org_PositionName[f][5]);
        
DOF2_SetInt(file"Skin01"Org_Skin[f][0]);
        
DOF2_SetInt(file"Skin02"Org_Skin[f][1]);
        
DOF2_SetInt(file"Skin03"Org_Skin[f][2]);
        
DOF2_SetInt(file"Skin04"Org_Skin[f][3]);
        
DOF2_SetInt(file"Skin05"Org_Skin[f][4]);
        
DOF2_SetHex(file"Color"Org_Color[f]);

        
DOF2_SetFloat(file"GaragemX"Org_GarageX[f]);
    
    DOF2_SetFloat(file"GaragemY"Org_GarageY[f]);
    
    DOF2_SetFloat(file"GaragemZ"Org_GarageZ[f]);
    
    DOF2_SetFloat(file"GaragemA"Org_GarageA[f]);
    
    DOF2_SetInt(file"GaragemActived"Org_GarageActived[f]);
    
    DOF2_SetInt(file"Warning"ORG_WARNING[f]);
    
    DOF2_SetInt(file"Vaga"ORG_VAGA[f]);
    
    DOF2_SetInt(file"respect"org_respect[f]);
    
    DOF2_SetInt(file"activities"org_activities[f]);
    
    DOF2_SetInt(file"weaponact"org_weaponact[f]);
    
    DOF2_SetInt(file"attack"AttackTerritory[f]);

        for(new 
0max_subsection_members; ++z)
        {
        
    format(stringsizeof(string), "sub1_members-%d"z); DOF2_SetString(filestringsubsection1_members[f][z]);
        
    format(stringsizeof(string), "sub2_members-%d"z); DOF2_SetString(filestringsubsection2_members[f][z]);
        }
        
DOF2_SetString(file"sub1_name"subsection1_name[f]);
        
DOF2_SetString(file"sub2_name"subsection2_name[f]);
        DOF2_SetInt(file"sub1maxmember"subsection1_maxmember[f]);
         
DOF2_SetInt(file"sub2maxmember"subsection2_maxmember[f]);
        
DOF2_SaveFile();

        
format(filesizeof(file), "general/teams/team-%02d-vehicles.ini"f);
    
    if(!DOF2_FileExists(file)) DOF2_CreateFile(file);
        DOF2_RemoveFile(file); //aqui deleta o arquivo
        
DOF2_CreateFile(file); //aqui cria o arquivo (sera que não está dando tempo para criar?)
        for(new 0MAX_ORG_CARS; ++c)
        {
        
    new slot c+1;
        
    format(stringsizeof(string), "Carro%dM"slot);
            
DOF2_SetInt(filestringORG_vMODEL[f][c]);
            
format(stringsizeof(string), "Carro%dX"slot);
            
DOF2_SetFloat(filestringORG_VEHICLE_PX[f][c]);
            
format(stringsizeof(string), "Carro%dY"slot);
            
DOF2_SetFloat(filestringORG_VEHICLE_PY[f][c]);
            
format(stringsizeof(string), "Carro%dZ"slot);
            
DOF2_SetFloat(filestringORG_VEHICLE_PZ[f][c]);
            
format(stringsizeof(string), "Carro%dA"slot);
            
DOF2_SetFloat(filestringORG_VEHICLE_PA[f][c]);
            
format(stringsizeof(string), "Carro%dC1"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_C1[f][c]);
            
format(stringsizeof(string), "Carro%dC2"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_C2[f][c]);
            
format(stringsizeof(string), "Carro%dwheels"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_HIDRAULIC[f][c]);
            
format(stringsizeof(string), "Carro%dhidra"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_WHEELS[f][c]);
            
format(stringsizeof(string), "Carro%dspoiler"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_SPOILER[f][c]);
            
format(stringsizeof(string), "Carro%dpack"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_PACK[f][c]);
            
format(stringsizeof(string), "Carro%dpaintjob"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_PAINTJOB[f][c]);
        }
        DOF2_SaveFile();
    }
    return 
1;


sistema de carregar arquivos:
Código PHP:
forward LoadOrganizations();
public 
LoadOrganizations()
{
    new 
file[64], string[64];
    for(new 
1MAX_TEAMSf++)
    {
    
    format(filesizeof(file), "general/teams/team-%02d.ini",f);
    
    if(DOF2_FileExists(file))
    
    {
            
format(Org_Name[f], 34"%s"DOF2_GetString(file"Name"));
            if(!
strlen(Org_Name[f])) format(Org_Name[f], 34"Vazio");
            
Org_Type[f] = DOF2_GetInt(file"Type");
            
Org_X[f] = DOF2_GetFloat(file"X");
            
Org_Y[f] = DOF2_GetFloat(file"Y");
            
Org_Z[f] = DOF2_GetFloat(file"Z");
            
Org_EntX[f] = DOF2_GetFloat(file"EntX");
            
Org_EntY[f] = DOF2_GetFloat(file"EntY");
            
Org_EntZ[f] = DOF2_GetFloat(file"EntZ");
            
Org_ExitX[f] = DOF2_GetFloat(file"ExitX");
            
Org_ExitY[f] = DOF2_GetFloat(file"ExitY");
            
Org_ExitZ[f] = DOF2_GetFloat(file"ExitZ");
            
Org_ExitI[f] = DOF2_GetInt(file"ExitI");
            
Org_CatX[f] = DOF2_GetFloat(file"CatX");
            
Org_CatY[f] = DOF2_GetFloat(file"CatY");
            
Org_CatZ[f] = DOF2_GetFloat(file"CatZ");
            
Org_CatOpen[f] = DOF2_GetInt(file"CatOpen");
            
Org_W[f] = DOF2_GetInt(file"World");
            
Org_I[f] = DOF2_GetInt(file"Int");
            
format(Org_PositionName[f][0], 24"%s"DOF2_GetString(file"CargoName1"));
            if(!
strlen(Org_PositionName[f][0])){ format(Org_PositionName[f][0], 24"Novato"); }
            
format(Org_PositionName[f][1], 24"%s"DOF2_GetString(file"CargoName2"));
            if(!
strlen(Org_PositionName[f][1])){ format(Org_PositionName[f][1], 24"Membro"); }
            
format(Org_PositionName[f][2], 24"%s"DOF2_GetString(file"CargoName3"));
            if(!
strlen(Org_PositionName[f][2])){ format(Org_PositionName[f][2], 24"Membro"); }
            
format(Org_PositionName[f][3], 24"%s"DOF2_GetString(file"CargoName4"));
            if(!
strlen(Org_PositionName[f][3])){ format(Org_PositionName[f][3], 24"Membro"); }
            
format(Org_PositionName[f][4], 24"%s"DOF2_GetString(file"CargoName5"));
            if(!
strlen(Org_PositionName[f][4])){ format(Org_PositionName[f][4], 24"Vice-Líder"); }
            
format(Org_PositionName[f][5], 24"%s"DOF2_GetString(file"CargoName6"));
            if(!
strlen(Org_PositionName[f][5])){ format(Org_PositionName[f][5], 24"Lider"); }
            
Org_Skin[f][0] = DOF2_GetInt(file"Skin01");
            
Org_Skin[f][1] = DOF2_GetInt(file"Skin02");
            
Org_Skin[f][2] = DOF2_GetInt(file"Skin03");
            
Org_Skin[f][3] = DOF2_GetInt(file"Skin04");
            
Org_Skin[f][4] = DOF2_GetInt(file"Skin05");
            
format(Org_Color[f], 64"%s"DOF2_GetString(file"Color"));
            
Org_GarageX[f] = DOF2_GetFloat(file"GaragemX");
            
Org_GarageY[f] = DOF2_GetFloat(file"GaragemY");
            
Org_GarageZ[f] = DOF2_GetFloat(file"GaragemZ");
            
Org_GarageA[f] = DOF2_GetFloat(file"GaragemA");
            
Org_GarageActived[f] = DOF2_GetInt(file"GaragemActived");
            
ORG_WARNING[f] = DOF2_GetInt(file"Warning");
            
ORG_VAGA[f] = DOF2_GetInt(file"Vaga");
            if(
ORG_VAGA[f] < 4ORG_VAGA[f] = 15;
            
org_respect[f] = DOF2_GetInt(file"respect");
            
org_activities[f] = DOF2_GetInt(file"activities");
            
org_weaponact[f] = DOF2_GetInt(file"weaponact");
            
AttackTerritory[f] = DOF2_GetInt(file"attack");
            for(new 
0max_subsection_members; ++z)
            {
            
    format(stringsizeof(string), "sub1_members-%d"z); format(subsection1_members[f][z], 24"%s"DOF2_GetString(filestring));
            
    if(!strcmp(subsection1_members[f][z], "asuhdkasfja"true)) format(subsection1_members[f][z], 24"vazio");
            
    format(stringsizeof(string), "sub2_members-%d"z); format(subsection2_members[f][z], 24"%s"DOF2_GetString(filestring));
            
    if(!strcmp(subsection2_members[f][z], "asuhdkasfja"true)) format(subsection2_members[f][z], 24"vazio");
            }
            
format(subsection1_name[f], MAX_SUBSECTION_STR"%s"DOF2_GetString(file"sub1_name"));
            if(!
strcmp(subsection1_name[f], "asuhdkasfja"true)) format(subsection1_name[f], 24"sub divisao 01");
            
format(subsection2_name[f], MAX_SUBSECTION_STR"%s"DOF2_GetString(file"sub2_name"));
            if(!
strcmp(subsection2_name[f], "asuhdkasfja"true)) format(subsection2_name[f], 24"sub divisao 02");
            
subsection1_maxmember[f] = DOF2_GetInt(file"sub1maxmember");
            
subsection2_maxmember[f] = DOF2_GetInt(file"sub2maxmember");
            
////////////////////////////////////////////////////////////////////
            
for(new 1MAX_MEMBERSi++)
    
        {
    
            format(stringsizeof(string), "Member%02d",i);
    
            format(Org_Member[f][i], 24"%s"DOF2_GetString(filestring));
    
            format(stringsizeof(string), "Cargo%02d" ,i);
    
            Org_Position[f][i] = DOF2_GetInt(filestring);
    
            if(!strlen(Org_Member[f][i])){ format(Org_Member[f][i],24"vazio"); Org_Position[f][i] = 0; }
    
        }
    
        ////////////////////////////////////////////////////////////////////
    
    }
    
    else
    
    {
    
        format(Org_Name[f], 34"Vazio");
    
        Org_Type[f] = 0;
    
        Org_X[f] = 0.0;
            
Org_Y[f] = 0.0;
            
Org_Z[f] = 0.0;
            
Org_EntX[f] = 0.0;
            
Org_EntY[f] = 0.0;
            
Org_EntZ[f] = 0.0;
            
Org_ExitX[f] = 2333.1513;
            
Org_ExitY[f] = -1076.5922;
            
Org_ExitZ[f] = 1049.0234;
            
Org_ExitI[f] = 6;
            
Org_CatX[f] = 0.0;
            
Org_CatY[f] = 0.0;
            
Org_CatZ[f] = 0.0;
            
Org_CatOpen[f] = 0;
            
Org_W[f] = 0;
            
Org_I[f] = 0;
            
format(Org_PositionName[f][0], 24"Novato");
            
format(Org_PositionName[f][1], 24"Membro");
            
format(Org_PositionName[f][2], 24"Membro");
            
format(Org_PositionName[f][3], 24"Membro");
            
format(Org_PositionName[f][4], 24"Vice-Líder");
            
format(Org_PositionName[f][5], 24"Lider");
            
Org_Skin[f][0] = 7;
            
Org_Skin[f][1] = 7;
            
Org_Skin[f][2] = 7;
            
Org_Skin[f][3] = 7;
            
Org_Skin[f][4] = 7;
            
///////////////////////
            
Org_GarageX[f] = 0.0;
            
Org_GarageY[f] = 0.0;
            
Org_GarageZ[f] = 0.0;
            
Org_GarageA[f] = 0.0;
            
Org_GarageActived[f] = 0;
            
ORG_WARNING[f] = 0;
            
ORG_VAGA[f] = 15;
            
org_respect[f] = 0;
            
org_activities[f] = 0;
            
org_weaponact[f] = 0;
            
AttackTerritory[f] = 0;

            for(new 
0max_subsection_membersz++)
            {
            
    format(subsection1_members[f][z], MAX_PLAYER_NAME"vazio");
            
    format(subsection2_members[f][z], MAX_PLAYER_NAME"vazio");
            }
            
format(subsection2_name[f], MAX_SUBSECTION_STR"sub divisao 01");
            
format(subsection2_name[f], MAX_SUBSECTION_STR"sub divisao 02");
            
subsection1_maxmember[f] = 8;
            
subsection2_maxmember[f] = 8;
            
////////////////////////////////////////////////////////////////////
            
for(new 1MAX_MEMBERSi++)
    
        {
    
            format(Org_Member[f][i],24"vazio");
    
            Org_Position[f][i] = 0;
    
        }
    
        ////////////////////////////////////////////////////////////////////
        
}
        
////////////////////////////////////////////////////////////////////////
        
format(filesizeof(file), "general/teams/team-%02d-vehicles.ini"f);
    
    if(DOF2_FileExists(file))
    
    {
    
        for(new 0MAX_ORG_CARS; ++c)
            {
            
    new slot c+1;
            
    format(stringsizeof(string), "Carro%dM"slot);
                
ORG_vMODEL[f][c] = DOF2_GetInt(filestring);
                
format(stringsizeof(string), "Carro%dX"slot);
                
ORG_VEHICLE_PX[f][c] = DOF2_GetFloat(filestring);
                
format(stringsizeof(string), "Carro%dY"slot);
                
ORG_VEHICLE_PY[f][c] = DOF2_GetFloat(filestring);
                
format(stringsizeof(string), "Carro%dZ"slot);
                
ORG_VEHICLE_PZ[f][c] = DOF2_GetFloat(filestring);
                
format(stringsizeof(string), "Carro%dA"slot);
                
ORG_VEHICLE_PA[f][c] = DOF2_GetFloat(filestring);
                
format(stringsizeof(string), "Carro%dC1"slot);
                
ORG_VEHICLE_C1[f][c] = DOF2_GetInt(filestring);
                
format(stringsizeof(string), "Carro%dC2"slot);
                
ORG_VEHICLE_C2[f][c] = DOF2_GetInt(filestring);
                
format(stringsizeof(string), "Carro%dwheels"slot);
                
ORG_VEHICLE_HIDRAULIC[f][c] = DOF2_GetInt(filestring);
                
format(stringsizeof(string), "Carro%dhidra"slot);
                
ORG_VEHICLE_WHEELS[f][c] = DOF2_GetInt(filestring);
                
format(stringsizeof(string), "Carro%dspoiler"slot);
                
ORG_VEHICLE_SPOILER[f][c] = DOF2_GetInt(filestring);
                
format(stringsizeof(string), "Carro%dpack"slot);
                
ORG_VEHICLE_PACK[f][c] = DOF2_GetInt(filestring);
                
format(stringsizeof(string), "Carro%dpaintjob"slot);
                
ORG_VEHICLE_PAINTJOB[f][c] = DOF2_GetInt(filestring);
            }
    
    }
    
    else
    
    {
    
        for(new 0MAX_ORG_CARS; ++c)
            {
            
    ORG_vMODEL[f][c] = 0ORG_VEHICLE_PX[f][c] = 0ORG_VEHICLE_PY[f][c] = 0ORG_VEHICLE_PZ[f][c] = 0ORG_VEHICLE_PA[f][c] = 0ORG_VEHICLE_C1[f][c] = 0ORG_VEHICLE_C2[f][c] = 0;
                
ORG_VEHICLE_MATS[f][c] = 0ORG_VEHICLE_HIDRAULIC[f][c] = 0ORG_VEHICLE_WHEELS[f][c] = 0ORG_VEHICLE_SPOILER[f][c] = 0ORG_VEHICLE_PACK[f][c] = 0ORG_VEHICLE_PAINTJOB[f][c] = -1;
            }
        }
    }
    return 
1;


Será que devo tirar esse:
Citar:DOF2_RemoveFile(file);
DOF2_CreateFile(file); 


Por que não faz sentido?





RE: Arquivo sendo excluído ou resetado - Dr Editor - 04/12/2023

Essa parte que você sugere remover é redundante. Não vejo porque manter isso se na linha anterior já tem uma verificação que cria o arquivo se o mesmo não existir.
Faria sentido se a intenção fosse organizar os dados na memória e depois reescrevê-los para manter a ordem no arquivo, mas não deve ser o caso.


RE: Arquivo sendo excluído ou resetado - L10motos - 04/12/2023

(04/12/2023 13:32)Dr Editor Escreveu: Essa parte que você sugere remover é redundante. Não vejo porque manter isso se na linha anterior já tem uma verificação que cria o arquivo se o mesmo não existir.
Faria sentido se a intenção fosse organizar os dados na memória e depois reescrevê-los para manter a ordem no arquivo, mas não deve ser o caso.

Eu tenho medo de tirar e bugar alguma coisa.

Será que devo excluir nessa parte também?

Código PHP:
forward SavePlayerInformations(playerid);
public 
SavePlayerInformations(playerid)
{
    if(IsPlayerNPC(playerid)) return 1;

    new file[128], string[128], Float:p[3];
    
format(filesizeof(file), "account/%s.ini"Name(playerid));
    if(
DOF2_FileExists(file))
    {
    
    DOF2_RemoveFile(file); //aqui é bom exluir?
        
DOF2_CreateFile(file); //aqui é bom exluir?
        
DOF2_SetString(file"Key"PlayerInfo[playerid][pKey]); 



RE: Arquivo sendo excluído ou resetado - Dr Editor - 04/12/2023

(04/12/2023 13:55)L10motos Escreveu:
(04/12/2023 13:32)Dr Editor Escreveu: Essa parte que você sugere remover é redundante. Não vejo porque manter isso se na linha anterior já tem uma verificação que cria o arquivo se o mesmo não existir.
Faria sentido se a intenção fosse organizar os dados na memória e depois reescrevê-los para manter a ordem no arquivo, mas não deve ser o caso.

Eu tenho medo de tirar e bugar alguma coisa.

Será que devo excluir nessa parte também?

Código PHP:
forward SavePlayerInformations(playerid);
public 
SavePlayerInformations(playerid)
{
    if(IsPlayerNPC(playerid)) return 1;

    new file[128], string[128], Float:p[3];
    
format(filesizeof(file), "account/%s.ini"Name(playerid));
    if(
DOF2_FileExists(file))
    {
    
    DOF2_RemoveFile(file); //aqui é bom exluir?
        
DOF2_CreateFile(file); //aqui é bom exluir?
        
DOF2_SetString(file"Key"PlayerInfo[playerid][pKey]); 

Remova de ambos e depois retorne com o resultado dessa alteração.


RE: Arquivo sendo excluído ou resetado - Carlos Victor - 04/12/2023

(04/12/2023 13:21)L10motos Escreveu: Eu não sei mais o que fazer, estou ficando desgastado, bugs simples e complexos dificies de encontrar, o problema que estou tendo é o seguinte, o arquivo esta deletando e não cria um arquivo novo, recentemente tirei um bug "eu acho", o valor estava sendo definido como zero.

errado:
Citar:public OnGameModeExit()
{
    SaveTurfsOwner();
    SaveSafes();
     DOF2_Exit();
    SaveOrganizations();
   
return 1;
}

certo:
Citar:public OnGameModeExit()

{
    SaveTurfsOwner();
    SaveSafes();
    SaveOrganizations();
     DOF2_Exit();
return 1;
}

O que mudou? DOF2 estava antes de SaveOrganizations, ae coloquei depois de DOF2_Exit, ae parou de resetar os arquivos. "Eu acho"
- O problema aqui justamente na ordem dos códigos, como eu disse ontem em um tópico seu, o compilador e o Pawn lê os códigos de cima para baixo, então primeiro vai chamar as funções SaveTurfsOwner(), SaveSafes(), DOF2_Exit(), SaveOganizations e o problema está justamente aí, você está executando a função DOF2_Exit antes de usar por completo no código, já que a função SaveOrganizations utiliza o DOF2 para salvar.

Você deve descarregar o DOF2 por último, como fez no exemplo correto.

Citar:Qual o problema que enfrento agora? O problema é que o arquivo está sendo excluido mais não cria outro, ae fica faltando o arquivo, e na hora de carregar não existe o arquivo dentro da scriptfiles, é foda, por que no codigo abaixo, o sistema dof2 exclui o arquivo e depois cria, mais será que é isso?
Será que não está dando tempo de criar o arquivo? Isso acontece muito das vezes que desligo o servidor. Fecho o prontdecmd.


Código PHP:
forward SaveOrganizations();
public 
SaveOrganizations()
{
    new file[64], string[64];
    for(new 
1MAX_TEAMSf++)
    {
    
    format(filesizeof(file), "general/teams/team-%02d.ini"f);
    
    if(!DOF2_FileExists(file)) DOF2_CreateFile(file);
        DOF2_RemoveFile(file);
        
DOF2_CreateFile(file);
    
    for(new 1MAX_MEMBERSi++)
    
    {
    
        format(stringsizeof(string), "Member%02d",i);
    
        DOF2_SetString(filestringOrg_Member[f][i]);
    
        format(stringsizeof(string), "Cargo%02d",i);
    
        DOF2_SetInt(filestringOrg_Position[f][i]);
    
    }
    
    DOF2_SetString(file"Name"Org_Name[f]);
    
    DOF2_SetInt(file"Type"Org_Type[f]);
    
    DOF2_SetFloat(file"X"Org_X[f]);
    
    DOF2_SetFloat(file"Y"Org_Y[f]);
    
    DOF2_SetFloat(file"Z"Org_Z[f]);
    
    DOF2_SetFloat(file"EntX"Org_EntX[f]);
    
    DOF2_SetFloat(file"EntY"Org_EntY[f]);
    
    DOF2_SetFloat(file"EntZ"Org_EntZ[f]);
    
    DOF2_SetFloat(file"ExitX"Org_ExitX[f]);
    
    DOF2_SetFloat(file"ExitY"Org_ExitY[f]);
    
    DOF2_SetFloat(file"ExitZ"Org_ExitZ[f]);
    
    DOF2_SetInt(file"ExitI"Org_ExitI[f]);
    
    DOF2_SetFloat(file"CatX"Org_CatX[f]);
    
    DOF2_SetFloat(file"CatY"Org_CatY[f]);
    
    DOF2_SetFloat(file"CatZ"Org_CatZ[f]);
    
    DOF2_SetInt(file"CatOpen"Org_CatOpen[f]);
    
    DOF2_SetInt(file"World"Org_W[f]);
    
    DOF2_SetInt(file"Int"Org_W[f]);
    
    DOF2_SetString(file"CargoName1"Org_PositionName[f][0]);
    
    DOF2_SetString(file"CargoName2"Org_PositionName[f][1]);
    
    DOF2_SetString(file"CargoName3"Org_PositionName[f][2]);
    
    DOF2_SetString(file"CargoName4"Org_PositionName[f][3]);
    
    DOF2_SetString(file"CargoName5"Org_PositionName[f][4]);
    
    DOF2_SetString(file"CargoName6"Org_PositionName[f][5]);
        
DOF2_SetInt(file"Skin01"Org_Skin[f][0]);
        
DOF2_SetInt(file"Skin02"Org_Skin[f][1]);
        
DOF2_SetInt(file"Skin03"Org_Skin[f][2]);
        
DOF2_SetInt(file"Skin04"Org_Skin[f][3]);
        
DOF2_SetInt(file"Skin05"Org_Skin[f][4]);
        
DOF2_SetHex(file"Color"Org_Color[f]);

        
DOF2_SetFloat(file"GaragemX"Org_GarageX[f]);
    
    DOF2_SetFloat(file"GaragemY"Org_GarageY[f]);
    
    DOF2_SetFloat(file"GaragemZ"Org_GarageZ[f]);
    
    DOF2_SetFloat(file"GaragemA"Org_GarageA[f]);
    
    DOF2_SetInt(file"GaragemActived"Org_GarageActived[f]);
    
    DOF2_SetInt(file"Warning"ORG_WARNING[f]);
    
    DOF2_SetInt(file"Vaga"ORG_VAGA[f]);
    
    DOF2_SetInt(file"respect"org_respect[f]);
    
    DOF2_SetInt(file"activities"org_activities[f]);
    
    DOF2_SetInt(file"weaponact"org_weaponact[f]);
    
    DOF2_SetInt(file"attack"AttackTerritory[f]);

        for(new 
0max_subsection_members; ++z)
        {
        
    format(stringsizeof(string), "sub1_members-%d"z); DOF2_SetString(filestringsubsection1_members[f][z]);
        
    format(stringsizeof(string), "sub2_members-%d"z); DOF2_SetString(filestringsubsection2_members[f][z]);
        }
        
DOF2_SetString(file"sub1_name"subsection1_name[f]);
        
DOF2_SetString(file"sub2_name"subsection2_name[f]);
        DOF2_SetInt(file"sub1maxmember"subsection1_maxmember[f]);
         
DOF2_SetInt(file"sub2maxmember"subsection2_maxmember[f]);
        
DOF2_SaveFile();

        
format(filesizeof(file), "general/teams/team-%02d-vehicles.ini"f);
    
    if(!DOF2_FileExists(file)) DOF2_CreateFile(file);
        DOF2_RemoveFile(file); //aqui deleta o arquivo
        
DOF2_CreateFile(file); //aqui cria o arquivo (sera que não está dando tempo para criar?)
        for(new 0MAX_ORG_CARS; ++c)
        {
        
    new slot c+1;
        
    format(stringsizeof(string), "Carro%dM"slot);
            
DOF2_SetInt(filestringORG_vMODEL[f][c]);
            
format(stringsizeof(string), "Carro%dX"slot);
            
DOF2_SetFloat(filestringORG_VEHICLE_PX[f][c]);
            
format(stringsizeof(string), "Carro%dY"slot);
            
DOF2_SetFloat(filestringORG_VEHICLE_PY[f][c]);
            
format(stringsizeof(string), "Carro%dZ"slot);
            
DOF2_SetFloat(filestringORG_VEHICLE_PZ[f][c]);
            
format(stringsizeof(string), "Carro%dA"slot);
            
DOF2_SetFloat(filestringORG_VEHICLE_PA[f][c]);
            
format(stringsizeof(string), "Carro%dC1"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_C1[f][c]);
            
format(stringsizeof(string), "Carro%dC2"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_C2[f][c]);
            
format(stringsizeof(string), "Carro%dwheels"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_HIDRAULIC[f][c]);
            
format(stringsizeof(string), "Carro%dhidra"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_WHEELS[f][c]);
            
format(stringsizeof(string), "Carro%dspoiler"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_SPOILER[f][c]);
            
format(stringsizeof(string), "Carro%dpack"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_PACK[f][c]);
            
format(stringsizeof(string), "Carro%dpaintjob"slot);
            
DOF2_SetInt(filestringORG_VEHICLE_PAINTJOB[f][c]);
        }
        DOF2_SaveFile();
    }
    return 
1;

- O problema nessa parte está justamente em:
Código PHP:
format(filesizeof(file), "general/teams/team-%02d.ini"f);
if(!
DOF2_FileExists(file))
      DOF2_CreateFile(file);
DOF2_RemoveFile(file);
DOF2_CreateFile(file); 
Percebe que você faz as mesmas coisas, se o arquivo não existe, por remover? E se você cria ele, porque remover em seguida?

Também isso é meio que inútil, se você não tiver controle sobre facções apagadas é compreensível colocar esse código, mas se a facção é apagada por algo específico, não precisa ficar esse código dinâmico para verificar e criar se existir, além do mais, se apagado é por algum motivo, o arquivo simplesmente não vai apagar sozinho.



Aproveitando o tópico, não sei se esse GM que você está utilizando é da internet, ou se você está fazendo um do zero. Mas uma dica que eu gostaria de ter recebido quando eu estava iniciando era esquecer o DOF2/Dini e focar no SQL, hoje eu sei, mas se eu tivesse aprendido no meu inicio em 2019 com certeza eu teria aproveitado muito mais do que fiz durante essa minha caminhada.

Se eu fosse você, aprenderia SQL e sei lá, inicialmente cria um servidor em SQLite e posteriormente quando estiver sabendo legal vai pro MySQL, assim, de inicio pode ser complicado, mas vai valer a pena, não só no SAMP, mas se você quiser seguir carreira como programador, saiba que você não vai encontrar um DOF2 na vida em um desenvolvimento de um site.