04.02.2012, 00:12
Ola, estou a utilizar o sistema 'Didi' para gravar todas as definiзхes dos veнculos do meu server.
Entгo й o seguinte, quando eu faзo o Save dos veнculos ele grava tudo correctamente, mas as vezes quando faz o load nгo o
faz correctamente!
Acontece que as vezes quando ligo o server existem 2x o mesmo carro e desaparece outros..
Exemplo: Tenho 250 Carros, 148 Sгo infernos tudo com as mesmas caracterнsticas, 2 Sгo carros da policia.
Se desligar varias vezes o server os mesmos acabam por desaparecer e ficam como os outros 148 carros!
Nгo faзo a menor ideia de qual possa ser o problema jб tou a 3 dias a tentar resolver, peзo a vossa ajuda!
Entгo й o seguinte, quando eu faзo o Save dos veнculos ele grava tudo correctamente, mas as vezes quando faz o load nгo o
faz correctamente!
Acontece que as vezes quando ligo o server existem 2x o mesmo carro e desaparece outros..
Exemplo: Tenho 250 Carros, 148 Sгo infernos tudo com as mesmas caracterнsticas, 2 Sгo carros da policia.
Se desligar varias vezes o server os mesmos acabam por desaparecer e ficam como os outros 148 carros!
Nгo faзo a menor ideia de qual possa ser o problema jб tou a 3 dias a tentar resolver, peзo a vossa ajuda!
pawn Код:
public LoadDynamicCars()
{
for(new idx = 1; idx < sizeof(DynamicCars); idx++) {
new LoadCars[256];
format(LoadCars,sizeof(LoadCars),"Sistema/Cars/All/%d.ini",idx);
if(fexist(LoadCars)) {
DynamicCars[idx][CarModel] = dini_Int(LoadCars, "CarModel");
DynamicCars[idx][CarX] = dini_Int(LoadCars, "CarX");
DynamicCars[idx][CarY] = dini_Int(LoadCars, "CarY");
DynamicCars[idx][CarZ] = (dini_Int(LoadCars, "CarZ")+2);
DynamicCars[idx][CarAngle] = dini_Int(LoadCars, "CarAngle");
DynamicCars[idx][CarColor1] = dini_Int(LoadCars, "CarColor1");
DynamicCars[idx][CarColor2] = dini_Int(LoadCars, "CarColor2");
DynamicCars[idx][FactionCar] = dini_Int(LoadCars, "FactionCar");
DynamicCars[idx][CarType] = dini_Int(LoadCars, "CarType");
DynamicCars[idx][cOwner] = dini_Int(LoadCars, "cOwner");
DynamicCars[idx][cDescription] = dini_Int(LoadCars, "cDescription");
DynamicCars[idx][cValue] = dini_Int(LoadCars, "cValue");
DynamicCars[idx][cOwned] = dini_Int(LoadCars, "cOwned");
DynamicCars[idx][cLock] = dini_Int(LoadCars, "cLock");
//idx++;
new vehicleid = CreateVehicle(DynamicCars[idx][CarModel],DynamicCars[idx][CarX],DynamicCars[idx][CarY],DynamicCars[idx][CarZ],DynamicCars[idx][CarAngle],DynamicCars[idx][CarColor1],DynamicCars[idx][CarColor2], -1);
}
}
return 1;
}
//----------------------------------------------------------------------------------
public SaveDynamicCars()
{
new idx = 1;
while (idx < sizeof(DynamicCars)) {
new SaveCars[256];
format(SaveCars,sizeof(SaveCars),"Sistema/Cars/All/%d.ini",idx);
if(!dini_Exists(SaveCars)) {
dini_Create(SaveCars);
}
dini_IntSet(SaveCars,"CarModel", DynamicCars[idx][CarModel]);
dini_FloatSet(SaveCars,"CarX", DynamicCars[idx][CarX]);
dini_FloatSet(SaveCars,"CarY", DynamicCars[idx][CarY]);
dini_FloatSet(SaveCars,"CarZ", DynamicCars[idx][CarZ]);
dini_FloatSet(SaveCars,"CarAngle", DynamicCars[idx][CarAngle]);
dini_IntSet(SaveCars,"CarColor1", DynamicCars[idx][CarColor1]);
dini_IntSet(SaveCars,"CarColor2", DynamicCars[idx][CarColor2]);
dini_IntSet(SaveCars,"FactionCar", DynamicCars[idx][FactionCar]);
dini_IntSet(SaveCars,"CarType", DynamicCars[idx][CarType]);
dini_IntSet(SaveCars,"cOwner", DynamicCars[idx][cOwner]);
dini_IntSet(SaveCars,"cDescription", DynamicCars[idx][cDescription]);
dini_IntSet(SaveCars,"cValue", DynamicCars[idx][cValue]);
dini_IntSet(SaveCars,"cOwned", DynamicCars[idx][cOwned]);
dini_IntSet(SaveCars,"cLock", DynamicCars[idx][cLock]);
idx++;
}
return 1;
}