Code archives/File Utilities/Simple File Save, File Load
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
This is my first entry to the code archives, and it will be very simple. This code saves the camera's x, y, and z location as integers, and loads it too. | |||||
[code] ;Function SaveGame(camerahandle) ;Saves the game ;Perimeters: ;camerahandle - the handle of the camera you want to save the position of. Function SaveGame(camerahandle) ;set up the screen Cls Locate 0,0 ;let user choose what to save game as filesave = Input("Save game as - ") filesave = filesave + ".dat" ;write files to dat file fileout = WriteFile(filesave) x = EntityX(camerahandle) y = EntityY(camerahandle) z = EntityZ(camerahandle) ;enter any other variables included in any games here. x = WriteInt(fileout) y = WriteInt(fileout) z = WriteInt(fileout) ;for extra variables, use "WriteInt," "WriteString," and "WriteByte" accordingly. ;close file CloseFile(fileout) End Function ;Function LoadGame(camerahandle) ;Loads a previously saved game ;Perimeters: ;camerahandle - handle of the main camera Function LoadGame(camerahandle) ;set up the screen Cls Locate 0,0 ;Let user load game fileload = Input("Load file - ") fileload = fileload + ".dat" ;Open file for reading filein = ReadFile(fileload) ;load info x = ReadInt(filein) y = ReadInt(filein) z = ReadInt(filein) ;read all the other data you saved ;make sure it is in the same order you saved it as ;close the file CloseFile(filein) ;position camera PositionEntity camerahandle, x, y, z SetUp() ; some function to set up everything for your game. End Function ;(c)2004 No Enemies Games (not really) |
Comments
| ||
1. Write the X/Y/Z positions as floats. That's how they're stored internally (maybe they're stored as doubles, but I sure as hell know that they aren't integers). 2. WriteInt/Float/Short/etc. do not return anything of value. Don't bother doing 'x = WriteInt(file,val)', just make the call to the function and forget about assigning the variables a value. 3. This code will not work. Plain and simple, you apparently didn't test it before uploading. Write functions take two arguments at minimum: stream and value. In your case, you're writing an integer without passing the value of the integer to the function. |
| ||
Yeah, nothing I do works. Oh well. |
Code Archives Forum