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; }
public LoadDynamicCars() { new File: file = fopen("Sistema/Cars/carspawns.cfg", io_read); if (file) { new idx = 1; while (idx < sizeof(DynamicCars)) { new LoadCars[256]; format(LoadCars,sizeof(LoadCars),"Sistema/Cars/All/%d.ini",idx); 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"); 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"); new Plate[22]; format(Plate,22,"RC-%d-RP",GetPlayerVehicleID(idx)); SetVehicleNumberPlate(idx,Plate); SetVehicleToRespawn(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); if(DynamicCars[idx][FactionCar] != 255) { format(Plate,22,"RC-%d-RP",GetPlayerVehicleID(idx)); SetVehicleNumberPlate(vehicleid,Plate); SetVehicleToRespawn(vehicleid); } idx++; } fclose(file); } return 1; }
You are using a weird way for this,
the loading has no working loop |
forward LoadVehicles();
public LoadVehicles()
{
for(new i = 1; i < sizeof(CarInfo); i++)
{
format(file4,sizeof(file4), "realityrp/vehicles/%d.ini", i);
if(fexist(file4))
{
CarInfo[i][model] = dini_Int(file4, "model");
CarInfo[i][owner] = dini_Int(file4, "owner");
CarInfo[i][forsale] = dini_Int(file4, "forsale");
CarInfo[i][vehx] = dini_Int(file4, "vehx");
CarInfo[i][vehy] = dini_Int(file4, "vehy");
CarInfo[i][vehz] = dini_Int(file4, "vehz");
CarInfo[i][rot] = dini_Int(file4, "rot");
CarInfo[i][vcol1] = dini_Int(file4, "vcol1");
CarInfo[i][vcol2] = dini_Int(file4, "vcol2");
CarInfo[i][Carid] = dini_Int(file4, "Carid");
CarInfo[i][CarLock] = dini_Int(file4, "CarLock");
strmid(CarInfo[i][OwnerName], dini_Get(file4,"OwnerName"), 0, strlen(dini_Get(file4,"OwnerName")), 255);
CarInfo[i][OwnerName] = strmid(CarInfo[i][OwnerName], dini_Get(file4,"OwnerName"), 0, strlen(dini_Get(file4,"OwnerName")), 256);
ownablecar = CreateVehicle(CarInfo[i][model], CarInfo[i][vehx], CarInfo[i][vehy], CarInfo[i][vehz], CarInfo[i][rot], CarInfo[i][vcol1], CarInfo[i][vcol2], 600000000000);
vehiforsale[ownablecar] = CarInfo[i][forsale];
vehiprice[ownablecar] = CarInfo[i][Vehprice];
vehilocked[ownablecar] = CarInfo[i][CarLock];
CarInfo[i][Vehprice] = dini_Int(file4, "Vehprice");
if(vehilocked[ownablecar] == 1)
{
GetVehicleParamsEx(ownablecar,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(ownablecar,engine,lights,alarm,true,bonnet,boot,objective);
}
else
{
GetVehicleParamsEx(ownablecar,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(ownablecar,engine,lights,alarm,false,bonnet,boot,objective);
}
if(vehiforsale[ownablecar] == 1)
{
new string[128];
format(string, sizeof(string), "Price: %d\nUse /buycar to buy this vehicle!",CarInfo[i][Vehprice]);
VehicleLabel[i] = Create3DTextLabel(string ,COLOR_ORANGE, CarInfo[i][vehx],CarInfo[i][vehy],CarInfo[i][vehz],20, 0, 1);
}
}
}
return 1;
}
You are opening the same file twice. If using dini (which I do not recommend using at all) you do not need to specifically call fopen.
|
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");
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 Plate[22];
format(Plate,22,"RC-%d-RP",GetPlayerVehicleID(idx));
SetVehicleNumberPlate(idx,Plate);
SetVehicleToRespawn(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);
if(DynamicCars[idx][FactionCar] != 255)
{
format(Plate,22,"RC-%d-RP",GetPlayerVehicleID(idx));
SetVehicleNumberPlate(vehicleid,Plate);
SetVehicleToRespawn(vehicleid);
}
}
}
return 1;
}