First, you need download the latest version of rng reporter. Just search for rng reporter, they'll have a download for you!
Second, you need to find your mac address, it's in the wireless settings on your ds. The same place you would enter your wifi passwords and such.
Third, you need to sync the ds with rng reporter.
What you need for this step:
A time.
To be saved in a place that has no moving npc's(trainers, nurse joy, etc.).
A pokemon that knows the move sweet scent.
Pokeballs! (Or any kind of ball, you'll be catching a pokemon.)
Go into rng reporter, find a button on it called parameters search(or something of the sort). There, enter which game you have, what kind of ds you have (rng only works for ds/ds lite models), your mac address and a random time in the game. ( for instance 13:13:26)
Now, go into the ds's time settings and change the time to a little bit before the time you just chose for the rng reporter. 13:13:00, that's what I would do! Now, restart your ds, make sure the time setting on the ds is right and go to the white menu where you choose which game to play. Which the ds clock reaches your exact given time, in this case 13:13:26, press A.
When the chance comes up, do no turn on your c gear.
You should be saved in a place where you get wild pokemon where there are no moving npcs, from there, don't take any steps and use sweet scent. Catch that pokemon. (The higher the level the better.) Now calculate its ivs. Use metalkid's iv calculator, not sereibii's, because it gives you a range. Enter those ivs into rng reporter and make sure you entered everything in each box and press search.
The only result that matters is the actual seconds, however far off it is, is how far off you need to adjust the given time rng reporter will give you. (for instance if the actual seconds are 25 and you entered 26, on a new frame time that was 1:24:28, you'd press A on the menu screen at 1:24:27).
Once the search is done, close that window and go back to the other window. You'll be using non cgear abuse. Method 5, I believe. Entering a nature won't matter. Put the max frame at something like 10, enter the IVs you want and whether a pokemon is stationary or wild. (For my example, ill do a stationary pokemon!)
Search for the frames. You may need to change the month where you are searching a couple times to find a low enough frame and if you do, you need to change that in your ds's time settings as well. The seeding will tell you the date to enter, along with the time.
Let's pretend we found a seed. August 15, 2011 at 2:24:18, frame: 6.
You start out at frame 1, with one pokemon in your party.
For each on you add to your party, it adjusts the frame by 1. (Max out at 5 pokemon in your party, because you need space for your new friend).
To adjust the frame, afterwards, you need to walk 128 steps in game.
You will probably need max repels, lots of them.
Save in front of said pokemon, and press A at that given time, for this example, our actual seconds were one behind, so I will press A at 2:24:17 with 5 pokemon in my party. When the game comes up, I don't turn on my cgear and I walk 128 steps and then I talk to the pokemon. Then I catch it. Check its ivs. The should be exactly what I wanted!
The nature is probably not what you want. There are two similar ways to get the nature you want. I will tell you one way. Because the other way could take you years to do..
Get a pokemon with the syncronize ability and the nature you want. It's okay if it is fainted, btw. This gives you a 50% chance of getting your nature.
So, go through the same process as earlier...
Restart the ds, press A at your time, adjust the frame with the pokemon and 128 steps however many times you need to do so, but this time, save in front of the pokemon. That will change the pid frame (which will change the nature, but not the ivs). Now catch it again!
If the nature isn't right, do it again, except save 2 times.
Not right again? Save 3 times, and so on and so forth.
By the end of your saving, you should have the perfect pokemon.