Hello once again, indie devs!
Now that we have our games almost done, and we want to release them into the world, there is a huge feature that we may need in order to say they are completed- and that is the ability to save and load things.
Now, in my game, I currently only have one variable that gets saved which is the level number. It started as a variable that did not change, and would make you always start at level 1. However, what if you want to load an old game without starting over?
So, what I did was I removed the level = 1 line of code, and inside the Player, I added a Node2D called SaveData, and all it has is a script.

It's pretty much straightforward. Now, if I ever need to go to the door at the end of the level to go to the next one, I set up the door script like this:

And, as the player is the parent of the SaveData, I connected the signal to the player and added these lines of code under the signal-created function:

Now, whenever I start the game, it will automatically start on the level which I left off.
Edit: so I will admit it, I have just gotten into some issues with saving and loading, but fear not- the community here has helped me with the issue.
https://godotforums.org/d/30199-resolving-save-and-load/37
Hey, we all make mistakes, right? However, I'm glad I came across this bug so I can tell you about it.
However, the method I've been shown by the community here works very well- thank you, Godot forums! You guys and gals are incredibly helpful!
Now, after you examine the way to save multiple things at once- and we'll cover the for loop that we saw in this later on- what if you want to, say, save your current data for a scene- like, say you started with ten bullets in the first level, but you want to keep those ten bullets for each time you restart that level?
Instead of saving the bullets just in SaveData, you can save the bullets as an integer in the player script. If the scene you load is not your main menu, have your player bullets set to the amount of bullets in SaveData:

Now we change the script for shooting:

Almost done. Now, suppose we go to a new scene and want to save the amount of bullets from that one?
It's as simple as changing your scene loading script to something like this:

And, by the way, I know this method does work. 😉
Now, why did I add the part where I made a mistake in? I feel there is another thing you can take away from this.
The forums here are incredibly helpful. Do not hesitate to ask for help. So long as you don't spam the forums, the members here are willing to help you out. I don't know where you're coming from, but in my experience, building games is never about getting the first project done. I mean, it is, but there is a greater purpose here- and that is to learn how to code- finishing projects will come after this. If you are stuck on one tutorial- even this one- feel free to admit it. Others may direct you to other tuts that you can follow.
Also, if you get overwhelmed by all the variables, and signals, and whatever, it does not mean you are a bad programmer. It only means you are in need of help, or perhaps just need a break. I've been there. All that you shouldn't do in this state is let it make you quit. Programming is not easy, but it is rewarding and gives you a skill that not everyone has.
So, hopefully, I didn't just bore you to death with me rambling. I will see you in the next one.