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?