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?