Jump to content

Recommended Posts

The PID finder, worked the first time, it found a PID I didnt want, I figured out how to use it, closed it, re-opened it, now it wont search. It goes to progress 0%, Then says 'Progress: Not Active.'

What am I doing wrong? :P

It sounds like you have all (or most) of the IVs' polarities on "=", meaning they can't change, drastically limiting the search.

Also, a stat edit would be awesome. Pokemon retain their 999's as long as they are not deposited into a box. ;)

...I suppose I should allow that freedom... we'll see.

Link to comment
Share on other sites

I can't even run this program. It crashes saying something Data Execution Prevention (DEP). Anyone else has had this issue?

Yes I am running Vista with the latest updates.

I can and wish to offer my help to translate this program to spanish. Cheers!

Link to comment
Share on other sites

I can't even run this program. It crashes saying something Data Execution Prevention (DEP). Anyone else has had this issue?

I know almost nothing about DEP, but I'll look into it and find out why this might be a problem.

Edit: As I understand it, its sole purpose is to prevent programs from executing code in memory regions that they shouldn't be. Considering PokeGen doesn't create any executable code anywhere in memory except where the program itself is loaded, I'm not sure how this is a problem. I think there's a way to disable DEP for specific programs, but you'd have to look that up yourself. The kind of behavior needed to trigger DEP is exactly the kind of behavior I'd expect from a virus. A lot of viruses will attach themselves to any exe they can on your PC, so it's certainly possible you have one that's injected itself into PokeGen upon downloading it. I can guarantee there's nothing malicious in the download on this site.

I can and wish to offer my help to translate this program to spanish. Cheers!

I'll send you a forum PM with an attachment that contains all of the necessary English text to translate.

Edit: Maybe I won't. You aren't accepting PMs, so: these are the strings. There's more than this (tooltips), but these are the more important ones.

Link to comment
Share on other sites

Eh, it would help with battle tower, stat editing would at least. I created a max IV/EV ninjask, and a Latios went before it using thunder. My ninjask died, it was sad. Had I been able to edit his stats with pokesav, I would have. Alas, pokesav glitches everytime I try it now, my only option, is pokegen. ;)

If cool, it would be awesome. If not, its cool. :biggrin:

Link to comment
Share on other sites

Eh, it would help with battle tower, stat editing would at least. I created a max IV/EV ninjask, and a Latios went before it using thunder. My ninjask died, it was sad. Had I been able to edit his stats with pokesav, I would have. Alas, pokesav glitches everytime I try it now, my only option, is pokegen. ;)

If cool, it would be awesome. If not, its cool. :biggrin:

Then use codes like instant heal or that other one where any attack instantly KOs opponents. You have the AR, so certainly using said codes wouldn't be a problem.

Link to comment
Share on other sites

Well, I already use the code to use the bag in battle tower, and catch opponents pokemon. Thing is, the game freezes at rounds 5 -7. I hate resting after each battle in case the game freezes, its a pain, and the game still freezes.

Stat editor, please? :biggrin:

Link to comment
Share on other sites

I have a request for anyone who has some free time and desire to help. I'm planning on adding multi-language support to the program, but considering I only know English, I obviously can't do the translations myself. If you can translate from English to Spanish, Italian, German, French, Korean, or Japanese, and are willing, please post here and let me know.

Guested has offered to do Japanese so far, but the work could be split if anyone else can also do it.

i can do spanish

Link to comment
Share on other sites

Stat editor, please? :biggrin:

One request is enough. It'll be a while before the next update unless something significant is found to be wrong. I've got some substantial modifications going on.

I can do the French translation.
i can do spanish

This post has the strings file. It doesn't contain the tooltips, as I don't want to completely overwhelm anyone with all of it at once. Anyway, if either of you finish, just post it here or forum PM me with a link. The help is very much appreciated, and credit will be given where appropriate.

Edit: As a note, if you're going to do the translations, please make them look as proper as possible. Punctuation, spelling, that kind of thing.

Edit2: Also, red707, you might want to converse with Wylfred and split up the work, assuming he/she's actually doing it.

Link to comment
Share on other sites

Hey Codr, first I want to just say how amazing this program is, you've done a truly fantastic job. It's so nice to see how dedicated you are to the program and the efforts you've gone to to help people in this thread.

After exploring the program a little bit, I still have one question about ensuring the legality of the Pokemon created. A lot of what I'm about to say concerns RNG manipulation, which I read about a couple months back, so forgive me for any flaws in my argument. From what I remember, the initial seed is set by the date and time on the Nintendo DS system when the game is launched. This means all further RNG invocations, and therefore a Pokemon's PID and IVs, are pre-determined by the initial seed. Is this taken into account by PokeGen in some way I'm not thinking about, because there's no way to input a date & time anywhere. My concern is that if the date I met my Pokemon on is a day on which I could have never obtained the initial seed that led to my PID & IVs, then the Pokemon could be viewed as hacked, right?

Link to comment
Share on other sites

Hey Codr, first I want to just say how amazing this program is, you've done a truly fantastic job. It's so nice to see how dedicated you are to the program and the efforts you've gone to to help people in this thread.

Thanks for the compliment + actually reading the thread. I bet a lot of people don't bother.

After exploring the program a little bit, I still have one question about ensuring the legality of the Pokemon created. A lot of what I'm about to say concerns RNG manipulation, which I read about a couple months back, so forgive me for any flaws in my argument. From what I remember, the initial seed is set by the date and time on the Nintendo DS system when the game is launched. This means all further RNG invocations, and therefore a Pokemon's PID and IVs, are pre-determined by the initial seed. Is this taken into account by PokeGen in some way I'm not thinking about, because there's no way to input a date & time anywhere. My concern is that if the date I met my Pokemon on is a day on which I could have never obtained the initial seed that led to my PID & IVs, then the Pokemon could be viewed as hacked, right?

This is going to a pretty extreme degree, but to answer your question, no, the date met is not taken into account. I don't even know enough about that aspect of the RNG function to be able to add support for such a thing either. I suppose it would be detectable by someone who wants to go to that degree to check for validity. If the GTS is any indication, Nintendo doesn't do anywhere near as good of a job as everyone else does at validity checks. (I've heard that the tournaments are more strict, but haven't heard any details about in what way.)

Link to comment
Share on other sites

This is going to a pretty extreme degree, but to answer your question, no, the date met is not taken into account. I don't even know enough about that aspect of the RNG function to be able to add support for such a thing either. I suppose it would be detectable by someone who wants to go to that degree to check for validity. If the GTS is any indication, Nintendo doesn't do anywhere near as good of a job as everyone else does at validity checks. (I've heard that the tournaments are more strict, but haven't heard any details about in what way.)

Okay, thanks for the quick response. I know this is irrelevant as far as passing Nintendo's checks and even some of the most comprehensive hack checks out there goes. The question was more for my own "peace of mind" (or obsessiveness depending on how you look at it) that the Pokemon from PokeGen could 100% be recreated without an external device. The only way I think one could prove a Pokemon generated from PokeGen isn't legit is through the program RNGReporter (more info here if you're interested: http://www.smogon.com/forums/showthread.php?t=52180). The program provides the missing link between the DS Date & Time and the initial seed. I guess one could use RNGReporter to ensure the Pokemon created with PokeGen could have actually been created on a given day, and then the Pokemon would be completely legit.

So as I understand it, this is the Pokemon creation process from start to finish in the actual games:

DS Date & Time --> Initial Seed --> Legitimate PID & IVs (based on the 4 RNG calls) --> Legitimate Pokemon

PokeGen, as I understand, essentially begins at the second step, carrying out everything thereafter exactly the way the cartridges do - although the initial seed used in creating the PID & IVs is not explicitly stated in your program, correct? I assume one could back out the original seed, but I'm guessing you didn't explicitly include it in the program as it just confuses the average player without providing any useful information. So I know this is essentially what I asked in my last post, but now that I've given this some more thought I think I can phrase this a little better: the only difference between PokeGen and the way real Pokemon are created is that PokeGen can choose any initial seed on any particular day, while the actual games have a limited number of initial seeds to choose from on a particular day. Is that correct? This would mean that PokeGen gives you more "legitimate" PID & IV combos than there are in reality, right? I'm sorry for all the questions, it's mostly me just thinking out-loud and wanting confirmation (or an explanation why I'm wrong) on my musings :)

Link to comment
Share on other sites

The only way I think one could prove a Pokemon generated from PokeGen isn't legit is through the program RNGReporter (more info here if you're interested: http://www.smogon.com/forums/showthread.php?t=52180). The program provides the missing link between the DS Date & Time and the initial seed. I guess one could use RNGReporter to ensure the Pokemon created with PokeGen could have actually been created on a given day, and then the Pokemon would be completely legit.

This would be correct. Maybe once the current in-progress changes are done, I'll look into the date thing, but even when considering it, there's going to be an absolutely ridiculous number of possibilities in a 24-hour period. It may even cover all 0xFFFFFFFF possibilities in that amount of time. (In which case PokeGen isn't lacking anything.) I don't know how often the RNG function is called.

So as I understand it, this is the Pokemon creation process from start to finish in the actual games:

DS Date & Time --> Initial Seed --> Legitimate PID & IVs (based on the 4 RNG calls) --> Legitimate Pokemon

As far as I know as well, yes.

PokeGen, as I understand, essentially begins at the second step, carrying out everything thereafter exactly the way the cartridges do - although the initial seed used in creating the PID & IVs is not explicitly stated in your program, correct?

The result is the same as this series of events, but that isn't how I do it. It's done in reverse, because I have to start with the IVs. Doing it with the seed first would make PID searching take a very, very long time with varying IVs. (There's no negative effect to doing it in reverse anyway.)

I assume one could back out the original seed, but I'm guessing you didn't explicitly include it in the program as it just confuses the average player without providing any useful information.

It's more that it doesn't fit with the way PIDs are generated, and I didn't think it would serve a purpose. In the case of wanting absolute perfection with the date/time, I guess it can serve a purpose, though.

So I know this is essentially what I asked in my last post, but now that I've given this some more thought I think I can phrase this a little better: the only difference between PokeGen and the way real Pokemon are created is that PokeGen can choose any initial seed on any particular day, while the actual games have a limited number of initial seeds to choose from on a particular day. Is that correct?

Yes.

This would mean that PokeGen gives you more "legitimate" PID & IV combos than there are in reality, right?

Assuming all 0xFFFFFFFF values aren't sifted through in the span of 24 hours, yes.

Link to comment
Share on other sites

Okay, thanks for the quick response. I know this is irrelevant as far as passing Nintendo's checks and even some of the most comprehensive hack checks out there goes. The question was more for my own "peace of mind" (or obsessiveness depending on how you look at it) that the Pokemon from PokeGen could 100% be recreated without an external device. The only way I think one could prove a Pokemon generated from PokeGen isn't legit is through the program RNGReporter (more info here if you're interested: http://www.smogon.com/forums/showthread.php?t=52180). The program provides the missing link between the DS Date & Time and the initial seed. I guess one could use RNGReporter to ensure the Pokemon created with PokeGen could have actually been created on a given day, and then the Pokemon would be completely legit.

So as I understand it, this is the Pokemon creation process from start to finish in the actual games:

DS Date & Time --> Initial Seed --> Legitimate PID & IVs (based on the 4 RNG calls) --> Legitimate Pokemon

PokeGen, as I understand, essentially begins at the second step, carrying out everything thereafter exactly the way the cartridges do - although the initial seed used in creating the PID & IVs is not explicitly stated in your program, correct? I assume one could back out the original seed, but I'm guessing you didn't explicitly include it in the program as it just confuses the average player without providing any useful information. So I know this is essentially what I asked in my last post, but now that I've given this some more thought I think I can phrase this a little better: the only difference between PokeGen and the way real Pokemon are created is that PokeGen can choose any initial seed on any particular day, while the actual games have a limited number of initial seeds to choose from on a particular day. Is that correct? This would mean that PokeGen gives you more "legitimate" PID & IV combos than there are in reality, right? I'm sorry for all the questions, it's mostly me just thinking out-loud and wanting confirmation (or an explanation why I'm wrong) on my musings :)

You keep saying "initial seed", but that only generates the first poke caught on that startup, if any at all. The seed changes constantly, especially if you're in a town. There's also the frame count. You can go through thousands of frames on one seed and all the resulting IV/nature combos will be different. Then one town person will take one step, the seed will change, and you have tens of thousands of frames again.

If you were going to hack-check that way, you would have to search fairly high numbers of frames not to mention very high delays, not to mention that a seed doesn't just occur on one day throughout the year. If you look in the seed to time function, most seeds seem to occur between 1/8 and 3/8(or more, I'm basing this off of me looking for various really good seeds) of the days in the year, sometimes multiple times per day. Also don't forget that more than one seed can lead to the same outcome, just at a different number of frames. Also, for something like breeding, if the person having their poke checked can't recall(or doesn't want to) the parents' IVs, you're out of luck from the get-go.

I've been teaching myself to RNG, and I'm actually pretty good at it now. I'm testing out what you were saying in terms of some things not being available on some days. Last time I searched method one, this thing went through like 750 million seeds and that was for a small scope because I was looking for very specific attributes. I bumped up the delay and frame count pretty high, and the time finder isn't responding at all yet...

e: 1.1 billion and the progress indicator is yet to move.

Link to comment
Share on other sites

You keep saying "initial seed", but that only generates the first poke caught on that startup, if any at all. The seed changes constantly, especially if you're in a town.

The seed is considered the first number that's fed to the RNG function. (At least from a programming point of view... I wouldn't be surprised if the Smogon community has their own unique (and inaccurate) definition.) I can't speak for Jonathan, but I've personally assumed that the RNG function gets that first seed and uses the result of every RNG call for each successive call for the rest of the game. It's certainly possible that the game actually starts the process over with a new seed at any point, I just don't know.

Link to comment
Share on other sites

The seed is considered the first number that's fed to the RNG function. (At least from a programming point of view... I wouldn't be surprised if the Smogon community has their own unique (and inaccurate) definition.) I can't speak for Jonathan, but I've personally assumed that the RNG function gets that first seed and uses the result of every RNG call for each successive call for the rest of the game. It's certainly possible that the game actually starts the process over with a new seed at any point, I just don't know.

For Emerald, the initial seed was always 0. Gen 4 is now of course the 8 digits 0 thru F.

The first four are the combination of Date and Time, and the last four are for Delay, which is the time from soft reset/start until entering the game.

RNG Reporter's [seed to Time] gives all the possible date/time for the seed, there's a way they are coded.

The initial seed stays the same all through the game, except for when starting a new game in which the first seed determines the ID/SID (and date ...and time [in pokesav]). The seed then reseeds to another one, which really doesn't matter since it is the start of the game. The initial seed is what the current seed (which is related to the frame) which makes the PIDs appear. The initial seed is what the game starts with. Frame changes the current seed.

I've RNGd on Emulators and the initial seed is visible in DeSmuME's ARM9 memory in a specific location for each game, and it does transfigure to a "nonrelated" seed that can't be decoded into date time and delay, but is probably related to the initial seed. The Frame (which determines what PIDs appear) is related to each seed, and the PIDs can appear on many seeds at different frames.

Your post is spot on :grog:

Edited by Kaphotics
initial + current seed
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...