04/12/2023 13:21 
(Esta mensagem foi modificada pela última vez a: 04/12/2023 13:26 por L10motos.)
	
	
	
		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:
certo:
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.
sistema de carregar arquivos:
Será que devo tirar esse:
Por que não faz sentido?
	
	
	
	
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 f = 1; f < MAX_TEAMS; f++)
    {
        format(file, sizeof(file), "general/teams/team-%02d.ini", f);
        if(!DOF2_FileExists(file)) DOF2_CreateFile(file);
        DOF2_RemoveFile(file);
        DOF2_CreateFile(file);
        for(new i = 1; i < MAX_MEMBERS; i++)
        {
            format(string, sizeof(string), "Member%02d",i);
            DOF2_SetString(file, string, Org_Member[f][i]);
            format(string, sizeof(string), "Cargo%02d",i);
            DOF2_SetInt(file, string, Org_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 z = 0; z < max_subsection_members; ++z)
        {
            format(string, sizeof(string), "sub1_members-%d", z); DOF2_SetString(file, string, subsection1_members[f][z]);
            format(string, sizeof(string), "sub2_members-%d", z); DOF2_SetString(file, string, subsection2_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(file, sizeof(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 c = 0; c < MAX_ORG_CARS; ++c)
        {
            new slot = c+1;
            format(string, sizeof(string), "Carro%dM", slot);
            DOF2_SetInt(file, string, ORG_vMODEL[f][c]);
            format(string, sizeof(string), "Carro%dX", slot);
            DOF2_SetFloat(file, string, ORG_VEHICLE_PX[f][c]);
            format(string, sizeof(string), "Carro%dY", slot);
            DOF2_SetFloat(file, string, ORG_VEHICLE_PY[f][c]);
            format(string, sizeof(string), "Carro%dZ", slot);
            DOF2_SetFloat(file, string, ORG_VEHICLE_PZ[f][c]);
            format(string, sizeof(string), "Carro%dA", slot);
            DOF2_SetFloat(file, string, ORG_VEHICLE_PA[f][c]);
            format(string, sizeof(string), "Carro%dC1", slot);
            DOF2_SetInt(file, string, ORG_VEHICLE_C1[f][c]);
            format(string, sizeof(string), "Carro%dC2", slot);
            DOF2_SetInt(file, string, ORG_VEHICLE_C2[f][c]);
            format(string, sizeof(string), "Carro%dwheels", slot);
            DOF2_SetInt(file, string, ORG_VEHICLE_HIDRAULIC[f][c]);
            format(string, sizeof(string), "Carro%dhidra", slot);
            DOF2_SetInt(file, string, ORG_VEHICLE_WHEELS[f][c]);
            format(string, sizeof(string), "Carro%dspoiler", slot);
            DOF2_SetInt(file, string, ORG_VEHICLE_SPOILER[f][c]);
            format(string, sizeof(string), "Carro%dpack", slot);
            DOF2_SetInt(file, string, ORG_VEHICLE_PACK[f][c]);
            format(string, sizeof(string), "Carro%dpaintjob", slot);
            DOF2_SetInt(file, string, ORG_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 f = 1; f < MAX_TEAMS; f++)
    {
        format(file, sizeof(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] < 4) ORG_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 z = 0; z < max_subsection_members; ++z)
            {
                format(string, sizeof(string), "sub1_members-%d", z); format(subsection1_members[f][z], 24, "%s", DOF2_GetString(file, string));
                if(!strcmp(subsection1_members[f][z], "asuhdkasfja", true)) format(subsection1_members[f][z], 24, "vazio");
                format(string, sizeof(string), "sub2_members-%d", z); format(subsection2_members[f][z], 24, "%s", DOF2_GetString(file, string));
                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 i = 1; i < MAX_MEMBERS; i++)
            {
                format(string, sizeof(string), "Member%02d",i);
                format(Org_Member[f][i], 24, "%s", DOF2_GetString(file, string));
                format(string, sizeof(string), "Cargo%02d" ,i);
                Org_Position[f][i] = DOF2_GetInt(file, string);
                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 z = 0; z < max_subsection_members; z++)
            {
                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 i = 1; i < MAX_MEMBERS; i++)
            {
                format(Org_Member[f][i],24, "vazio");
                Org_Position[f][i] = 0;
            }
            ////////////////////////////////////////////////////////////////////
        }
        ////////////////////////////////////////////////////////////////////////
        format(file, sizeof(file), "general/teams/team-%02d-vehicles.ini", f);
        if(DOF2_FileExists(file))
        {
            for(new c = 0; c < MAX_ORG_CARS; ++c)
            {
                new slot = c+1;
                format(string, sizeof(string), "Carro%dM", slot);
                ORG_vMODEL[f][c] = DOF2_GetInt(file, string);
                format(string, sizeof(string), "Carro%dX", slot);
                ORG_VEHICLE_PX[f][c] = DOF2_GetFloat(file, string);
                format(string, sizeof(string), "Carro%dY", slot);
                ORG_VEHICLE_PY[f][c] = DOF2_GetFloat(file, string);
                format(string, sizeof(string), "Carro%dZ", slot);
                ORG_VEHICLE_PZ[f][c] = DOF2_GetFloat(file, string);
                format(string, sizeof(string), "Carro%dA", slot);
                ORG_VEHICLE_PA[f][c] = DOF2_GetFloat(file, string);
                format(string, sizeof(string), "Carro%dC1", slot);
                ORG_VEHICLE_C1[f][c] = DOF2_GetInt(file, string);
                format(string, sizeof(string), "Carro%dC2", slot);
                ORG_VEHICLE_C2[f][c] = DOF2_GetInt(file, string);
                format(string, sizeof(string), "Carro%dwheels", slot);
                ORG_VEHICLE_HIDRAULIC[f][c] = DOF2_GetInt(file, string);
                format(string, sizeof(string), "Carro%dhidra", slot);
                ORG_VEHICLE_WHEELS[f][c] = DOF2_GetInt(file, string);
                format(string, sizeof(string), "Carro%dspoiler", slot);
                ORG_VEHICLE_SPOILER[f][c] = DOF2_GetInt(file, string);
                format(string, sizeof(string), "Carro%dpack", slot);
                ORG_VEHICLE_PACK[f][c] = DOF2_GetInt(file, string);
                format(string, sizeof(string), "Carro%dpaintjob", slot);
                ORG_VEHICLE_PAINTJOB[f][c] = DOF2_GetInt(file, string);
            }
        }
        else
        {
            for(new c = 0; c < MAX_ORG_CARS; ++c)
            {
                ORG_vMODEL[f][c] = 0; ORG_VEHICLE_PX[f][c] = 0; ORG_VEHICLE_PY[f][c] = 0; ORG_VEHICLE_PZ[f][c] = 0; ORG_VEHICLE_PA[f][c] = 0; ORG_VEHICLE_C1[f][c] = 0; ORG_VEHICLE_C2[f][c] = 0;
                ORG_VEHICLE_MATS[f][c] = 0; ORG_VEHICLE_HIDRAULIC[f][c] = 0; ORG_VEHICLE_WHEELS[f][c] = 0; ORG_VEHICLE_SPOILER[f][c] = 0; ORG_VEHICLE_PACK[f][c] = 0; ORG_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?
