Go Back   Smogon Community > Pokémon > Wi-Fi
Register FAQ Social Groups Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools
Old Mar 16th, 2009, 4:19:44 PM   #1
mingot**
free agent
is a member of the Smogon Site Staffis a Battle Server Administratoris an Administrator
 
Administrator
Join Date: Jun 2008
Posts: 3,045
Default

Topic Overview

THE 2ND POST IN THIS THREAD HAS ADDITIONAL HGSS INFORMATION

THE 3RD POST IN THIS THREAD HAS INFORMATION ON INSTALLING RNG REPORTER ON INTEL MACS

The 4th Generation RNG, or Random Number Generator, is not quite as broken as Emerald's, but can be exploited by patient people. This thread will document what we do know and act as a clearinghouse for people interested in the research.

Rules:

If you are asking for help, these are questions you need to be answering in your post.

What are you trying to capture\hatch? Please specify whether you are attempting to breed a shiny Pokémon, breed IVs onto a Pokémon, or capture a Pokémon.

What is your target seed and frame? What is the delay of that seed?

How did you verify your seed? If using Elm's responses or coin flips to verify, tell us what YOU got. Not what RNG Reporter says.

If you tried and failed, what results did you get? You NEED to know this so you can figure out what went wrong. Results are either the IV\nature of the Pokemon you caught, or an ID\SID if you are attempting ID\SID abuse.

Posts asking for help without following these rules will be ignored.

Please do not ask for AR codes. Please do not give them to people to ask for them. They are all out there on the internet and can be googled.

Please do not make "Help me find my SID" requests in this thread! For that you may use the Simple Questions sticky in this forum. If you have a naturally caught (non-chained, non-bred) shiny you can get your SID from RNG Reporter. If you have between 4 and 7 chained shinies you can get your SID from RNG Reporter.

The Guides

Please refer to these guides for instructions on how to RNG Abuse Pokemon. The reset of the information in this post is technical and should probably be skipped.

The DPP / HGSS RNG Abuse Guide A comprehensive guide to RNG abuse in DPP and HGSS, thanks to Everstone.
The Emerald RNG Abuse Guide A comprehensive guide to RNG abuse in Emerald, thanks to Arseus.
HGSS Information

This is going to be a list of some of the differences, coming very soon.

Technical Information (Hidden)
...


Tool Links

Please post your tool with a description and I will update this area.

RNGReporter by mingot
General spread finder, but has some 4th Generation specific features related to finding an initial seed from either all time/delay information or by catching a wild Pokémon and entering a subset of time information to find probable starting seeds.

Wichu's RNG Tools by Wichu
A set of tools for RNG abuse in 4th gen games, for both Windows and Mac OS X. It consists of PokéRNG (a powerful and very fast spread finder), Wonder Card Helper (a seed finder for use in Wonder Card abuse), and Coin Flip Checker (a small tool for quickly and accurately checking your seed in D/P/Pt).

PokéRNG can find any method 1/J/K spread in around a minute; a popular use is to find all your shiny spreads, but its customisable search makes it useful for much more. It's also capable of finding every single possible encounter slot for a spread; much faster than checking each method J/K frame individually!

Wonder Card Helper accepts a target seed and a set of stats from a Wonder Card Pokémon, and lets you know what spread you actually hit. If you're RNGing Wonder Cards, it's invaluable.

Coin Flip Checker is a simple tool which uses D/P/Pt's Coin Flip Pokétch app to narrow down possible seeds on the fly; it can work with any number of coin flip results and find your seed immediately.

ShinyFinder by MinusOne
Very handy program which acts as an egg PID timefinder. If you understand general RNG abuse and have no problem resetting on a particular time and delay this is a must have program. If you don't, learn, and then use this.

ID Finder by Wild Eep (no longer distributed as a separate program as it is integrated into RNG Reporter)
This program is designed to find seeds to manipulate your trainer ID when starting a new game. Understanding how to reach very high delays (5000+) is crucial. (Detailed instructions for manipulating ID and SID are available here.)

Radio Seed by MinusOne
RadioSeed lets you use the Variety Channel for verification/tracking as well as frame advancement. The advantage of this is that the radio works in the champion's room, whereas the phone inexplicably doesn't, so anyone trying to RNG Raikou/Entei/Latias/Latios has to use the roamer method to verify (which can't tell you if you hit the right second) and count one-by-one frame advancements on the radio, which is tedious (and frustrating if you miscount) if you are going for a frame in the thousands. Another advantage is that locating your seed/frame is faster since the radio outputs are chosen from a much larger pool than the Elm responses (a unique sequence from a pool of 22 can be much shorter than a unique sequence from a pool of 3).


Thanks and Credits

These are folks that have helped with testing, ideas, encouragement. And some who had published papers that got my up to speed with things. This is truely a huge project and I could have spent a lifetime and never gotten half as far without all of the information, ideas, testing, and just general help of a lot of people.

bearsfan092, DarkProphet, Davy, Expert Evan, = Jonny =, LightningFusion, Lorak, Misdreavous, oddsock, OmegaDonut, Pink, Red Phoenix, Romsstar, Sabresite, SCV, Syberia, thetorsoboy, Wichu, Wild Eep, X-Act, Xenavire.

pidcalc author.

seed author.

emloop author.

Contributed something to help out and think you should be here? Say so.

The following three posts may have something interesting from some other researchers:


Instructions for installing and running RNG Reporter on Intel Macs

1) Download and install Mono for Mac OSX (note: you will need administrative privileges to install Mono).

2) Download RNG Reporter. Unpack the contents of the RNG Reporter .zip file onto your Desktop.

4) Download the RNG Reporter Mac supplement .zip file, attached to this post. Unpack the contents onto your Desktop

DOUBLE-CHECK: The files RNGReporter.exe, RNGReporter.exe.config MUST be directly on your Desktop, not contained within a folder on the Desktop. The RNG Reporter Mac supplement can actually be run from any location, but the Desktop is preferred.

5) Double-click the RNG Reporter icon. (Not the icon with the .exe extension.)
Attached Files
File Type: zip RNG Reporter.zip (17.0 KB, 1211 views)

Last edited by Nexus; Jan 25th, 2013 at 11:54:00 AM.
mingot is offline   Reply With Quote
Old Mar 16th, 2009, 4:27:38 PM   #2
ΩDonut
sometimes experimentation begins with "let's multi battle strip pokémon"
is a Forum Moderatoris a Programmeris a Pokémon Researcheris a Contributor to Smogon
 
ΩDonut's Avatar
 
Moderator
Join Date: Aug 2006
Posts: 3,692
Default

Consolidation of HGSS info, so people don't have to hunt through the thread.

Advancing the frame

It is still possible to advance the RNG by walking\turning in an area with wild Pokemon. However this method is inconsistent; sometimes it advances by 1, 2, or not at all. It should not be relied upon for predictable advancement.

Calling Professor Elm once you have a) gotten the Pokecenter nurse to see your Pokemon has Pokerus, b) visited Kanto, and c) shown him a hatched Togepi egg advances the RNG by 1 each time. Furthermore, the response he gives can be used to determine your current seed (guide here).

Confirmed: calling the Youngster Joey on your phone (when he isn't seeking a rematch) advances the RNG by 2.

Letting time pass in-game so the date rolls over to the next day seems to advance the RNG by 2.

When using Sweet Scent to advance the frame, your final frame will be the Method 1 frame of the Pokemon you catch (listed as "Actual" in RNG Reporter) + 6. Sweet Scent advances by 1 whenever you're on a bike, but having a Pokemon follow you seems to make this advance inconsistent.

Advancing the RNG using the radio is usually possible everywhere except inside a cave, or on top of Ho-oh's tower. The level just below it still gets radio reception, though.

To advance frames with the radio, start from the middle (no shows running), then click the button for the appropriate corner. You have then have to drag the cursor back to the middle without touching any other stations. Here are a list of shows and the amount of frames they advance.

Code:
Show            Advances                Day of Week                Location
Pokémon Music                1 frame, sometimes none - inconsistent        All day everyday                                               top-left.
Pokémon Talk                 14-18 frames -  inconsistent                  All day, every day                                             Top-right
Trainer Profiles             3 frames - inconsistent                       Everyday 12-1, 2-3, 4-5, 6-7, 8-9, 10-11 (BOTH AM AND PM)      Bottom-left
That town, these people       3 frames - inconsistent                      everyday 1-2, 3-4, 5-6, 7-8, 9-10, 11-12 (BOTH AM AND PM)      Bottom-left
Pokémon Search Party         1 frame                                        everyday 12-1, 3-4, 6-7, 9-10 (BOTH AM AND PM)                Bottom-right
Serial Radio Drama            1 frame                                      everyday 1-2, 4-5, 7-8, 10-11 (BOTH AM AND PM)                 Bottom-right
Buena's Password             none                                          everyday 2-3, 5-6, 8-9, 11-12 (BOTH AM AND PM)                 Bottom-right
For Kyogre, Groudon, and Rayquaza: walking in and out of the Embedded Tower advances the RNG by 1 each time.

Methods of Generation:

All roamers (Raikou, Entei, and the Latis), as well as gift Pokemon (all of the starters, Eevee, Togepi, the Arceus event that gives you Dialga\Palkia\Giratina, Game Corner Pokemon, etc.) are Method 1.
Everything else uses Method K.

Suicune is NOT a roamer.

Starting frames:

If a Pokemon is NOT listed here, assume it has a starting frame of 1.

Raikou: 1
Entei: 6 (unless Raikou has been caught, then it's 1)
Note: It has been reported that in European versions Entei is 1 and Raikou is 6.

Chikorita: 1
Cyndaquil: 5
Totodile: 9

Roaming Latios\Latias: varies, there is an NPC that advances the frame. You will have to save inside the Fan Club and immediately walk out the door or bring up the Pokegear. You will have to do a test run first to calibrate for the Lati's frame, similar to how you calibrate for your egg frame in DPPt.

Spiky-Eared Pichu: Frame 1, but on the Wondercard Method -- it is always Naughty natured

Interactable Pokemon, except Red Gyarados: 1

Hatching for shiny Eggs\Eggs of a certain nature

Unlike DPPt, HGSS does not have the benefit of coin flips and happiness taps, which were used to skip through eggs until one of the desired nature and\or shininess is found. In HGSS, eggs must be received\rejected from the Day-Care Man one at a time until the desired egg is reached. RNG Reporter (link in signature) has an option to search for very low egg PID frames, making it possible to find a shiny egg on the very first.

Hatching for flawless-IV eggs

Breeding for flawless IVs in HGSS uses very much the same procedure as that in DPPt, save for a few differences.

In DPPt, there were many wandering NPCs that made it a requirement to "calibrate" for the starting frame of an egg received from the Daycare Man. In HGSS, there is only one NPC on that route to worry about, and as a result the starting frame is usually 3 and there is no need to calibrate. To hit higher frames you have to open the Pokegear very quickly (before the NPC moves) and advance the RNG via the radio.

Furthermore, the method of IV inheritance has been changed, so all IVs have an equal change of being passed down. The Breeding (HGSS) option reflects this.

The effects of Power Items on the RNG and egg IVs is yet to be fully understood. It is known that it forces the inheritance of the chosen stat in lieu of another (example: a 31\A\B\7\A\13 spread becomes 31\19\B\7\A\A with a Power Anklet on the A parent). However, it has thus far shown some unpredictable patterns, sometimes it turns everything to the inheritance of the item-holding parent (31\19\A\7\A\A), and it is not yet known how the game decides what stat it favors the Power item stat over. The Power items very much mess up the spreads found in the Time Finder, so it's best to leave them alone.

Red Gyarados Info:

The Red Gyarados is generated by the same algorithm used to generate chained shinies in DPPt. Version 7.50 and later of RNG Reporter lists the spreads, but not necessarily the correct frames they appear on.

As a side note, it is possible to figure out your SID in HGSS very easily. This can be done by catching multiple Gyarados and recording their IVs and nature, resetting after each time. Putting these spreads into RNG Reporter's Chain to SID feature will reveal your game's SID.

Other tips:

In DPPt, roamers advanced the RNG by 1 for each roaming Pokemon. In HGSS, this appears to be inconsistent - sometimes a roamer advances the RNG by 2. It is recommended that all roamers are killed off before attempting RNG manipulation in HGSS. Don't worry, beating the Elite Four will bring them back if you haven't captured them.

In fact, all stationary Pokemon (including Sudowoodo, Snorlax, and the Red Gyarados) will respawn after you beat the Elite Four, if you haven't capture them.

Sixfortyfive and Destiny100 have provided a guide for RNGing Entei\Raikou after you encounter them in the Burned Tower:

...


For Dialga\Palkia\Giratina in the Arceus event:

...


Thanks to Romsstar, Newts_Ute, Sixfortyfive and everyone else who contributed tips! If you feel you've been left out of this list, let me know.

...

...

Last edited by mingot; May 20th, 2011 at 10:14:08 AM.
ΩDonut is offline   Reply With Quote
Old Mar 16th, 2009, 4:27:38 PM   #3
Wichu
ACUPRESSURE
is a Pokémon Researcher
 
Wichu's Avatar
 
Join Date: May 2007
Posts: 1,508
Cambridge, England
Default

PokéRNG
PokéRNG is a program for finding Pokémon spreads and how to hit them. It's extremely fast compared to other methods, taking only a few seconds at most to search all possible spreads for the one you're looking for.

Instructions
First, download the program, and if necessary, the Qt library files needed (it won't work without them).
Use the various controls to specify search conditions, and click 'Start Search'. If you want to stop searching at any time, click 'Stop Search'.
If your search was successful, you'll see a list of spreads. Click the table headers to sort by any column. Double-click a spread to bring up the spread information window. If you want to store the search results in a file, click one of the buttons at the bottom, or right-click the table to copy the selected rows to the clipboard.

And now for some more detail :)
The 'Game Mode' box (DPPt/HGSS) sets the minimum/maximum delays appropriately, and also makes it search for either Method J or Method K frames respectively.
The 'Search Mode' box changes the search algorithm. The 'Narrow' algorithm is usually preferred; its speed is proportional to the possible IV combinations in the search (technically, the combinations of HP/Atk/Def or SpA/SpD/Spe, whichever is smaller). Under some circumstances, though, 'Wide' can be slightly faster (when you have no conditions on IVs). If it seems to be going slowly in 'Narrow', try switching to 'Wide' (and restarting the search). Rule of thumb: 'Narrow' mode when you want a narrow IV range on at least one stat, 'Wide' when you want a wide IV range on all stats (i.e. 0-31ish large). If even one IV has a narrow range, 'Narrow' will be better.
TID/SID are only necessary if you're searching for shinies - they have no effect otherwise.
The Hidden Power base power you input is the minimum it will search for; for example, choosing 60 will search for any HP power between 60 and 70. If you need a specific HP Power, search for at least that much, then sort using the HP power column in ascending order.
The four options in each 'Search Type' box are:
  • >= : at least (searching for >= 20 will find 20, 21, 22 etc)
  • == : equal to (searching for == 20 will find 20 only)
  • <= : at most (searching for <= 20 will find 20, 19, 18 etc)
  • HP : at least + same Hidden Power (see the Hidden Power page - searching for HP 20 will find 20, 24, 28)
The minimum and minimum delay boxes specify the delay range for the current year. The drop-down next to them lets you only search for odd or even delays. Changing these won't affect what spreads you get; it will only change their seeds, delays and frames. By default, the boxes take values depending on the current year; choosing a year in the time finder should make the delays reachable (in Pt/HG/SS at least).
The 'Max. Method 1 Frame' is the highest Method 1 frame to search to. This is not the same as the highest Method J/K frame; Method 1 frames above the cutoff may have a Method J/K frame below. A value of 0 in this box means 'no maximum frame'
The 'Max. Method J/K Frame' is exactly what it describes. The value you put in here is affected by the 'Use Synch' box; if the 'Use Synch' box is not checked, it will discard any results which need a synchroniser to reach that frame. Like with the 'Max. Method 1 Frame', a value of 0 is ignored.
Specifying maximum frames will make PokéRNG discard spreads, unlike altering delay conditions. If you get no results when you set a maximum frame, try unsetting it (set it to 0) and searching again.
The 'Encounter Slots' box enables searching by encounter slots - click the 'Edit' button to select the slots you want. The search will find spreads that are available in any of the slots selected; for example, searching for slots Land 10 and Land 11 will yield results available in Land 10, Land 11, or both. The 'Use Synch' box affects this too; if it's not checked, it will only search for spreads available in that encounter slot without a synchroniser.
Keep in mind that calculating Method J/K frames and encounter slots takes a while; if you decide to search using these criteria, make sure you specify other criteria, such as IVs, shininess or nature too (so it doesn't have to do calculations for every single seed).
The CSV format (opens in Excel) has data in the same order as the in-program table and text format - this is different to the old version!

In the Spread Information window, the encounter slots listed are the only slots available for that spread (if the Method 1 frame is very low, narrowing the delay range could help by finding a different seed). Fishing spreads listed take into account the chance of not fishing anything up (HG/SS fishing and Rock Smash slots are unconfirmed; if the result you get doesn't match with what PokéRNG says, let me know). The frames listed are the minimum frames for each encounter slot.
The time finder is similar to RNG Reporter's - changing the year affects the delay, and changing the second affects time/date.

Changelog
28/02/2011: Implemented a new faster search algorithm ('Narrow' mode), searching by ability, and made the text output more descriptive in terms of search criteria.
04/02/2011: Added maximum Method J/K frame support, year and odd/even boxes to help with searching for specific delays, searching by encounter slots, copying data from the table, and fixed a few minor bugs.
02/02/2011: Fixed a few errors in the encounter slot finder and spread finder, made year in time finder default to the current year, fixed default max delay, added Rock Smash (tentative) to encounter slot finder.

Wonder Card Helper
Wonder Card Helper is a program to, well, help with abusing Wonder Cards. It functions as a stat-based seed finder with customisable accuracy ranges.

Instructions
Set the date/time/delay/frame you're aiming for, and check the seed and IVs match up. Then, each time you reset, input stats of the Pokémon you got, and click 'Find Spreads'; this will bring up a list of possibilities. Find the one you actually got, and adjust your procedure accordingly (if your actual delay was smaller than your target delay, for example, wait a tiny bit more on the title screen next time).
Adjusting the accuracy changes the number of spreads searched. If you're confident, lower the numbers in the boxes (increasing the accuracy), and you'll get more precise results.

Coin Flip Checker
Coin Flip Checker is a real-time seed finder for D/P/Pt which uses the Coin Flip Pokétch app.

Instructions
Input the date/time/delay you're aiming for, and make sure the seed matches up. Then, each time you reset, input the coin flip sequence you get (either typing it in or pressing the buttons); the list at the bottom will automatically filter itself until there's just one possibility.
The accuracies here have the same function as in Wonder Card Helper. Increasing the number increases the range of flips searched. If you're not too confident with your timing skills, put in higher numbers - you'll have to do more flips to narrow down the results, but it will catch you even if you're a way off the target time. The opposite is true if you're good at timing. Increasing the 'Max Flips' box will increase the length of the generated coin flip sequences, and vice versa. You shouldn't really need to increase this unless two of your sequences are nearly identical.
Try not to set the variables too high, as it may make the program hang.

Downloads
Download the whole package (all three apps, and the DLLs for Windows):
Windows
Mac OS X 10.6 (Snow Leopard)

Or download separately (Windows only at the moment):
PokéRNG
Wonder Card Helper
Coin Flip Checker
Qt DLL files


Windows users will need to place the 4 DLL files in the same folder as the programs.
Mac OS X users will need to install the Qt library from this page.
Without the Qt DLLs/library, the programs will not function.

Hosting courtesy of Bond697 :)

Old version stuff - see here for the good ol' Emerald-compatible version
__________________

Last edited by Wichu; Feb 28th, 2011 at 2:38:04 PM.
Wichu is offline   Reply With Quote
Old Mar 16th, 2009, 4:27:38 PM   #4
Romsstar
 
Romsstar's Avatar
 
Join Date: May 2009
Posts: 596
Germany (GMT+1)
Default

RNG Reporter Seed Verifying

Heart Gold and Soul Silver use a different method of Seed Verifying.

Alas, we don't have the Poketch in HG/SS anymore.

But we got the Pokégear and we still can use it to verify our seed, it just works different this time.

Let me try illustrate this with a concrete example.


Example:

Roamer Method:

Prerequisites:

- You have to note down the Routes of your Roamers at the moment when you saved as their Route is stored in the Save.

In this example Entei was Roaming at Route: 37

Guide:

Ok you noted down the Routes of your Roamers at the moment you saved, k?
Because this is important if you want 100% accurate results.
Let's start!

Open RNG Reporter.
Go to the Seed to Time Panel




D2140289 is our Target Seed.

First of all we enter the Route when we saved in RNG Reporter. Entei was roaming at Route 37 in this example.
Now read the Output.

E: 30
Elm Responses for the Seed : (K skipped) E, P, P, K, P, P, E, E, K, K
Frame Advanced: 1

We have so far, two methods of verifying our Seed with RNG Reporter.
First one is using the Roamer.

In this example this would work like this:


You press Generate and the Adjacent Finder will output Results.
If you hit your Delay the results will match the above.
(E: 30, Elm Responses for the Seed : (K skipped) E, P, P, K, P, P, E, E, K, K)

If not, you can use "Search Roamers" and input the Route your Roamer is at to see how much you were off.

Or you can input the Elm Response pattern.

The Elm Response Pattern is another method for Seed Verifying

Elm Method:

Prerequisites for this Method to work:

- You must have shown Elm the hatched Togepi Egg
- Transfer a Pokemon with cured Pokerus and show it at the Pokemon Center. You get a message and soon after that a call from Elm. If you seem not to get the call from Elm, just advance your DS Calender one two days forward till it shows (It will)
- You must have been in Kanto

All right I love this method since it has so many benefits after you finally get it actually to work-
You can check your seed everywhere anytime and on top of that: You can advance your frame everywhere, anytime.
Why?
Easy:
Calling Elm will advance your frame constantly +1

We got there a nice sheet with P, K, and E.
Now every of this buttons stand for a Message that you get if you call Prof Elm after doing everything that is required for this method.
P stand for PKRS,
E for Evolution
K for Kanto.
He has three messages and this they are.

Remember our Seed &pattern? If not here it is:

Seed: D2140289
Pattern. (K skipped) E, P, P, K, P, P, E, E, K, K)
Frame Advanced: 1
So if you got your desired Seed, call him 10 times and the pattern will be:
1 x Evolution,
2 x PKRS,
1 x Kanto
2 x PKRS
2 x Evolution
2 x Kanto

Now this makes 10. So we call Elm 10 times to verify our seed and if it matches this pattern we know we're right. If not, well you can check how much you were off or simply reset:P

New RNG Reporter works with Calling Elm 9 times but it also works fine with 10,
you can use whether you want as it's quite the same.

Also: There is Vertical Line in RNG Reporter with the E,K,P messages so you can keep track of your current frame which is very useful as you can advance your frame with calling Elm.

Frequently Asked Question: The results of Elm Method don't match with the ones I'm getting when I call him.

Answer: All right before you suspect that it might be RNG Reporter please check following things:

1. Are there any NPCs that might advance your frame? If you are aware of NPCs, please press X as soon as you enter the Game, advance your frame with Radio or Elm and then press as fast as possible A.
This goes for Breeding as there is one NPC. If you RNG for legends the RNG is mostly calm (Expect Roamers as you RNG them at E4 but I won't cover this here)

2. Have you really took all Roamers into account? Maybe you forgot Latias/Latios at Kanto Roaming? Did you fill in the Routes? Check the exact number of Pokemon Roaming and their Routes, which you were supposed to note down when you saved.

3. Calm, concentrate, so you really are sure you didn't miscalculate.


How to use PikaTimer



Here it is, big, beautiful, and many input boxes.
Confusing huh?
Wait, it gets worse :P
They all serve a purpose! No way?
Watch;)

Ok as you might have noticed we have

Calibrated Delay
Wanted Delay
Calibrated Second"
Wanted Second"

Let's start with these.
All right if you ask me, Calibration process is something old and useless.(Really it is)

So don't even bother to calibrate.
For DPPt: Let the Calibrated Delay and Calibrated Second the way they are.
For HGSS: Calibrated Delay 480, Calibrated Second 14.
These are parameters we can work with.

All right, let's say we chose a seed.
My preferred example is Seed D2140289
All right you selected your seed.
You selected your Target Time.
To waste as less time as needen it is adviceable to use a Seconds Value which gives you at least 30 seconds for the first timer but not much more as we don't want waste time.
in our example 50 works pretty good.

There is a formula to explain how the two timers work (Credit to Pehu for that)
It works like this:

First Timer + Second Timer = (Minutes before target x 60) + Wanted Seconds

So, for your example: 33.35 + 16.65 = (0 x 60) + 50

50 = 50
In that example, if you'd hit your delay, it would've been on the correct seconds of 50.

The reason why I explain this is because when you adjust your Other Delay and update, pikatimer changes only the second timer, the one that controls your delay. But because of that, if the number in the second timer is changed significantly, it can make you hit your delay but miss your seconds. Always double check that sum, and make sure it's as close to your Desired Seconds as possible.

So for example on D2140289 you get: 2010 04 26 20:56:50 639
20:55:25 is the time we have to hit on the continue screen
639 is our delay.Now how this is supposed to work for PikaTimer yeah?
Easy fellas, we'll get to it.
Let's assume you wanna hit 639 in HGSS.This would have to look like this;


First timer gives you 33,35 second one 16,65.
Minutes before target is the time you have to setup in your DS Menu.
Actually you have to press start after you set the time in your DS Menu.

20:56:50 was our target time remember?
Meaning: Set your DS Clock to 20:56:00 and press start on PikaTimer simultaneously. This is pretty easy if you use spacebar for it
at the instant the first timer reaches 0 you have to enter the game (means start the game at the DS Menu)As soon as the second timer reaches seacher you have to hit in that instant A at the Continue Screen.

Now it is rather rare that you'd hit your Delay at the first time.
So you have another box at PikaTimer called "Other Delay" you can use this to adjust your results.
For example you hit instead of 639 just 600.
Put in 600 at Other Delay press update and it will adjust the time for you.
Do this as many times needen till you get to your desired delay.

For finding out which Delay/Seed you actually hit you can use the Adjacent Finder in RNG Reporter.

If you keep missing your second(!=delay) try adjusting the first timer by a bit.

After all this is a bit a process of try&error but PikaTimer makes it kinda fun.

Actually I started using PikaTimer two days ago and can hit delays betweeen 2000-3000, I don't wanna brag but show you beginners that even if you completely new to this PikaTimer will be a grand help.

As I hope my explanation was.
If not, well I had the spare time:P


How to abuse your ID/SID

Let us take this for example:
PID: 7942ef72 (TIMID, ability 0) 31/31/31/31/31/31 (Seed: d2140289 Frames - 1: 114, J (synch): 71, J (no synch): None, K (synch): 71, K (no synch): 87) HP DARK 70

Hexflawless Spread generated with Wichus PokeRNG.

I guess you know how to do that.












After that: RNG as usual
(Calibration, etc.)

A normal delay for HG can lie between 5000 und 5700. for me it's easy to hit 5730 (I don't know why.xD)



If you abused succesfully, you will have a Shiny Spread on the PID you used.
Of course you can also use the Seed PokeRNG gives you. In the example case it would be: D2140289



Two Stage Timer

While RNGing for different stuff I realized how much it sucks that the only ms reliable timers are useable on computer only. Well here it is, a simple ms reading two stage timer in Javascript.

I tested this on my Sony Ericsson K850i and on
some other phones it works just nice. Enjoy!

Timer



...
__________________
Romsstars Trade Thread - Epis is agenda!
Soul Silver FC : 2493 6732 8626
Romsstar is offline   Reply With Quote
Old Mar 16th, 2009, 5:26:46 PM   #5
mingot**
free agent
is a member of the Smogon Site Staffis a Battle Server Administratoris an Administrator
 
Administrator
Join Date: Jun 2008
Posts: 3,045
Default

RNG Reporter Support

On any method J/K frame right click and select "Calculate Encounter Slots". It will do all of the work for you and provide links to charts so that you can look up what monster appears on which frame. Unless you are interested in the low level details you may skip all of the information below.

For encounters on grass/caves


To use this requires getting the RNG call previous to the frame of the Pokemon you are attempting to capture. To do this switch to method 1 and take the last 4 digits of the PID of the frame before your method J frame. For example, if you are targeting Method J frame 99, switch to Method 1 and take the last 4 digits of the PID on frame 98. This is the previous RNG result in hexadecimal. Use a calculator to convert this to decimal and then use the steps below to figure out what the monster will be for the frame.

Divide this number by 656 and discard any remainder or the decimal portion of the result (ie round down).

This gives a result between 0 and 99.

This number is then evaluated to produce and encounter slot that is between 0 and 11 (12 possible values).

Slot 0: 0-19 20% (Swarm)
Slot 1: 20-39 20% (Swarm)
Slot 2: 40-49 10%
Slot 3: 50-59 10%
Slot 4: 60-69 10%
Slot 5: 70-79 10%
Slot 6: 80-84 5% (Trophy Garden, Current)
Slot 7: 85-89 5% (Trophy Garden, Previous)
Slot 8: 90-93 4%
Slot 9: 94-97 4%
Slot 10: 98 1%
Slot 11: 99 1%

Use the charts linked below to find a slot for a particular area.

And finally the code:

Code:
;bcs Unsigned higher than or the same
;bcc Unsigned lower than

; rng call and create number from 0-99 with result

bl       #0x201B9EC ; call rng
mov  r1,#0x29 
lsl     r1,r1,#0x4 ; set r1 to 0x290
blx     #0x20EBC80 ; divide r0/r1, results in r0 (0-99)

0223C5C6 0400     lsl     r0,r0,#0x10
0223C5C8 0C04     lsr     r4,r0,#0x10

; Check to see if r4 is >= 0x64 (how can this happen?)
; what is #0x2020C2C ?
0223C5CA 2C64     cmp     r4,#0x64
0223C5CC D301     bcc     #0x223C5D2
0223C5CE F5E4FB2D bl      #0x2020C2C

; put the original result back into r0
0223C5D2 0620     lsl     r0,r4,#0x18
0223C5D4 0E00     lsr     r0,r0,#0x18

:check0-19
0223C5D6 2814     cmp     r0,#0x14 ; is r0 < 0x14 (20)
0223C5D8 D201     bcs     #0x223C5DE
0223C5DA 2000     mov     r0,#0x0 (0-19)
0223C5DC BD10     pop     {r4,r15}

:check20-39
0223C5DE D303     bcc     #0x223C5E8 ; if >= 0x14(20)
0223C5E0 2828     cmp     r0,#0x28 ; 40
0223C5E2 D201     bcs     #0x223C5E8 ; if r0 < 0x28 (30)
0223C5E4 2001     mov     r0,#0x1 ; (20-29)
0223C5E6 BD10     pop     {r4,r15}

:check40-49
0223C5E8 2828     cmp     r0,#0x28 ; 40
0223C5EA D303     bcc     #0x223C5F4 ; >= 40 
0223C5EC 2832     cmp     r0,#0x32 ; 50
0223C5EE D201     bcs     #0x223C5F4 ; < 50
0223C5F0 2002     mov     r0,#0x2
0223C5F2 BD10     pop     {r4,r15}

:check50-59
0223C5F4 2832     cmp     r0,#0x32 ; 50
0223C5F6 D303     bcc     #0x223C600
0223C5F8 283C     cmp     r0,#0x3C ; 60
0223C5FA D201     bcs     #0x223C600
0223C5FC 2003     mov     r0,#0x3
0223C5FE BD10     pop     {r4,r15}

:check60-69
0223C600 283C     cmp     r0,#0x3C
0223C602 D303     bcc     #0x223C60C
0223C604 2846     cmp     r0,#0x46
0223C606 D201     bcs     #0x223C60C
0223C608 2004     mov     r0,#0x4
0223C60A BD10     pop     {r4,r15}

:check70-79
0223C60C 2846     cmp     r0,#0x46
0223C60E D303     bcc     #0x223C618
0223C610 2850     cmp     r0,#0x50
0223C612 D201     bcs     #0x223C618
0223C614 2005     mov     r0,#0x5
0223C616 BD10     pop     {r4,r15}

:check80-84
0223C618 2850     cmp     r0,#0x50
0223C61A D303     bcc     #0x223C624
0223C61C 2855     cmp     r0,#0x55
0223C61E D201     bcs     #0x223C624
0223C620 2006     mov     r0,#0x6
0223C622 BD10     pop     {r4,r15}

:check85-89
0223C624 2855     cmp     r0,#0x55
0223C626 D303     bcc     #0x223C630
0223C628 285A     cmp     r0,#0x5A
0223C62A D201     bcs     #0x223C630
0223C62C 2007     mov     r0,#0x7
0223C62E BD10     pop     {r4,r15}

:check90-93 
0223C630 285A     cmp     r0,#0x5A
0223C632 D303     bcc     #0x223C63C
0223C634 285E     cmp     r0,#0x5E
0223C636 D201     bcs     #0x223C63C
0223C638 2008     mov     r0,#0x8
0223C63A BD10     pop     {r4,r15}

check94-97 
0223C63C 285E     cmp     r0,#0x5E
0223C63E D303     bcc     #0x223C648
0223C640 2862     cmp     r0,#0x62
0223C642 D201     bcs     #0x223C648
0223C644 2009     mov     r0,#0x9
0223C646 BD10     pop     {r4,r15}

:check98
0223C648 2862     cmp     r0,#0x62
0223C64A D101     bne     #0x223C650
0223C64C 200A     mov     r0,#0xA
0223C64E BD10     pop     {r4,r15}

:Check 99
0223C650 200B     mov     r0,#0xB
0223C652 BD10     pop     {r4,r15}
If anyone wants to double check it, feel free, more eyes can't hurt.

Looks like there is nearly enough information to go ahead and add this to RNG Reporter in the near future, but for now it should be easy enough to do by hand for those serious about it.

For encounters surfing and scenting in water

To do this, make a note of your method J frame and then locate the this frame - 2 in a method 1 list. Take the last 4 digits of the PID on this method 1 frame and convert it from hexadecimal to decimal.

Divide this number by 656 and discard any remainder or the decimal portion of the result (ie round down).

This gives a result between 0 and 99.

This number is then evaluated to produce and encounter slot that is between 0 and 4 (5 possible values).

Slot 0: 0-59 60%
Slot 1: 60-89 30%
Slot 2: 90-94 5%
Slot 3: 95-98 4%
Slot 4: 99 1%

Use the charts linked below to find a slot for a particular area.

Code:
0223C654 (water encounter code)
; rng call and reduce it to a number between 0 and 99
0223C654 B510     push    {r4,r14}
0223C656 F5DFF9C9 bl      #0x201B9EC
0223C65A 2129     mov     r1,#0x29
0223C65C 0109     lsl     r1,r1,#0x4
0223C65E F6AFEB10 blx     #0x20EBC80

0223C662 0400     lsl     r0,r0,#0x10
0223C664 0C04     lsr     r4,r0,#0x10

0223C666 2C64     cmp     r4,#0x64

0223C668 D301     bcc     #0x223C66E
0223C66A F5E4FADF bl      #0x2020C2C


0223C66E 0620     lsl     r0,r4,#0x18
0223C670 0E00     lsr     r0,r0,#0x18

;check 0-59
0223C672 283C     cmp     r0,#0x3C
0223C674 D201     bcs     #0x223C67A
0223C676 2000     mov     r0,#0x0
0223C678 BD10     pop     {r4,r15}

;check 60-89
0223C67A D303     bcc     #0x223C684
0223C67C 285A     cmp     r0,#0x5A
0223C67E D201     bcs     #0x223C684
0223C680 2001     mov     r0,#0x1
0223C682 BD10     pop     {r4,r15}

;check 90-94
0223C684 285A     cmp     r0,#0x5A
0223C686 D303     bcc     #0x223C690
0223C688 285F     cmp     r0,#0x5F
0223C68A D201     bcs     #0x223C690
0223C68C 2002     mov     r0,#0x2
0223C68E BD10     pop     {r4,r15}

;check 95-98
0223C690 285F     cmp     r0,#0x5F
0223C692 D303     bcc     #0x223C69C
0223C694 2863     cmp     r0,#0x63
0223C696 D201     bcs     #0x223C69C
0223C698 2003     mov     r0,#0x3
0223C69A BD10     pop     {r4,r15}

;check/fallthrough 99
0223C69C 2004     mov     r0,#0x4
0223C69E BD10     pop     {r4,r15}

For encounters fishing

Fishing is handled a bit differently from the previous two encounter scenarios.

First, since you can't sweet scent you have to determine if you are going to catch something at all for a particular frame. To do this, make a note of your method J frame and then locate the this frame - 3 in a method 1 list. Take the last 4 digits of the PID on this method 1 frame and convert it from hexadecimal to decimal.

Divide this number by 656 and discard any remainder or the decimal portion of the result (ie round down).

This gives a result between 0 and 99.

Now depending on your fishing rod here are the results:

Old Rod: Numbers between 0 and 24 mean a catch will be made.
Good Rod: Numbers between 0 and 49 mean a catch will be made.
Super Rod: Numbers between 0 and 74 mean a catch will be made.

Numbers that do not meet the criteria above will result in the "not even a nibble message"

Next take the last four digits of the method 1 PID that is on your method J frame - 2.

Divide this number by 656 and discard any remainder or the decimal portion of the result (ie round down).

Now use this number to figure out which slot you will get.

Old Rod:

Slot 0: 0-59 60%
Slot 1: 60-89 30%
Slot 2: 90-94 5%
Slot 3: 95-98 4%
Slot 4: 99 1%

Good and Super Rods:

Slot 0: 0-39 40%
Slot 1: 40-79 40%
Slot 2: 80-94 15%
Slot 3: 95-98 4%
Slot 4: 99 1%

Use the charts linked below to find a slot for a particular area.

Code:
; start, rod type passed into r0 (0=old, 1=good, 2=super)
0223C6A0 B570     push    {r4-r6,r14}
0223C6A2 1C05     mov     r5,r0
0223C6A4 2400     mov     r4,#0x0

; Call RNG and end up with 0-99
0223C6A6 F5DFF9A1 bl      #0x201B9EC
0223C6AA 2129     mov     r1,#0x29
0223C6AC 0109     lsl     r1,r1,#0x4
0223C6AE F6AFEAE8 blx     #0x20EBC80
0223C6B2 0400     lsl     r0,r0,#0x10
0223C6B4 0C06     lsr     r6,r0,#0x10
0223C6B6 2E64     cmp     r6,#0x64
0223C6B8 D301     bcc     #0x223C6BE
0223C6BA F5E4FAB7 bl      #0x2020C2C
0223C6BE 0630     lsl     r0,r6,#0x18
0223C6C0 0E00     lsr     r0,r0,#0x18

; old rod
0223C6C2 2D00     cmp     r5,#0x0
0223C6C4 D004     beq     #0x223C6D0

; good rod
0223C6C6 2D01     cmp     r5,#0x1
0223C6C8 D014     beq     #0x223C6F4

; super rod
0223C6CA 2D02     cmp     r5,#0x2
0223C6CC D024     beq     #0x223C718

0223C6CE E035     b       #0x223C73C

; old rod routine
0223C6D0 283C     cmp     r0,#0x3C ;
0223C6D2 D201     bcs     #0x223C6D8
0223C6D4 2400     mov     r4,#0x0
0223C6D6 E033     b       #0x223C740
0223C6D8 285A     cmp     r0,#0x5A ;
0223C6DA D201     bcs     #0x223C6E0
0223C6DC 2401     mov     r4,#0x1
0223C6DE E02F     b       #0x223C740
0223C6E0 285F     cmp     r0,#0x5F ;
0223C6E2 D201     bcs     #0x223C6E8
0223C6E4 2402     mov     r4,#0x2
0223C6E6 E02B     b       #0x223C740
0223C6E8 2863     cmp     r0,#0x63 ;
0223C6EA D201     bcs     #0x223C6F0
0223C6EC 2403     mov     r4,#0x3
0223C6EE E027     b       #0x223C740
0223C6F0 2404     mov     r4,#0x4
0223C6F2 E025     b       #0x223C740

; good rod routine
0223C6F4 2828     cmp     r0,#0x28
0223C6F6 D201     bcs     #0x223C6FC
0223C6F8 2400     mov     r4,#0x0
0223C6FA E021     b       #0x223C740
0223C6FC 2850     cmp     r0,#0x50
0223C6FE D201     bcs     #0x223C704
0223C700 2401     mov     r4,#0x1
0223C702 E01D     b       #0x223C740
0223C704 285F     cmp     r0,#0x5F
0223C706 D201     bcs     #0x223C70C
0223C708 2402     mov     r4,#0x2
0223C70A E019     b       #0x223C740
0223C70C 2863     cmp     r0,#0x63
0223C70E D201     bcs     #0x223C714
0223C710 2403     mov     r4,#0x3
0223C712 E015     b       #0x223C740
0223C714 2404     mov     r4,#0x4
0223C716 E013     b       #0x223C740

; super rod routine
0223C718 2828     cmp     r0,#0x28
0223C71A D201     bcs     #0x223C720
0223C71C 2400     mov     r4,#0x0
0223C71E E00F     b       #0x223C740
0223C720 2850     cmp     r0,#0x50
0223C722 D201     bcs     #0x223C728
0223C724 2401     mov     r4,#0x1
0223C726 E00B     b       #0x223C740
0223C728 285F     cmp     r0,#0x5F
0223C72A D201     bcs     #0x223C730
0223C72C 2402     mov     r4,#0x2
0223C72E E007     b       #0x223C740
0223C730 2863     cmp     r0,#0x63
0223C732 D201     bcs     #0x223C738
0223C734 2403     mov     r4,#0x3
0223C736 E003     b       #0x223C740
0223C738 2404     mov     r4,#0x4
0223C73A E001     b       #0x223C740

0223C73C F5E4FA76 bl      #0x2020C2C

; DONE, final results in r0
0223C740 1C20     mov     r0,r4
0223C742 BD70     pop     {r4-r6,r15}
Charts and stuff

Charts are here:

Platinum Chart

Diamond Chart

Pearl Chart

Heart Gold Chart

Soul Silver Chart

Last edited by mingot; Apr 25th, 2010 at 1:11:34 AM. Reason: stolen post
mingot is offline   Reply With Quote
Old Mar 16th, 2009, 5:48:52 PM   #6
bearsfan092
 
bearsfan092's Avatar
 
Join Date: Aug 2008
Posts: 1,048
Yoomtah!
Default

This post serves as an easy to find location for the various videos designed to serve as tutorials to those who wish to abuse the 4th generation RNG. These are put in order from what I feel is most basic to most difficult

DPPt:

Calibration Phase by Bearsfan092

RNG Abuse for Shiny Eggs by thetorsoboy


RNG Abuse for Legends by Bearsfan092

RNG Abuse for Eggs: Part 1 by Bearsfan092

RNG Abuse for Eggs: Part 2 by Bearsfan092

HGSS:

RNG Abuse for Legends/Regular Pokemon by Bearsfan092

RNG Abuse for Shiny Eggs and IV's by Bearsfan092

If you feel there is an RNG video that should be added here, PM me with a link. No low quality films please.

Enjoy!
__________________
Black FC: 3954 7943 2104
Diamond FC: 1590 6595 3602
RNG Abuse Tutorial Videos and Wifi Battle Videos-Now with revamped videos for current software
Say what? Bears has a trade thread again?

Last edited by bearsfan092; Jun 3rd, 2010 at 5:19:00 PM.
bearsfan092 is offline   Reply With Quote
Old Mar 16th, 2009, 5:48:52 PM   #7
Syberia
 
Syberia's Avatar
 
Join Date: Jun 2005
Posts: 4,905
Irvine, CA
Default

new guide.

Here's an alternate method of using emloop, since I can't seem to understand Sephirona's. I'm sure hers works just fine, I just can't seem to make sense of it @_@

Note: This guide requires that you be able to SR your game when the timer hits 0. It will not work for AR users, who cannot do this without turning their codes off. You can try the guide below mine, in that case, but I have no idea if it will work for you or not.

emloop


The Emloop Window:


The boxes are referred to in the guide by the color I have marked them. For a quick list of what does what, look here:
Red: Delay (frames)
Green: Pre-delay
Yellow: Delay (seconds)
Blue: Convert delay to seconds
Purple: Start timer


Step 1:
Find the seed of something you want to SR. Use RNGReporter to calculate a delay based on that seed for a given year (since you're trying to hit a non-standard delay if you're reading this, you're probably going to want to use 2008 or 2009 as the year, depending on if you commonly get even or odd delays). Enter the delay given by RNGReporter into the red box on Emloop.

Step 2:
Enter a value of 60 into the green box.

Step 3:
Press the blue button on emloop, and note the value that appears in the yellow box. This is your delay converted to seconds, and is necessary for finding a proper date/time combination in RNGReporter.

Ignore anything after the decimal place, it's only the first two numbers that matter. Don't round, just cut them off. In this case, I would simply be using "12."

Step 3.5:
Not a requirement, but this can make things a lot less difficult in certain situations.

If the value you get for seconds is dangerously close to the next whole number (to be safe, anything that's .8 or higher), I would add 0.2 to the green box (so, enter 60.2 instead of 60) and use (seconds +1) as the value to look for in RNGReporter. This minimizes the effects of not resetting your game and starting Emloop at the exact same time, as it gives you closer to a whole second's margin of error, as opposed to at most 0.2 seconds.

For example, if my delay converted to 12.87 seconds, I'd enter 60.2 in the green box and search for things with a seconds value of 13 in RNGReporter.

When doing this, you do not make any changes to the delay you entered into the red box.

Step 4:
Find a suitable date/time combination for your year in RNGReporter that uses the seconds from step 3 (or 3.5, if applicable).

Step 5:
Set the date on your DS to the date provided by RNGReporter. Change your DS time to be one minute before the time of your seed. If your seed came at 11:25.13, you'd want to set the DS clock to 11:24.

Step 5.5:
At the moment you press A to confirm the DS time change, press SPACE on the emloop window with your other hand. Alternatively, you may press the purple button, but SPACE is probably more convenient.

At this point, the timer will begin counting down from 60 (or 60.2, depending on step 3.5).

Step 6:
The DS will require you to turn it off after the time change; do that. Turn it back on and load your game.

Step 7:
When the first emloop timer hits 0, soft reset your game. It's wise to keep your fingers on three of the buttons (I like to use start, select, and R) so that all you have to do is press the fourth when it's time. Emloop's second timer (using your actual delay) should begin at the same time you SR.

The screen will be white for a second or two while the game re-loads itself, don't worry. You will correct for that in step #.

Step 8:
Mash A as rapidly as possible to get through the game's intro as quickly as possible. Pause on the continue screen (shown below) until emloop's time runs out, at which time you should press A to load your game.



Step 9:
Catch a pokemon and check your seed. You should note that the delay is probably nowhere near what you want it to be. This is because during the white screen, the game was loading, and not counting delay. You will need to adjust the delay you put into emloop as follows:

For example, say I was aiming for a delay of 767 (the number in the red box).
Let's also say the delay I got when I checked my seed was 663.
That's a difference of 104 (767-663=104).
In other words, my game took the equivalent of 104 frames to load.
To adjust, I'd simply add that time to my original delay.
The new number I'd enter into the red box is 871 (767+104=871).

If this causes the seconds to increase (more than likely it will, by either 1 or 2), you will need to lower the minutes of the time you are SRing for by an equal amount to compensate.

For example, if I was setting my clock to 11:24 in step 5, and my seconds changed from 13 to 15 (a change of 2), I'd now set the clock to 11:22 instead. Everything else would remain exactly the same.

Every game takes a different amount of time to load, especially if you are using a flash card. To make sure you have enough delay time available to you to actually calculate your specific load time, try adding about 200 frames to the initial value you use (so, if you were going for a delay of 767, try entering 967), go through the process once, figure out what delay you actually hit, and adjust accordingly. If you don't give yourself enough of a buffer to account for your load time, the timer will hit 0 before your game finishes loading, and that won't be very helpful.

Step 10:
Using the adjusted delay, repeat steps 3 through 8. Catch another pokemon and check your seed again. The delay should be close to what you're aiming for. If it is, you're ready to SR some pokemon using the same process. Normal human imperfection should cause you to hit the correct delay within a few tries.

If not, repeat the adjustment procedure outlined in the previous step.
__________________
Black/White Friend Code: 1721 2578 4968

My Pokemon | Free Pokemon | YouTube | Wonder Cards (now with Movie Celebis for Platinum and HG/SS!)

Last edited by Wild Eep; Nov 8th, 2009 at 1:22:25 PM. Reason: new emloop guide (Eep Edit: updating continue image such that it no longer crashes Firefox)
Syberia is offline   Reply With Quote
Old Mar 16th, 2009, 6:22:05 PM   #8
Sephirona
 
Sephirona's Avatar
 
Join Date: Apr 2009
Posts: 1,152
男じゃないわよ。
Default

Catching Wild Legends without Weird Years
Scroll to the bottom for a few NPC controlling tips ~

It's easy to change the year on your DS to achieve the higher delay you want, but here's a method you can use to more accurately predict the delay for those of you who dislike having Pokemon caught or hatched in the distant future.

This is by no means the only method, but so far it is one of the most predictable since you can tell the approximate time at which you should press the A button at the continue screen.

We'll cover:

- How to better predict a higher-than-normal delay
- How to incorporate a higher seconds value into the process


Prerequisites

1. RNG Reporter (Note to Mac Users: This software is for Windows and there is no Macintosh version. If you would like to try to run it using Wine/Mono please give it a shot, but no one has managed to make this work yet. You really should have Bootcamp, though.)

2. The Emloop Timer. This is in Japanese, but pictorial representations will be provided below. You should familiarize yourself with how it works.
(If you are interested in the other functions of Emloop, here's a pretty nice guide by MrSableye. We'll be using just the Timer, however.)

3. The Coin Flip (#15) Pokétch Application. You need this to determine whether you've hit the correct delay. You can find this in the Valor Resort area, south of where the woman lost her key. You need to use Rock Climb, and go down to the house on the ledge. The man in the house will give you the application.

4. Before trying this, it would also be easier if you already have a decent grasp of how to RNG for wild Pokemon in the first place, which is covered in the OP. This method is really for aesthetics for those who can RNG for Legends but do not like the outrageous dates associated with high delays, and it might be a bit challenging if you don't already know your average delay range and/or how to reset for delays.


Step 1

Before starting:


1. Using the RNG Reporter, you should already have found your desired initial seed with the Time Finder.

2. Plug the initial seed into the RNG Reporter's Seed to Time function, and choose a suitable date. Take note of the time, especially the seconds, that you need.

3. You should be in front of your target Pokemon, with the proper number of Pokemon in your party depending on whether you need an odd or even frame you are trying to achieve, and with knowledge of how to use the Journal to advance your frame.
As a note, it is useful to have at least one spot open in your party to capture your target and note what its initial seed is so you know the delay you just hit.

4. Have the Coin Flip Application open. You will need this to determine if you've hit the correct delay.

5. Save your game and get ready to use the Emloop Timer.


Step 2
Here's a screenshot of the Em-timer interface:



Here's where you have to do some math. Take the higher target delay you want and subtract your normal delay from it. This number, which you normally would add to the Years on your DS, should be plugged into the box I labeled Frames. Press the button under this box and it will convert this to some amount of seconds in the Time box. This is the additional time you need to wait at the Continue Screen before you press A, and it is okay if it's in decimals.



Step 3

Take your target time and note the seconds. First, subtract your usual seconds value (14-15 ish) from the seconds of your target time. From the answer you get, further subtract the value you have from
your Time box. Now take this final answer and plug it into the Pre-Reset Time Box, as labeled above.

The emloop timer is a two-stage timer - the value in the
Pre-Reset Time Box will count down first, and you should later be ready to reset your game the instance it reaches zero.



Step 4

You're almost ready. Remember the time in the Time box you converted?
Add your usual seconds value (14-15 ish) to this number. The number in this box is the second count-down of emloop's two-stage timer.

Check the Ten Second Beeper, because it will be extremely useful (even necessary) to time yourself.



Step 5

Now when you are ready, hold down both the Start button on the Emloop Timer and the confirm button for your DS clock. (DS time should be on the same minute as your Target Time.) Release both buttons at the same time, wait for your DS to shut off automatically, and turn it back on and load the game.

From here, it is up to you to practice
:

- Soft-reseting exactly when the Pre-Reset Timer hits 00:00:00 but a literal split second before you hear the chime that signifies the start of your second timer
- And to press A at Continue exactly when you hear the final chime that signifies your 2nd timer has hit 00:00:00.

If you don't know what these chimes sound like, just take some time and run the timer once just to listen to the sounds it makes. Remember that even a 00:00:01 difference can throw your delay off by at least a few, so practice consistency. With good timing, you can narrow your range to just about the same amount you would normally have (a difference of ten or less).

When your coin flips match at least TEN in the column when you put your Initial Seed into the RNG Reporter and set the method to DPPt Egg (Normal), you've probably hit your delay! Congrats. :>



Tips

- The final number you count down from in the Time Box and the final number you count down from in the Pre-Reset Time Box should add up to the seconds value of your Target Time. (i.e. 14.80 + 44.20 = 59)

- It is always wise to capture your target Pokemon and check the initial seed you got when you know your delay was wrong based on your coin flips. This will tell you if you've messed up on the seconds and how far off your delay value is from what you desire.

- If you happen to find that your average range is consistently a little lower or higher than you want, don't be afraid to add or subtract 2 into the delay you first put into the Frames box in Step 2. Just remember to follow the same steps to subtract the resulting larger or smaller seconds value to the time in your Pre-Reset Time box, and to follow the rest of the steps accordingly.

- You can always just increase your year by one or two if you don't really mind the difference, but part of the challenge is hitting exactly what you want exactly when you want. :0 Challenge yourself!

- As a small note in case there's any confusion, the usage of the term 'frame' for the Frames box that you put your extra delay value in is different from the "frame" you use NPC movements and Journal flips to advance. So don't worry about it too much.

------


An Example

Target:

SEED: 8702028F
DATE: 2009/05/05
TIME: 02:51:59
DELAY: 646

Usual Values:

Delay Range: 594-602
Seconds: 14

**The picture of the Emloop Interface up there is actually of what my final numbers looked like while I was reseting, read below.


First, I took the extra delay value I needed - in my case, I needed 646 and my normal value is usually 600, so 46 - and put that into the Frames box. That gave me .76 seconds after converting.

Then, I subtracted 14 from my target 59 seconds - that made 45 seconds.

Since I need to wait the extra .76 seconds at the continue screen, I subtracted .76 from 45 and got 44.24. I put this in the pre-seconds counting box. Then, I added 14 to the .76 and used that for my countdown instead. Now, with the second part of the timer, I proceed to the continue screen as usual, except in this case, it gives me a visual approximation for when I should press A - right as 14.76 seconds finishes. This way, I still hit 59 seconds, while satisfying the longer time period I needed to stay at the continue screen to hit my delay.

However, I realized that by doing this, my delay range was still a little lower than I wanted. So I added 2 to what I put into the Frames Box and got .80 seconds. I went back and did all the math, so that I would still be hitting A at exactly 59 seconds, but that I would be waiting a split second longer at the Continue screen - which would raise my delay a tiny bit. The picture of the Emloop Timer provided is what my final interface looked like when I started reseting again - and got my Pokemon. :0

Good luck, everyone! Remember, we're not machines, so don't worry if it takes a bit more practice to reset and press A at exactly 00:00:00.

Credits: Mingot, OmegaDonut, Sephirona (me.) (for fleshing out Omega's idea about the Emloop Timer and writing this lul), Expert Evan for his version of the method that I read over before playing with my own, and everyone else who's responded to my noobish questions about how to fiddle with the RNG :0




Tips for better NPC control when catching wild Pokemon

NPC movements are annoying when you're trying to land on a specific frame in an area infested with wandering NPCs, but here are a few tips to possibly limit the effects of NPC movements. This works best in an area with wandering NPCs that are mostly trainers.

- Use the Vs. Seeker to rebattle all the wandering trainers you can in the entire zone. If you stay in the same zone and save, when you next turn on the game they will stay unmoving. The Vs. Seeker is obtained from Lucas around Cycling Road in Diamond/Pearl and in front of the Mt. Coronet entrance north of Oreburgh in Platinum.
A zone refers to a whole area, but keep in mind that certain routes may be divided into two separate zones (as in the case of Route 210) even if the little box that normally scrolls down when you enter a new area doesn't appear.


-
After you've 'eliminated' as many wandering trainers as you can, save (while staying in the same zone). If there are no wandering NPCs left (the ones you could not Vs. Seeker to battle) you can proceed as normal with your RNGing. If there are any left, you should save with as many of them in view as possible while standing in a grass patch, with the Coin Flip application open as usual. Hopefully you don't have many non-trainer NPCs left .-.


- Try to save at an instance where your remaining NPCs don't start moving immediately after you press A at continue. Now, when you next turn on the game, as soon as the screen loads after the continue screen hit the x button to open the menu. This will pause the NPCs on screen and prevent the RNG from advancing due to their movements. Now, when you're ready, cancel the start screen very quickly, tap the Coin Flip app, and press x immediately again. The Coin will keep flipping even after the start screen is up, and the results will still tell you if you've hit your delay.
If you haven't hit your delay, go catch a wild Pokemon and find out why as usual, etc.etc.

-If you need to take a step forward to make your frames odd, do so in the same manner.
I haven't tested to see how long this can be kept up before an NPC tries to move, but I successfully flipped the coin like this three times without them moving, and took a step forward without them moving either. I didn't have to flip any more because I knew from previous experience with the same seed that it was correct.


- Note that if you save after using Defog, the fog will not return upon restarting the game unless you leave the zone.


__________________
[Trade Thread]: ☆ {●● sayaendou ●●} ☆
[Art Thread]
: Sephiroth Voiced Mudkip in Japanese
5th Gen Trading: 5457 - 9634 - 4593 (White)
4th Gen Trading: 1721 - 4192 - 5973 (Soul Silver)

Last edited by Sephirona; Jul 3rd, 2009 at 6:23:04 PM. Reason: Tips for some NPC control~
Sephirona is offline   Reply With Quote
Old Mar 16th, 2009, 6:25:41 PM   #9
LightningFusion
 
LightningFusion's Avatar
 
Join Date: Mar 2009
Posts: 1,781
Michigan
Default

-Poke Radar Abuse-

The pokeradar advances the RNG based on the number of patches that show up.

4 Patches = 10
3 Patches = 8
2 Patches = 6
1 Patch = 4

The pokemon for the patch is based off the same as the Sweet scent encounter slot. The pokemon radar slot for the encounter slots does not always get the radar pokemon. As of right now, I am unsure what determines if it will be the radar pokemon or not, but the best odds to get your target radar pokemon and the right frame, is to catch one first, getting you a chain of one.

- How to Abuse -

Getting prepared
- Choose a frame that is high. Peferably over 700.
- Bring a Syncher and a Flyer only! Or add 1 extra pokemon only.
- Go to the route your pokemon is on.
- Battle every moving NPC that you can that affects the RNG.
- Use any repel, the higher the better.
- Save in the middle of a big patch. Set the pokeradar so you don't have to open the menu every time.

Reset your game until you hit your seed, verifing by coin flips, or in weather by catching a pokemon.

What you want to do is pokeradar, and go into a patch that is sparkling. For reference in this guide:
shiny patch = shiny
sparkling patch = radar pokemon
plain patch = no radar pokemon

You want to try catching your radar pokemon and thus starting a chain of one. Keep radaring and walk into the sparkling patches until you battle the radar pokemon. Any other pokemon run from. If it is your target pokemon, catch it. Notice where the patches are and find the sparkling patch. That is the patch you will walk in to. Note the amount of steps it takes to get there and all the advancement that will occur. Walking forward is one advancement and turning is one advancement. In some cases, forward steps randomly advance by 2. I suggest doing a turn+walk, which is 2 advancements, and seems not to occur the random additional advancement for walking forward. Calculate the amount of advancements for you to walk to that patch. This will be used to calculate the journal flips required later on.

If there is no sparkling patch, try radaring again and you must capture the radar pokemon to find out what frame you are on.

Check the frame of the caught pokemon, and find out the actual frame. This will be coloumn two. Now you have everything to do the calculations for the journal flips.

~Calculations for journal flip

Target frame - Actual frame - Steps advancement - Radar advancement - 6

If this number is odd, you have to do an extra turn while walking to your patch. If even, divide by 2 for the amount of journal flips.

The -6 is from 5 for battling and 1 for the monster frame.

After performing your journal flips, walk to the patch and hopefully it should be your target pokemon with the target frame. There are many things that can go wrong. You can get the random advancement. You can reach the 128 step counter and thus advance the steps counter. It may be better to bring 3 pokes, because once you catch the radar pokemon, that would be 4 advancements from the step counter and thus can still hit your target spread.


Helpful hints/tricks
-If you are standing in the same spot when resetting, when you hit the same delay, you will always have the same patches show up in the same spot. You can use this to confirm the seed you hit. Also, you can repeat your exact steps when trying to abuse in case you go over/under X amount of frames.
__________________
Diamond Name: Fus!on FC: 2321 1627 1150
Nookington's

Last edited by LightningFusion; Oct 31st, 2009 at 10:47:15 PM.
LightningFusion is offline   Reply With Quote
Old Mar 16th, 2009, 6:31:14 PM   #10
ΩDonut
sometimes experimentation begins with "let's multi battle strip pokémon"
is a Forum Moderatoris a Programmeris a Pokémon Researcheris a Contributor to Smogon
 
ΩDonut's Avatar
 
Moderator
Join Date: Aug 2006
Posts: 3,692
Default

A problem with using Pandora's Box to find an ID\SID to get a certain shiny spread is that you have to go through the whole game just to get one good spread (like a flawless shiny Zapdos), then play through the game again for another good shiny spread. So, I made a list of good spreads (29+ in all stats, 30\31 in Speed), and found out which ones were shiny together. This way you only need to play through the game once for multiple near-flawless shinies.

All you have to do is plug the PID of one of the spreads into Pandora's Box, it'll give you an ID\SID that will make all the spreads in the group shiny.

Since HGSS was just released today, I thought this would come in handy for most people. Sorry if you already started playing through it.

It can be found here. Here are a few of the groups I've picked as an example.

Code:
PID		Nature	Ability	IVs
e9b838a5	ADAMANT	1	31\30\31\15\31\31
69b8b8a5	CAREFUL	1	31\30\31\15\31\31
6c96bd8f	BOLD	1	31\19\31\30\30\31 (HP Ground 70)
ec963d8f	TIMID	1	31\19\31\30\30\31 (HP Ground 70)
Code:
ff8e2e5f	JOLLY	1	29\31\29\12\29\31
7f8eae5f	IMPISH	1	29\31\29\12\29\31
34f0e527	TIMID	1	30\11\31\30\31\31 (HP Grass 70)
b4f06527	MODEST	1	30\11\31\30\31\31 (HP Grass 70)

Last edited by ΩDonut; May 6th, 2010 at 3:23:56 PM.
ΩDonut is offline   Reply With Quote
Old Mar 16th, 2009, 6:31:14 PM   #11
Wild Eep*
Iron Bahbs
is a Super Moderatoris a Pokémon Researcher
 
Wild Eep's Avatar
 
Super Moderator
Join Date: Aug 2006
Posts: 1,603
Vine Trip
Default

Manipulating your Trainer ID and Secret ID in the 4th Generation

Thanks to TCCPhreak's research, we know that the Trainer ID and Secret ID (and the seed from which they are found) are generated at the end of the new game sequence (after the TV scene is dismissed in Diamond, Pearl, and Platinum) using the same RNG as PID generation of eggs. For a given seed, the game calls this RNG twice and looks at the second call (frame 2 of DPPt Egg PID in RNG Reporter). The left four hexadecimal digits are the Secret ID, and the right four digits are the visible Trainer ID.

How to use this knowledge to our advantage:

We'll need:
RNG Reporter and ID Finder (Requires .NET Framework 3.5) (both available to download in the first post) [EDIT: the latest versions of RNG Reporter have IDFinder built in via the Pandora's Box button]
Basic understanding of how the RNG works
Ability to reach high delays (5000+) with Emloop or equivalent (This post and the one below it have tutorials)

Process of RNG Manipulation:

1. A different type of calibration is required for manipulating your ID numbers. The seed is determined after you end the new game sequence (in Diamond, Pearl, and Platinum, this occurs after you dismiss the TV program and before the camera switches to you in your room). A new game takes some time to set up, so even the fastest new game will have at least 5000 delay. You can check your seed by keeping track of when you start the game and when your seed is determined (at the minute level, these should be different as it should take well over a minute to set up the new game). Insert the end-time and the trainer ID you ended up getting in the right column of ID Finder (the Seed Finder) along with a large delay range that should hopefully contain the seed you hit, and the results will tell you the delay ranges to aim for. Also keep in mind how many seconds it takes to complete the new game sequence.

2. Next, you're going to want to find your target seed. The course of action depends on whether you want an ID that will make a desired PID (Nature/Gender/Ability, and for wild Pokemon and legendary Pokemon, this will also include IVs) or a specific ID number for aesthetics (e.g. 1337) or for nicknaming event Pokemon (only the visible ID needs to match - 12/27 edit).

2a. If you want to get a certain Nature/IV spread shiny, you'll want to use the left column of the ID Finder. To get the desired PID, you'll have to find the PID of the target spread in RNG Reporter. Insert the appropriate year and delay ranges according to your calibration. As of version 0.1.2.0, you can also choose to search for a specific trainer ID at the same time.

2b. If you want to get a certain ID number, you'll want to use the middle column of the ID Finder. If you need a specific SID too, you can check the Search SID box and Also insert the appropriate year and delay ranges according to your calibration.

-The "Infinite Search" feature added in version 0.1.2.0 will search from the minimum delay specified (assuming year 2000) until it reaches the highest minimum delay for any seed (which is 15269887) or until you cancel it. Setting minimum delay to 0 will let you search through all 4294967296 seeds, which is time-consuming, but thorough.

3. Once you have a target seed, use RNG Reporter again for the Seed to Time function, finding a date/time with the appropriate seconds number to make it easy to find the right time to soft reset (or enter the DS game if you hard reset). If you miss your desired seed, you can input the Trainer ID you did get into the right column (Seed Finder) to find out how far off you were.

If you have a seed and want to find out which ID/SID combo it will yield, you can use the Simple Calculator in the upper right corner. It will calculate delay based on year 2000.

Happy ID hunting!

Version history:

0.2: Accidentally broke the seed finder in the previous version - this is now fixed. Version number jump is overdue because my changes from 0.11 to 0.12 were larger than I realized when I numbered the versions. (11/12/09)

0.1.2.0: Added "infinite search," search for Trainer ID and Shiny PID in left column, and simple seed to ID/SID feature. Fixed bugs such as errors when number of digits in min delay doesn't match number of digits in max delay as well as crashes when shiny PID was left blank. (10/31/09)

0.1.1.0: First release to forums, ordered search in ascending order of delay, added progress percentage to status bar.

0.1.0.0: Crappy beta.

---

Manipulating the Pokemon in Honey Trees

Sources: Honey Tree (Technical) article at projectpokemon and http://www.dragonflycave.com/honeytrees.aspx

Relevant basic information:

Juking a seed:

After you know your basic delay and how long it takes to enter the game world from calibration, use the Simple Seed Generator in RNG Reporter to create a basic seed such that you can enter the game world at a consistent time (e.g. if you had 600 delay and 15 seconds, you might want to make a seed for 19:13:15 and 600 delay such that when you start at 19:13:00, you would achieve a seed close to the basic seed.) Then you will want to take your seed and input it into the Seed to Time dialog. Find your target date/time, and generate a series of seeds (I recommend -20 to +20 delays and -1 to +1 seconds). When you fire up the game, use the coin flip app to try to determine which seed you actually hit. As long as you can identify which seed you got, any seed will work.

Determining the raw random number order for a given seed:

The raw random number for a given frame is the last four hex digits of the PID for that frame in Method 1. When you slather a tree with honey (and it's not the tree you just battled), the random number for the frame you are on and the two after that are used. I haven't worked with same-tree slathering, and it's likely to add an unnecessary degree of complexity to this process.

NPCs:

These locations have no NPCs to worry about: Floaroma Meadow, Valley Windworks, Fuego Ironworks
These locations have NPCs that all can be stopped with the Vs. Seeker: Route 205 North, Route 207, Route 208, Route 210 South, Route 214, Route 218, Route 221

It is advisable to avoid the trees in areas with uncontrollable NPCs.

Finding your Munchlax trees:

Munchlax trees are three to four trees determined by your trainer ID and secret ID that are the only trees in which you have a chance to find Munchlax. In addition, you have a better chance of finding Column 2 (rarer) Pokemon in Munchlax trees.

Convert your Secret ID and Trainer ID into hexadecimal. They should each have four digits (if not, add zero(s) to the left until you do). They should then look like:

Secret ID = [QQRR]
Trainer ID = [SSTT]

[QQ] = first two hex digits of SID
[RR] = latter two hex digits of SID
[SS] = first two hex digits of trainer ID
[TT] = latter two hex digits of trainer ID

Divide QQ, RR, SS, and TT by hex [15] (decimal 21) and return the remainders:

[WW] = [QQ] % [15] (% = modulo operator -> divide first number by second, return remainder)
[XX] = [RR] % [15]
[YY] = [SS] % [15]
[ZZ] = [TT] % [15]

The games have a system that mostly avoids duplicate numbers such that most IDs have four trees. If any of these four variables reach [15], that variable rolls over to [00].

1. If XX = WW, add 1 to XX.
2. If YY = WW, add 1 to YY.
3. If YY = XX, add 1 to YY.
4. If ZZ = WW, add 1 to ZZ.
5. If ZZ = XX, add 1 to ZZ.
6. If ZZ = YY, add 1 to ZZ.

After this series of steps, a tree is a Munchlax tree if its index number is equal to WW, XX, YY, or ZZ.

Hex = Decimal = Location

[00] = 0 = Route 205 South
[01] = 1 = Route 205 North
[02] = 2 = Route 206
[03] = 3 = Route 207
[04] = 4 = Route 208
[05] = 5 = Route 209
[06] = 6 = Route 210 South
[07] = 7 = Route 210 North
[08] = 8 = Route 211
[09] = 9 = Route 212 West
[0A] = 10 = Route 212 East
[0B] = 11 = Route 213
[0C] = 12 = Route 214
[0D] = 13 = Route 215
[0E] = 14 = Route 218
[0F] = 15 = Route 221
[10] = 16 = Route 222
[11] = 17 = Valley Windworks
[12] = 18 = Eterna Forest (cut shortcut)
[13] = 19 = Fuego Ironworks
[14] = 20 = Floaroma Meadow

There are rare cases where two of WW, XX, YY, or ZZ end up equal, and the game has only three Munchlax trees.

If you don't know your secret ID, you can use the two halves of your visible ID (and ignore the correction algorithm unless the two are equal) to find two of your Munchlax trees.

Determining the species of Pokemon in the tree:

The game has a table of Pokemon that you can face with two columns (and Munchlax) and six rows. The column determination of the Pokemon you will face depends on whether or not you are slathering a Munchlax tree, as well as whether or not the tree you slathered was the last one you interacted with. This guide will focus on different-tree Honey Tree manipulation, as I mentioned before.

So when you slather a tree, three consecutive random numbers are called. The first helps determine the column, the second helps determine the row, and the third helps determine the shake value, which governs how vigorously the tree will shake once the Pokemon is available to catch.

Column:

The first random number called determines the column of the Honey Tree table from which the species of Pokemon will be determined. Divide this random number by 656 to get a number from 0 to 99 (ignore any remainders).

Non-Munchlax Tree:

Code:
Rand#/656   Result
   0-9     Failure
  10-29    Column 2
  30-99    Column 1
Munchlax Tree:

Code:
Rand#/656   Result
    0      Munchlax
   1-9     Failure
  10-29    Column 1
  30-99    Column 2
Row:

The second random number called determines the row. Divide this random number by 656 to get another number from 0 to 99. If you get a Munchlax, this process still happens even though it doesn't change anything.

Code:
Rand#/656   Result
   0-4      Row 6
   5-9      Row 5
  10-19     Row 4
  20-39     Row 3
  40-59     Row 2
  60-99     Row 1
Shake Value:

6 realtime hours after slathering the tree, the tree will be ready, and it will shake with vigor related to the column obtained, as well as a third random number, which determines the shake value. A shake value of 0 causes the tree to be stationary, while the other values cause the tree to shake with increasing vigor.

Column 1:

Code:
Rand#/656   Shake
   0-19       2
  20-78       1
  79-98       0
    99        3
Column 2:

Code:
Rand#/656   Shake
   0-74       2
  75-94       1
    95        0
  96-99       3
Munchlax:

Code:
Rand#/656   Shake
   0-4        2
    5         1
    6         0
   7-99       3
The Tables:

Diamond:

Code:
Row   Column 1   Column 2
 1    Wurmple     Combee
 2    Silcoon     Burmy
 3     Combee    Cherubi
 4     Burmy      Aipom
 5    Cherubi   Heracross
 6     Aipom     Wurmple
Pearl:

Code:
Row   Column 1   Column 2
 1    Wurmple     Combee
 2    Cascoon     Burmy
 3     Combee    Cherubi
 4     Burmy      Aipom
 5    Cherubi   Heracross
 6     Aipom     Wurmple
Platinum

Code:
Row   Column 1   Column 2
 1     Combee     Burmy
 2    Wurmple    Cherubi
 3     Burmy      Combee
 4    Cherubi     Aipom
 5     Aipom      Aipom
 6     Aipom    Heracross
Species Manipulating Example:

Say we are slathering a non-Munchlax tree in Platinum, and we land seed [8D17025B].

The first five Method 1 PIDs for this seed are as follows:

Code:
12EF02E6
9FDF12EF
A2859FDF
A9A2A285
F72EA9A2
Taking the last four digits of each PID produces the raw random number ordering.

Code:
02E6
12EF
9FDF
A285
A9A2
If we were to slather honey on a tree immediately with this seed, we would first determine the column by looking at the first random number, [02E6]. This is 742 in decimal. We divide it by 656 while ignoring any remainder, and we get 1. Looking at the column determination table above for non-Munchlax trees, we see that a result of 1 would end in failure. The honey wouldn't even stick to the tree.

Now let's back up and say that we turn the Journal to a page with a caught or defeated Pokemon entry on it before slathering. This advances the RNG by 2, skipping over our failure case above. So we skip [02E6] and [12EF], so for the column, we look at [9FDF]. This is 40927 in decimal. We divide it by 656 while ignoring any remainder, and we get 62. We see from the non-Munchlax tree column determination table above that our resultant Pokemon would be from Column 1.

Now we need to determine the row. The next random number in order is [A285], which is 41605 in decimal. We divide this number by 656, ignoring remainders again, and we get 63. This number is greater than 60, so the Pokemon will come from Row 1.

We look at the Platinum table and find Row 1 in Column 1. In this case, we are set up to find a Combee in that tree in six hours!

A third random number is called to determine how vigorously the tree will shake when our Combee has arrived. [A9A2] is our next random number in the sequence. This is 43426 in decimal, and when divided by 656 becomes 66. The Column 1 shake table above indicates that 66 would result in a shake value of 1. The tree will shake rather unenthusiastically when the Combee appears. If the tree doesn't shake when there's a Pokemon in it or if it shakes too vigorously, we know we messed up the RNG advancement or seed determination when we slathered the honey.

So now we know what would happen if we get the seed [8D17025B] and flip the journal once before slathering the tree.

If you are slathering a Munchlax tree and you get a Munchlax (column number divided by 656 = 0) either by chance or by design, the row number is still called, but it doesn't change the fact you will get a Munchlax.

Manipulating the Pokemon once it is there:

The Pokemon in the tree follows Method J. The starting frame is 2. This is the simplest part of the process.

---
Program for checking how the game messes with Ranger Manaphy eggs' PID if they would end up shiny:

If the PID of a Ranger Manaphy egg is shiny in the game it is being obtained in, the game will invoke the ARNG to adjust the PID such that it is not shiny.

Quote:
Originally Posted by Fat mingot View Post
The replacement PID is calculated by doing this bit of math on the PID that RNG Reporter reports, as many times as necessary, until the Pokemon is NOT shiny:

pid = pid * 0x6c078965 + 1;
---

Level of Wild Encounter (Especially Surfing/Fishing)

Here is how the level of the wild Pokemon you'll face when you do get in an encounter is determined. The encounter tables at Ultimate Pokemon Center again have level info. For grass/caves, you'll simply want to use the same level as the slot you're aiming for.

For surfing/fishing, it's a bit trickier. The maximum level is the one listed to the left of the species name for a given slot, and the minimum level is the number in parentheses. The key is the Method J frame - 1 in the Method 1 list. Get the decimal equivalent of the last 4 digits of that frame's PID (let's call it R for random number). Level = Min Level + [R Mod (1 + Max Level - Min Level)] (the Mod operation means take the remainder when you divide R by the term in parentheses)
__________________

Last edited by Wild Eep; Dec 31st, 2011 at 9:34:57 PM. Reason: fixed dead link
Wild Eep is offline   Reply With Quote
Old Mar 16th, 2009, 6:42:08 PM   #12
pikachu25
 
pikachu25's Avatar
 
Join Date: Jul 2009
Posts: 553
GMT -5
Default

The two applications I have out so far are JavaRNG and PikaTimer. JavaRNG 2.00 and on have PikaTimer built into them as well.

Download JavaRNG.
Download PikaTimer.

JavaRNG:

GUI:
...


Guide:

Overall:
- Searches take from 18 - 40 minutes for an infinite search, depending on how specific you are. More specific IVs and natures lower the time, more specific Hidden Power (Base Power and Type) raises the time.
- If you are searching Method J or K, two files (SpreadsJunk.txt and SpreadsJunk.csv) will be created. These contain the method 1 spreads for your search in a modified form so that the program can use them to find your Method J or K spreads. These contain no useful information for use by humans, and can be deleted any time after the end search message is displayed.
- The Method 1 frames are still off like in PokeRNG (I am working on fixing this), but the Method J frames are right on.
- If something breaks, let me know and I will get right on it.
- The only way to hose the program is to do a search with too many results (in the multiple hundreds of thousands). This is generally on accident, but be warned that if you do do this on accident, you need to manually close down the program in the task manager.
- The "Timer" Button brings up PikaTimer.

Explanation of Buttons:
- Method List: Simply Click on the Method you wish to search. An error will be returned if you do not select one and press "Start."
- Nature List: Once again, click on the Nature you want, or select "ANY." It will get mad at you if you do not choose an option.
- Start box: Select your Emerald Starting frame. For DPPt/HGSS users, this should usually always be 0 (the default).
- End box: Select your Emerald End frame, with 0 being a search through every spread in the game. Once again, DPPt/HGSS users should probably select 0 (the default).
- Synch Nature: If you are doing Method J or K, this is required, otherwise it is ignored. "NONE" means you will have no synchronizer (Duh), and "SAME AS SPREAD" means that you will use a synchronizer the same nature as whatever spread you are aiming for.
- IV Search Buttons: Select ">=" (the default) to search for IVs greater than or equal to what you have entered, select "==" to search for the exact IVs you have entered.
- HP through Spe entry boxes: Type the IV you want (either minimum or exact, depending on what you selected above). The default is 0 in all. If there is nothing in the box, or whatever is in there is not an integer from 0 to 31, an error will be returned.
- Minimum Delay: Input the minimum Delay you can hit comfortably in your game. The Default is 595. If you have something weird that isn't a positive integer in here, you get an error.
- Maximum Delay/Wait Buttons: Pick if you want to tell the game the maximum delay you want to hit, or the maximum amount of time you want to wait on the title screen after your minimum delay has been reached. Maximum Delay is the default. Once again, weird entries throw errors.
- Hidden Power Minimum Base Power: If the number here is not an integer less than or equal to seventy, an error is thrown. 30 is the minimum for Hidden Power's Base Power, so it is the default, and will not cause the search to go slowly.
- Hidden Power Type: Select a type, or any. This is required.
- Shiny: Select "Yes" or "No." If you selected "Yes," type in your ID/SID. If the ID or SID is not legal, you will be notified.
- The "Start" Button: Notifies you of any errors, and if there are none, gives you the notice that your search will start when you hit "OK" to the message that pops up. You will be notified by pop-up when your search is complete.



PikaTimer:

GUIs:
...


Guide:

DPPt/HGSS:

Overall:
- It will take a few tries to get used to this from Emloop, but it is easier, at least I think so.
- For the SR countdown, beeps are given at T -10, T -3, T -2, T -1, and at SR.
- For the delay countdown, beeps are every second starting at T -10
- The two timer boxes are editable, so you can enter your own values if you wish.
- The "End" Button stops the search (duh).
- Pressing "Start" or hitting Space while the timer is running does nothing.
- The "Reset" Button resets all values except the top line.

Procedure:
- Type your average calibrated delay into the box for that, your wanted delay into the box for that, and so on and so forth for the top row.
- Click "Create Timer." You will notice that it will automatically find a combination to give you at least thirty seconds from synchronize to SR.
- Note the "Minutes Before Target" box. This is how many minutes before your current minute you should synch at (generally 0 or 1). For example, if you were going for 18:54:36 and that said 0, you would synch at 18:54:00. However, if it was one, you would synch at 18:53:00.
- Press either "Start" or the Space bar to start the timer.
- If you are off consistently, type the average delay you have been hitting into the "Other Delay" box, and click "Update." This will adjust the timer to help you hit your spread automatically. The Total Change is how many delay units you have cumulatively adjusted.

Emerald:

Overall:
- Press "Start" or the Space Bar to start the Timer.
- Pressing "End" ends the timer.
- The "Reset" Button resets all values except the top row.
- The "DPPt/HGSS" and "Emerald/3rd Gen" Buttons toggle between the 3rd and 4th Generation modes of the timer.
- For the soft reset countdown, beeps are given at T -10 (or start if it is less than 10), T -3, T -2, T-1 and at reset.
- The two timer boxes are editable, so you can enter your own values.

Procedure:
- Enter the amount of time you wish to countdown before reseting in the "Time to Reset" box, or a 0 if you plan to start the timer as you reset.
- Type the frame of your desired spread in the "Frame" Box.
- If you know your particular calibration time for the spread you are going for, type it that box. If not, you will calibrate as you go.
- Click "Create Timer" to create your timer.
- Start the timer, soft reseting when the first timer hits zero, and spamming 'A' to start whatever encounter it might be when the second one finishes.
- Catch the pokemon and determine what frame you hit.
- Type this frame into "Other Frame" and hit "Update".
- Repeat until you hit your spread.
- If you are calibrating, look in the calibration box. That is your calibrated time for this particular pokemon.

Feel free to VM me any suggestions, comments, or improvements!
__________________
Highest 4th Gen OU CRE: 1582.46 (#22)
The latest version of PikaTimer is here. (Version 2.03- 4/15/10)
Pikachu25's RNG Shack (Trade Thread)
My White FC: 2537 5798 1419

Last edited by pikachu25; Jun 25th, 2010 at 7:29:24 PM. Reason: adding information
pikachu25 is offline   Reply With Quote
Old Mar 16th, 2009, 6:48:54 PM   #13
mingot**
free agent
is a member of the Smogon Site Staffis a Battle Server Administratoris an Administrator
 
Administrator
Join Date: Jun 2008
Posts: 3,045
Default

@ChouTosio - That could prove to be extremely helpful and I would really appreciate it. I think the Japanese article explains how to actually perform the exploit.
mingot is offline   Reply With Quote
Old Mar 16th, 2009, 7:09:43 PM   #14
Misdreavus
 
Misdreavus's Avatar
 
Join Date: Feb 2009
Posts: 1,210
Orlando, FL
Default

Here's a calculator I made to find the seed given the date/time. It only works on Windows... if you are a Mac user and would really like to have it, I can send you the source code so you can compile it in any C language compiler for a workable version.

http://files.filefront.com/13477488

Hope this helps!
__________________
My other Rotom is a washing machine.
Misdreavus is offline   Reply With Quote
Old Mar 17th, 2009, 8:31:31 AM   #15
VileTung
 
VileTung's Avatar
 
Join Date: Jul 2008
Posts: 1,384
Default

So, Misdreavus, with your program we get the Seed, right? What can we do with the Seed? And where can I find the Seconds?
__________________
VileTung is offline   Reply With Quote
Old Mar 17th, 2009, 2:03:23 PM   #16
Misdreavus
 
Misdreavus's Avatar
 
Join Date: Feb 2009
Posts: 1,210
Orlando, FL
Default

Quote:
Originally Posted by Fat Vliegtuig View Post
So, Misdreavus, with your program we get the Seed, right? What can we do with the Seed? And where can I find the Seconds?
Correct. As of right now, I'm not too sure, since there's still so much to be discovered. I was actually wondering about the seconds too... it must be the seconds on the DS clock, which are only visible on the DS menu. I would imagine that using a website with the official time (for the US, it's www.time.gov) would be helpful. You could manually sync the time on your DS clock with the official time (within the correct second), then use the website to effectively monitor the time on the DS clock.
__________________
My other Rotom is a washing machine.
Misdreavus is offline   Reply With Quote
Old Mar 17th, 2009, 2:16:58 PM   #17
VileTung
 
VileTung's Avatar
 
Join Date: Jul 2008
Posts: 1,384
Default

Quote:
Originally Posted by Fat Misdreavus View Post
Correct. As of right now, I'm not too sure, since there's still so much to be discovered. I was actually wondering about the seconds too... it must be the seconds on the DS clock, which are only visible on the DS menu. I would imagine that using a website with the official time (for the US, it's www.time.gov) would be helpful. You could manually sync the time on your DS clock with the official time (within the correct second), then use the website to effectively monitor the time on the DS clock.
Ok, so we need to synchronize the DS, well I need to wait till may 22 before Platinum comes, so I have we will know more by then =X
__________________
VileTung is offline   Reply With Quote
Old Mar 17th, 2009, 3:13:44 PM   #18
mingot**
free agent
is a member of the Smogon Site Staffis a Battle Server Administratoris an Administrator
 
Administrator
Join Date: Jun 2008
Posts: 3,045
Default

Quote:
Originally Posted by Fat Misdreavus View Post
I would imagine that using a website with the official time (for the US, it's www.time.gov) would be helpful. You could manually sync the time on your DS clock with the official time (within the correct second), then use the website to effectively monitor the time on the DS clock.
Since I think there is going to be a lot of time changing it (to times that are not correct) would probably be just as well to change the second hand on your PC to that of the DS and at least know when you are within a certain minute, which should be good enough for our purposes.
mingot is offline   Reply With Quote
Old Mar 17th, 2009, 4:39:31 PM   #19
Misdreavus
 
Misdreavus's Avatar
 
Join Date: Feb 2009
Posts: 1,210
Orlando, FL
Default

Quote:
Originally Posted by Fat mingot View Post
Since I think there is going to be a lot of time changing it (to times that are not correct) would probably be just as well to change the second hand on your PC to that of the DS and at least know when you are within a certain minute, which should be good enough for our purposes.
Ah, okay. Yeah, I figured we'd be changing it to incorrect times to get the spreads we want.
__________________
My other Rotom is a washing machine.
Misdreavus is offline   Reply With Quote
Old Mar 17th, 2009, 6:27:59 PM   #20
thetorsoboy
 
thetorsoboy's Avatar
 
Join Date: Mar 2008
Posts: 2,301
Default

Well, I got my english Platinum today, so I'm willing to help out with this.
__________________
Coming back with a vengeance. 2013.
thetorsoboy is offline   Reply With Quote
Old Mar 17th, 2009, 7:26:20 PM   #21
TDS
 
TDS's Avatar
 
Join Date: Jun 2007
Posts: 3,133
Where there is cheese
Default

Quote:
Originally Posted by Fat thetorsoboy View Post
Well, I got my english Platinum today, so I'm willing to help out with this.
but plat dosent come out until the 22nd...
__________________
Top 16 Pokemon VGC Newark Regionals 2010
3rd Place Pokemon VGC Nationals 2011
17th Place Pokemon VGC Worlds 2011
TDS is offline   Reply With Quote
Old Mar 17th, 2009, 7:43:29 PM   #22
Syberia
 
Syberia's Avatar
 
Join Date: Jun 2005
Posts: 4,905
Irvine, CA
Default

It appears the ROM has been leaked
__________________
Black/White Friend Code: 1721 2578 4968

My Pokemon | Free Pokemon | YouTube | Wonder Cards (now with Movie Celebis for Platinum and HG/SS!)

Last edited by Syberia; Mar 17th, 2009 at 8:00:54 PM.
Syberia is offline   Reply With Quote
Old Mar 17th, 2009, 7:44:05 PM   #23
Tytus
 
Tytus's Avatar
 
Join Date: Apr 2007
Posts: 1,422
RNG "abuse" just sounds so negative...
Default

Apparently some pre-ordered ones got out early.
__________________
Nate: 4212 3316 6499

HeartGold: 4383 4383 4712
Tytus is offline   Reply With Quote
Old Mar 17th, 2009, 9:28:43 PM   #24
mingot**
free agent
is a member of the Smogon Site Staffis a Battle Server Administratoris an Administrator
 
Administrator
Join Date: Jun 2008
Posts: 3,045
Default

Quote:
Originally Posted by Fat dachickens View Post
I have a couple of questions about this.


Could someone clarify the % and 0x signs for me? For instance, is the 0x random?

MOD is an operator like +,-, etc.

It is the remainder.

10 mod 3 = 1 (10/3 = 3 remainder 1)
21 mod 7 = 0 (21/7 = 3 remainder 0)
5 mod 3 = 2 (5/3 = 1 remainder 2)

Hexadecimal is base 16 number system. You're used to base 10. That is there are 10 digits (0-9) and each place is 10^(to the power of)X where X is the place.

1,241 =

10 ^ 0 * 1 = 1
10 ^ 1 * 4 = 40
10 ^ 2 * 2 = 200
10 ^ 3 * 1 = 1000

1 + 40 + 200 + 1000 = 1,241.

Hexadecimal is base 16. There are 16 digits (0-F) and each place is 16^X where x is the place.

FA =

16 ^ 0 * A(10 in decimal) = 10 (in decimal)
16 ^ 1 * F(15 in decimal) = 240 (in decimal)

10 + 240 = 250.

If that doesn't make sense google it, because it's the best you'll get out of me.


Quote:
Also, wouldn't you have to adjust your game start day and time (not your playtime, but your "Adventure Started" time) to abuse the RNG? If so, wouldn't they still be relatively inaccessible for people without Pokesav or (perhaps) AR?
What makes you think it's adventure started time and not the time of the DS? (Serious question, it could be, but my understanding is that it's not). What leads you to believe this?
mingot is offline   Reply With Quote
Old Mar 17th, 2009, 9:53:09 PM   #25
Equinox
 
Equinox's Avatar
 
Join Date: May 2008
Posts: 1,185
Reforming from WiFi
Default

Quote:
Originally Posted by Fat dachickens View Post
Ah, thanks for the clarification. The mod thing threw off my whole understanding of it.


For some reason, I was under the impression that the formula was actually a mix between "Adventure Start" time and Actual DS time. For instance, if the Actual DS time was 10 months and 6 hours after Adventure Start time, the Month variable would equal 10 and the Hour would equal 6. I don't know, it was just a misinterpretation, in part because I got slightly confused by the formula. Sorry if the question sounded kinda strange D:

I honestly think it could be neither or one or the other in a way. What i mean is that Emerald's RNG couldnt be generated by the DS time since it was originally GBA which didnt have its own clock. It could be possible, but maybe not.


On the otherhand, if it were by the start time it could be possibly calculated from the last point in which you saved and the frames are counted up from that point by the same timer which counts your gameplay time.

So I think it might be neither seeing as though the gameplay time shouldnt matter since it would probably go by the point from when you last SR to the time you press A just like emerald, which is calculated from the time you saved. Just my interpretation, it seems the most valid.
__________________
<mingot>so i am 18 and i have these big fucking charchoal drawings of some dude, cock out, in my closet.

My Pokemon Gallery....Take a Look Inside!
Dont Post though, just look ;)
Equinox is offline   Reply With Quote
Reply Smogon Community > Pokémon > Wi-Fi

Tags
random number generator, rng

« Previous Thread | Next Thread »
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -4. The time now is 10:55:17 AM.