07.12.2010, 14:20
(
Последний раз редактировалось EthanR; 07.12.2010 в 14:39.
)
I'm trying to script a static cars system which loads / saves cars over a .CFG file. One little problem, explanation below.
SaveCars();
LoadCars();
It's all fine if a person buys a car, it will write perfectly into the .cfg file just like this example here.
The 2 lines are bought cars, the last line is an empty line which is not used yet (obviously).
Now to the problem, after a GameMode Restart, once a player buys a car it automaticly overwrites the FIRST USED line.
I need to know a way to check if the line is used, so it can overwrite the unused (third line) line.
Any ideas?
SaveCars();
Код:
public SaveCars()
{
new idx;
new File: file2;
while (idx < sizeof(CarInfo))
{
new coordsstring[512];
format(coordsstring, sizeof(coordsstring), "%s|%d|%d|%f|%f|%f\n",
CarInfo[idx][CarOwner],
CarInfo[idx][CarModel],
CarInfo[idx][CarID],
CarInfo[idx][CarPos][0],
CarInfo[idx][CarPos][1],
CarInfo[idx][CarPos][2]);
if(idx == 0)
{
file2 = fopen("cars.cfg", io_write);
}
else
{
file2 = fopen("cars.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
Код:
public LoadCars()
{
new arrCoords[6][64];
new strFromFile2[512];
new File: file = fopen("cars.cfg", io_read);
if(file)
{
new idx;
while (idx < sizeof(CarInfo))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, '|');
strmid(CarInfo[idx][CarOwner], arrCoords[0], 0, strlen(arrCoords[0]), 255);
CarInfo[idx][CarModel] = strvalEx(arrCoords[1]);
CarInfo[idx][CarID] = strvalEx(arrCoords[2]);
CarInfo[idx][CarPos][0] = floatstr(arrCoords[3]);
CarInfo[idx][CarPos][1] = floatstr(arrCoords[4]);
CarInfo[idx][CarPos][2] = floatstr(arrCoords[5]);
idx++;
}
fclose(file);
}
return 1;
}
Код:
Testname|560|1|2488.699951|317.899993|30.600484 Testname2|560|2|2597.541748|532.915832|155.538421 None|0|0|0.000000|0.000000|0.000000
Now to the problem, after a GameMode Restart, once a player buys a car it automaticly overwrites the FIRST USED line.
I need to know a way to check if the line is used, so it can overwrite the unused (third line) line.
Any ideas?

