Well just to update everyone I found out what is wrong with my starter. I pulled it off and first i found that it was stuck so thats why it wouldn't engage. Then I found that the gear engages the flywheel is all chewed up and bad. So, I have to get a new starter!
As mentioned, make sure that the teeth on the flywheel are not ruined/broken. The gear on the starter is
suppose to wear/give first (softer metal). But, sometimes, it doesn't always go like that.
The gear on the starter may have gotten chewed up because of a weak battery.
Make sure you have oil that is 10W-somethingW, and not 30W-50W.
If it's easy, keep the battery warm inside. That will help with starting.
A cold engine is also much harder to start. When a cold engine that's added to a battery that's ~50% down on it's max cranking ability, that could be too much to ask for an old/weak battery.
That's why they have battery heaters, along with block heaters for the extreme cold.
Also, you can try to put a battery charger on the battery for 3-5 hours before trying to start the engine. That will help top off the battery charge, and also "warm the battery up a
very little" because it's charging.
Good Luck!