ID:146195
 
Code:
//saving objects
proc
ObjectSave()
var/list/objects = new()
var/savefile/F = new("Objects.sav")
for(var/obj/O in world)
if(O.owner)
O.lastx = O.x
O.lasty = O.y
O.lastz = O.z
objects.Add(O)
F["All"] << objects
//loading objects
ObjectLoad()
var/list/objects = new() //creates a new list.
var/savefile/F = new("Objects.sav")
F["All"] >> objects
if(!length(objects))
world<<"<font color=blue>-Announcement-<font color=red><font size=1>ERROR:No objects to load</font>"
return
for(var/obj/B) if(B.loc && B.owner) del(B)
for(var/obj/O in objects)
if(O:Layer == 1)
O.loc = locate(O.lastx,O.lasty,O.lastz)
if(O:Layer == 2)
O.loc = locate(O.lastx,O.lasty,O.lastz)
if(O:Layer == 3)
O.loc = locate(O.lastx,O.lasty,O.lastz)
if(O:Layer == 4)
O.loc = locate(O.lastx,O.lasty,O.lastz)
if(O:Layer == 5)
O.loc = locate(O.lastx,O.lasty,O.lastz)
world<<"<font color=blue>-Announcement-<font color=red><font size=1>All objects hae been loaded by [usr]."


Problem description:When ever i load the objects some times layer 2 objects be under layer 1 objects. How can i fix this problem?

Try
//saving objects
proc
ObjectSave()
var/list/objects = new()
var/savefile/F = new("Objects.sav")
for(var/obj/O in world)
if(O.owner)
O.lastx = O.x
O.lasty = O.y
O.lastz = O.z
O.lastlayer = O.layer
objects.Add(O)
F["All"] << objects
//loading objects
ObjectLoad()
var/list/objects = new() //creates a new list.
var/savefile/F = new("Objects.sav")
F["All"] >> objects
if(!length(objects))
world<<"<font color=blue>-Announcement-<font color=red><font size=1>ERROR:No objects to load</font>"
return
for(var/obj/B) if(B.loc && B.owner) del(B)
for(var/obj/O in objects)
O.layer = O.lastlayer
if(O:Layer == 1)
O.loc = locate(O.lastx,O.lasty,O.lastz)
if(O:Layer == 2)
O.loc = locate(O.lastx,O.lasty,O.lastz)
if(O:Layer == 3)
O.loc = locate(O.lastx,O.lasty,O.lastz)
if(O:Layer == 4)
O.loc = locate(O.lastx,O.lasty,O.lastz)
if(O:Layer == 5)
O.loc = locate(O.lastx,O.lasty,O.lastz)
world<<"<font color=blue>-Announcement-<font color=red><font size=1>All objects hae been loaded by [usr]."

Although, I've never had problems with the layer not being correct after loading...