mosweg Geplaatst: 30 november 2009 Rapport Geplaatst: 30 november 2009 Ik ben bezig met een carsystem die alle auto's opslaat. Nu heb ik een probleem met de auto's opslaan als de server stopt. Dit staat nu Car.txt: Auto,11 Dit staat er na het opslaan in Car.txt: Auto,1093664768 Laden: stock LoadCars() { if(fexist("Car.txt")) { CountCars(); new Argument[13][70]; new entry[256], BoughtCars; new File: Carfile = fopen("Car.txt", io_read); if (Carfile) { for(new id; id<CarsAmount; id++) { fread(Carfile, entry); split(entry, Argument, ','); format(CarInfo[id][CarNaam], 64, "%s", Argument[0]); CarInfo[id][CarID] = floatstr(Argument[1]); CarInfo[id][CarM] = floatstr(Argument[2]); CarInfo[id][CarX] = floatstr(Argument[3]); CarInfo[id][CarY] = floatstr(Argument[4]); CarInfo[id][CarZ] = floatstr(Argument[5]); CarInfo[id][CarA] = floatstr(Argument[6]); CarInfo[id][CarC1] = floatstr(Argument[7]); CarInfo[id][CarC2] = floatstr(Argument[8]); CarInfo[id][CarBought] = floatstr(Argument[9]); format(CarInfo[id][CarOwner], 64, "%s", Argument[10]); CarInfo[id][CarPrice] = floatstr(Argument[11]); CarInfo[id][CarFuel] = floatstr(Argument[12]); //CarInfo[id][PickupNr] = CreateVehicle(CarInfo[id][CarM], CarInfo[id][CarX], CarInfo[id][CarY], CarInfo[id][CarZ], CarInfo[id][CarA], CarInfo[id][CarC1], CarInfo[id][CarC2], 60); if(CarInfo[id][CarBought] == 1) { BoughtCars++; } } fclose(Carfile); printf("==================================="); printf("|| %d Cars ||", CarsAmount); printf("|| %d Cars are bought ||", BoughtCars); printf("==================================="); } } } Opslaan: stock SaveCars() { new entry[256]; new File: Carfile = fopen("Car.txt", io_write); for(new id; id<CarsAmount; id++) { format(entry, 128, "%s,%d \r\n",CarInfo[id][CarNaam], CarInfo[id][CarID]); fwrite(Carfile, entry); } printf("Saved %d Cars!", CarsAmount); fclose(Carfile); } Reageren
Big Boss Geplaatst: 30 november 2009 Rapport Geplaatst: 30 november 2009 Het carid moet een integer zijn, geen float. // Bij de LoadCars CarInfo[id][CarID] = strval(Argument[1]); Reageren
mosweg Geplaatst: 30 november 2009 Auteur Rapport Geplaatst: 30 november 2009 (bewerkt) Dat zou theoretiesh werken maar ik krijg nog steeds een raar lang nummer. Dus heb ik de code een beetje aangepast en dan blijkt dat het waarschijndelijk aan het opslaan ligt, nu kijg ik alsnog 1065353216 >Pastebin< stock LoadCars() { if(fexist("Car.txt")) { CountCars(); new Argument[3][70]; new entry[256], BoughtCars; new File: Carfile = fopen("Car.txt", io_read); if (Carfile) { for(new id; id<CarsAmount; id++) { fread(Carfile, entry); split(entry, Argument, ','); format(CarInfo[id][CarNaam], 64, "%s", Argument[0]); CarInfo[id][CarID] = 1; /*CarInfo[id][CarM] = floatstr(Argument[2]); CarInfo[id][CarX] = floatstr(Argument[3]); CarInfo[id][CarY] = floatstr(Argument[4]); CarInfo[id][CarZ] = floatstr(Argument[5]); CarInfo[id][CarA] = floatstr(Argument[6]); CarInfo[id][CarC1] = floatstr(Argument[7]); CarInfo[id][CarC2] = floatstr(Argument[8]); CarInfo[id][CarBought] = floatstr(Argument[9]); format(CarInfo[id][CarOwner], 64, "%s", Argument[10]); CarInfo[id][CarPrice] = floatstr(Argument[11]); CarInfo[id][CarFuel] = floatstr(Argument[12]); CarInfo[id][PickupNr] = CreateVehicle(CarInfo[id][CarM], CarInfo[id][CarX], CarInfo[id][CarY], CarInfo[id][CarZ], CarInfo[id][CarA], CarInfo[id][CarC1], CarInfo[id][CarC2], 60); if(CarInfo[id][CarBought] == 1) { BoughtCars++; }*/ } fclose(Carfile); printf("==================================="); printf("|| %d Cars ||", CarsAmount); printf("|| %d Cars are bought ||", BoughtCars); printf("==================================="); } } } stock SaveCars() { new entry[256]; new File: Carfile = fopen("Car.txt", io_write); for(new id; id<CarsAmount; id++) { format(entry, 128, "%s,%d",CarInfo[id][CarNaam], CarInfo[id][CarID]); fwrite(Carfile, entry); } printf("Saved %d Cars!", CarsAmount); fclose(Carfile); } Bewerkt: 30 november 2009 door mosweg Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.