I know that the RNG isn't actually random lol, and I know that it's a pattern. I also know that it _can_ be determined; it's working out where it is that makes it difficult for me.That's not quite right...
The Random Number Generator isn't actually random; instead, the next number to come up follows from the previous one in a pattern that we know. The "seed" is the random number that the generator starts on when you start the game. It's determined by the date and time on your DS when you press Continue, and by the "delay," which is simply a measure of how long you took to start the game up (from game start to pressing continue).
When exactly is "game start", though? That would help me a fair bit.
So that's what a frame is lol, I couldn't figure that out. That helps me out a lot.Advancing the RNG means simply that, advancing to the next "random" number along in the list. The "random" numbers that will follow from the initial one (the seed) are known as "frames;" so, if you start the game and then advance the RNG four times, you'd be four frames further along.

Yeah, I (kinda) get how stats are determined. That explains the RNG Reporter quite well actually.A Pokémon's stats, nature etc. are all decided by the RNG. So if we can change the RNG to whatever value we like, we can choose the Pokémon's stats. Programmes like RNGReporter will take a desired list of stats, and then find a "random" number from the list that will give those stats. Usually, this will be listed as a "seed" plus a "frame number"; an initial seed that it's possible to get to by changing your date, time and delay, and the number of advances you'll need to make to get from that "random" number to the "random" number that generates the desired Pokéon.
TBH I found your post better than the first at explaining the basics.
Thanks!