so i probably know why the code fucked up at this point thanks to your insight, BUT , i'll say what i did anyways:
So i made a folder called data
And in that folder made a txt file 'savefile.txt'
in my global, autoload node called 'data'
i had
var file = FileAccess.open("res://data/savefile.txt", FileAccess.WRITE)
and
var save_data : Dictionary = {
"location" = "scene"
}
and the rest of the code i put in the save ,load, and load game buttons (the diff between load and load game is that one belongs to a pause menu canvas layer scene and one is on the title screen, but functionally they're almost the same)
For saving i did:
on pressed
Data.save_data["location"] = get_tree().current_scene.name
Data.file.store_var(Data.save_data)
Data.file.close()
Dialogic.Save.save("slot")
And dialogic's built in save, can save dictionaries but you have to put extra code in for it, this one, in theory , should only be keeping track of the current active dialogue, were there to be any.
then the load buttons were
On pressed
var file = FileAccess.open("res://data/savefile.txt", FileAccess.READ)
Data.save_data = file.get_var()
file.close()
Dialogic.Save.load("slot")
if get_tree().current_scene.name != Data.save_data["location"]:
get_tree().change_scene_to_file("res://scenes/" + str(Data.save_data["location"]) +".tscn")
And load game is identical except it doesn't have the if clause, its just 'change scene to location.tscn'
and it worked mostly fine, but some things were just..clunky..No crashes, but, red errors that scared me a little, save games still not necessarily working across closing and re openings of the game, and some sound related bugs.