Yeh, I think I've heard of E-World. LOL.
Basically how you approach it is to save the cordinates and other relevant details for each object in an array. So if you were saying theres a max of 5000 objects allowed then you'd do something like DIM OBJDATA(5000,4) - this would allow for 5000 objects and 4 elements for each (say x,y,z,and type of object). When you are creating the objects in the editor you record the details in said array.
In addition a possible way to work is to save the details of the no of objects in a Variable lets call it - NoObjs(1). We'll DIM it like: DIM NOOBJS(1) - so it can be used globally.
Again each time you create an object you increment this variable.
Then the saving code:
OPEN TO WRITE Fileno,Filename$:REM to open the file
WRITE LONG Fileno,NOObjs(1):REM to store the no of objects
The next code goes through each element of the array and saves them:
for n=1 to NoObjs(1)
for m=1 to 4
WRITE LONG Fileno,OBJDATA(n,m)
next m
next n
then just close the file CLOSE FILE fileno
to load the data its pretty much the same but in reverse. So first load in the noobjs count and place it in the variable NOOBJS(1):
OPEN TO READ Fileno,Filename$
READ LONG Fileno,NOOBJS(1)
FOR n=1 to NOOBJS(1)
for m=1 to 4
READ LONG Fileno,OBJDATA(n,m)
next m
next n
CLOSE FILE fileno
Or at least thats the approach I would take.