proc
Save(mob/player/M)
var/savefile/F=new(DetermineSave(M,M.slot))
M.overlays=null
M:Write(F)
M.Overlay_Refresh()
M<<"<center><font color=red>\[Game Saved.\]</font></center>"
Load(mob/player/M)
if(fexists(DetermineSave(M,M.slot)))
var/savefile/F=new(DetermineSave(M,M.slot))
M:Read(F)
mob
Write()
..()
var/savefile/F=new(DetermineSave(src,src.slot))
src.level.Write(F)
Read()
..()
var/savefile/F=new(DetermineSave(src,src.slot))
src.level.Read(F)
I am having issues. I have a 3-slot save system. It displays the name of the character in a grid, with Load/Delete buttons beside it. Everything works just fine until I log in(Which triggers Save()). It freezes up. It does this for any of my datums. When I don't manually save them like this, though, it gives many errors when loading. Can someone explain to me the proper way to go about saving datums?
What you should have is:
To have multiple "slots", just read/write from somewhere besides "mob". Like, say, "mob1" or "mob2" or "mob3".
I have absolutely no idea what you are trying to do with the level thing.