Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Sorry to bother you with something that is probably trivial, I don't think this is a bug in the game, I think something happened on my end, just hoping maybe someone can help me figure it out.
I recently had to move everything over to a new hard drive, after loading the game the first time I got an error and it would freeze up when I tried to load my save file, so I backed up my saves and all my images, and reinstalled the game, then copied the save and images back into the other file. It worked fine for awhile, now when I try to save I get:

SCRIPT ERROR: _on_SavePanel_visibility_changed: Invalid call. Nonexistent function 'has' in base 'Nil'.
          At: res://files/scripts/Mansion.gd:2084

That particular line in that file is:

if globals.savelist[i].has('date'):

that entire section is:

func _on_SavePanel_visibility_changed():
if get_node("menucontrol/menupanel/SavePanel").visible == false:
return
var node
var pressedsave
var moddedtext
for i in get_node("menucontrol/menupanel/SavePanel/ScrollContainer/savelist").get_children():
if i != get_node("menucontrol/menupanel/SavePanel/ScrollContainer/savelist/Button"):
i.hide()
i.queue_free()
var dir = Directory.new()
if dir.dir_exists("user://saves") == false:
dir.make_dir("user://saves")
var savefiles = globals.dir_contents()
for i in globals.savelist.duplicate():
if savefiles.find(i) < 0:
globals.savelist.erase(i)
pressedsave = get_node("menucontrol/menupanel/SavePanel//saveline").text
for i in savefiles:
node = get_node("menucontrol/menupanel/SavePanel/ScrollContainer/savelist/Button").duplicate()
node.show()
if globals.savelist.has(i):
if globals.savelist[i].has('date'):
node.get_node("date").set_text(globals.savelist[i].date)
node.get_node("name").set_text(i.replacen("user://saves/",''))
else:
node.get_node("name").set_text(i.replacen("user://saves/",''))
get_node("menucontrol/menupanel/SavePanel/ScrollContainer/savelist").add_child(node)
node.set_meta("name", i)
node.connect('pressed', self, 'loadchosen', [node])

There is a very niche bug prior to v1.0a, where the autosave functionality will screw things up if the autosaves are kept but the "progressfile" is not and the player generates either 1 or 2 autosaves from ending the day. While I'm not 100% certain that is your problem, this one is the most likely. The simplest solution is simply to flush the records for the autosaves by starting the game, quick starting a new progress (do no open the load/save menu), and ending the day at least 2 times. Deleting the autosaves and restarting the game, should also work, but I haven't tested it.

That did seem to fix it, thanks.