Хотел сделать что бы каждое авто сохранялось в отдельный файл, но получилось так что все авто сохраняются неправильно, и в каждом файле появляются сначала пустые значения, а потом то что должно быть.
Может подскажете, где у меня в коде ошибка?
Может подскажете, где у меня в коде ошибка?
SaveCars()
{
new idx;
new ids[32];
new playerid;
new car = GetPlayerVehicleID(playerid);
format(ids,sizeof(ids),"cars/%d.ini",car);
new File: file2;
while (idx < OWNABLECARS)
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d|%f|%f|%f|%f|%f|%f|%f|%f|%d|%d|%s|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
CarInfo[idx][cId],
CarInfo[idx][cSTCar_x],
CarInfo[idx][cSTCar_y],
CarInfo[idx][cSTCar_z],
CarInfo[idx][cSTCar_a],
CarInfo[idx][cPARKCar_x],
CarInfo[idx][cPARKCar_y],
CarInfo[idx][cPARKCar_z],
CarInfo[idx][cPARKCar_a],
CarInfo[idx][cColor1],
CarInfo[idx][cColor2],
CarInfo[idx][cOwner],
CarInfo[idx][cLock],
CarInfo[idx][cCost],
CarInfo[idx][cNitro],
CarInfo[idx][cWheels],
CarInfo[idx][cHydraulics],
CarInfo[idx][cPaintJob],
CarInfo[idx][cKey],
TrunkInfo[idx + SIMPLECARS+1][tMoney],
TrunkInfo[idx + SIMPLECARS+1][tDrugs],
TrunkInfo[idx + SIMPLECARS+1][tGun][0],
TrunkInfo[idx + SIMPLECARS+1][tGun][1],
TrunkInfo[idx + SIMPLECARS+1][tGun][2],
TrunkInfo[idx + SIMPLECARS+1][tGun][3],
TrunkInfo[idx + SIMPLECARS+1][tGun][4],
TrunkInfo[idx + SIMPLECARS+1][tAmmo][0],
TrunkInfo[idx + SIMPLECARS+1][tAmmo][1],
TrunkInfo[idx + SIMPLECARS+1][tAmmo][2],
TrunkInfo[idx + SIMPLECARS+1][tAmmo][3],
TrunkInfo[idx + SIMPLECARS+1][tAmmo][4],
TrunkInfo[idx + SIMPLECARS+1][tOpened]);
if(idx == 0)
{
file2 = fopen(ids, io_write);
}
else
{
file2 = fopen(ids, io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
{
new idx;
new ids[32];
new playerid;
new car = GetPlayerVehicleID(playerid);
format(ids,sizeof(ids),"cars/%d.ini",car);
new File: file2;
while (idx < OWNABLECARS)
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d|%f|%f|%f|%f|%f|%f|%f|%f|%d|%d|%s|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
CarInfo[idx][cId],
CarInfo[idx][cSTCar_x],
CarInfo[idx][cSTCar_y],
CarInfo[idx][cSTCar_z],
CarInfo[idx][cSTCar_a],
CarInfo[idx][cPARKCar_x],
CarInfo[idx][cPARKCar_y],
CarInfo[idx][cPARKCar_z],
CarInfo[idx][cPARKCar_a],
CarInfo[idx][cColor1],
CarInfo[idx][cColor2],
CarInfo[idx][cOwner],
CarInfo[idx][cLock],
CarInfo[idx][cCost],
CarInfo[idx][cNitro],
CarInfo[idx][cWheels],
CarInfo[idx][cHydraulics],
CarInfo[idx][cPaintJob],
CarInfo[idx][cKey],
TrunkInfo[idx + SIMPLECARS+1][tMoney],
TrunkInfo[idx + SIMPLECARS+1][tDrugs],
TrunkInfo[idx + SIMPLECARS+1][tGun][0],
TrunkInfo[idx + SIMPLECARS+1][tGun][1],
TrunkInfo[idx + SIMPLECARS+1][tGun][2],
TrunkInfo[idx + SIMPLECARS+1][tGun][3],
TrunkInfo[idx + SIMPLECARS+1][tGun][4],
TrunkInfo[idx + SIMPLECARS+1][tAmmo][0],
TrunkInfo[idx + SIMPLECARS+1][tAmmo][1],
TrunkInfo[idx + SIMPLECARS+1][tAmmo][2],
TrunkInfo[idx + SIMPLECARS+1][tAmmo][3],
TrunkInfo[idx + SIMPLECARS+1][tAmmo][4],
TrunkInfo[idx + SIMPLECARS+1][tOpened]);
if(idx == 0)
{
file2 = fopen(ids, io_write);
}
else
{
file2 = fopen(ids, io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
Последнее редактирование модератором: