Homebrew PKMN-NTR: Real-time memory editing program for Pokémon games [WIP]

MichiS97

"Leftist snowflake milennial"
Member
Joined
Jun 14, 2011
Messages
1,815
Trophies
2
Age
26
Location
Munich
XP
3,599
Country
Germany
Okay so I just wanted to report back about my tweaks for the Walk mode of the Gen VI soft reset bot. I was able to implement a little check to make sure that the step towards the legendary/Mirage Spot is actually done and had very convincing results with it. Basically, my problem was that the bot would often end in a loop where it continuously tries to press A to get through a non-existing dialog because it failed to make a step forward the first time and doesn't try taking this step anymore.
The way the bot worked before is that it pressed A to skip the dialog and then tried reading the data of an opponent Pokemon that might or might not exist at that point. Should that opponent exist, the bot would check it against your filter set and then either reset or not. Should that opponent not exist, it would go back to the state where it presses A. What I did was that I implemented a counter that counts how often the bot tries to read the opponent data and gets no result (i.e. there is no opponent yet). If that counter was greater than 10 the bot would not go back to the dialog skipping state but instead would go back into the state where it tries to take a step. Therefore the loop I previously experienced will not happen anymore. I got about 300 encounters now and already had multiple occasions where my check had to come into place and it did its job very well.
So if anybody wants to use this mode of the Gen VI soft reset bot and experiences the same issues as I did, just post here and I will upload my version of the program, only if that's okay with @drgoku282 of course.

By the way, @drgoku282, I have a little question about something in your code. What exactly is the purpose of the botresult var? I know that it's the return variable of the RunBot() method but what exavtly is this variable used for? I'd be glad if you could provide some insight on that.
 
  • Like
Reactions: Real.96

andrexd

Well-Known Member
Newcomer
Joined
Sep 13, 2009
Messages
78
Trophies
1
Age
29
XP
345
Country
i guess reshiram doesnt want to be shiny for me... 2500+ SR's and nothing, i caught the regis for only 200+ SR's, with shiny charm!!
 

MichiS97

"Leftist snowflake milennial"
Member
Joined
Jun 14, 2011
Messages
1,815
Trophies
2
Age
26
Location
Munich
XP
3,599
Country
Germany
i guess reshiram doesnt want to be shiny for me... 2500+ SR's and nothing, i caught the regis for only 200+ SR's, with shiny charm!!
Bad luck :D I did a hunt for shiny Shaymin in platinum last week and needed 20000 encounters :D (1/8192 probability)
2500 SRs isn't that much though. With the shiny charm you have a chance of 3/4096, you need about 4090 encounters to have a 95% chance
 
Last edited by MichiS97,

andrexd

Well-Known Member
Newcomer
Joined
Sep 13, 2009
Messages
78
Trophies
1
Age
29
XP
345
Country
Bad luck :D I did a hunt for shiny Shaymin in platinum last week and needed 20000 encounters :D (1/8192 probability)
2500 SRs isn't that much though. With the shiny charm you have a chance of 3/4096, you need about 4090 encounters to have a 95% chance

i guess my luck is gone... xD, but 1/1000 i think in ORAS it should be more easy!!!
 

MichiS97

"Leftist snowflake milennial"
Member
Joined
Jun 14, 2011
Messages
1,815
Trophies
2
Age
26
Location
Munich
XP
3,599
Country
Germany
i guess my luck is gone... xD, but 1/1000 i think in ORAS it should be more easy!!!
Well it's 1/1365, like I said, 4090 encounters for a 95% chance (for comparison, in gen 4 with the 1/8192 chance you'd need 24500 encounters for a 95% chance), so yes, it's definitely a lot easier
 
  • Like
Reactions: andrexd

drgoku282

Well-Known Member
OP
Member
Joined
Oct 16, 2014
Messages
427
Trophies
0
Age
31
XP
724
Country
Mexico
Okay so I just wanted to report back about my tweaks for the Walk mode of the Gen VI soft reset bot. I was able to implement a little check to make sure that the step towards the legendary/Mirage Spot is actually done and had very convincing results with it. Basically, my problem was that the bot would often end in a loop where it continuously tries to press A to get through a non-existing dialog because it failed to make a step forward the first time and doesn't try taking this step anymore.
The way the bot worked before is that it pressed A to skip the dialog and then tried reading the data of an opponent Pokemon that might or might not exist at that point. Should that opponent exist, the bot would check it against your filter set and then either reset or not. Should that opponent not exist, it would go back to the state where it presses A. What I did was that I implemented a counter that counts how often the bot tries to read the opponent data and gets no result (i.e. there is no opponent yet). If that counter was greater than 10 the bot would not go back to the dialog skipping state but instead would go back into the state where it tries to take a step. Therefore the loop I previously experienced will not happen anymore. I got about 300 encounters now and already had multiple occasions where my check had to come into place and it did its job very well.
So if anybody wants to use this mode of the Gen VI soft reset bot and experiences the same issues as I did, just post here and I will upload my version of the program, only if that's okay with @drgoku282 of course.

By the way, @drgoku282, I have a little question about something in your code. What exactly is the purpose of the botresult var? I know that it's the return variable of the RunBot() method but what exavtly is this variable used for? I'd be glad if you could provide some insight on that.

No problem you can upload your version, if you want to upload source to GitHub it would be even better

The botresult variable determines the outcome of the bot, if it was successful or it indicates the source of the error.
 

Real.96

Well-Known Member
Member
Joined
Sep 14, 2015
Messages
1,055
Trophies
0
Age
27
XP
955
Country
Italy
What I did was that I implemented a counter that counts how often the bot tries to read the opponent data and gets no result (i.e. there is no opponent yet). If that counter was greater than 10 the bot would not go back to the dialog skipping state but instead would go back into the state where it tries to take a step. Therefore the loop I previously experienced will not happen anymore.

I suggested this time ago, count the number of data checking and press A/make the step after a number of failing check. This will also work for event bot and all the other bot in 6-7 gen. Sometimes in 6 gen event bot it still loop on B button pressing....so that would be great to be implemented
 
Last edited by Real.96,

FrostyDialga

Banned!
Banned
Joined
Dec 28, 2016
Messages
193
Trophies
0
XP
136
Country
you can rng abuse in gen 7 now for breeding which kinda makes this useless for gen 7 since you can just hyper train legendary's and you can even rng abuse legendaries in gen 7. You do have to play the game but it gets you shinies without cheating and it will be faster than a bot.

--------------------- MERGED ---------------------------

I have a question why do you use Ntr for botting if it has bugs such as the screen going black. Is it because you don't know how to code your own client app for the 3ds, for it to receive the inputs. Surely if you can make a botting program you should be able to make your own client app for the 3ds.
 
Last edited by FrostyDialga,

MichiS97

"Leftist snowflake milennial"
Member
Joined
Jun 14, 2011
Messages
1,815
Trophies
2
Age
26
Location
Munich
XP
3,599
Country
Germany
you can rng in gen 7 now for breeding which kinda makes this useless for gen 7 since you can just hyper train legendary's and you can even rng legendaries you do have to play the game but it get you shinies without cheating it will be faster than a bot.

--------------------- MERGED ---------------------------

I have a question why do you use ntr for botting if it has bugs such as the screen going black is it because you don't know how to code your own client app for the 3ds for it to receive the inputs. Surely if you can make a botting program you should be able to make your own client app for the 3ds.
Coding something on the 3DS that has to run in the background during runtime all the time that receives data from a PC, processes that data and sends data back is ridiculously hard. That's why we never got an alternative to NTR. Basically, you wouldn't need a client app, but your own CFW (well, it's not really a CFW but that term is used pretty loosely nowadays anyway, not even Luma is an actual custom firmware).

Also, yes NTR may be a little bugged but this programm still works great. I've used it for many many hours now and apart from the occasional blackscreens after resetting, it has always done its job very well.
About the RNG part: Well yes, you can RNG stuff now but it would still require you, for example, to reject and then accept a number of eggs per hand, which would still mean that I'd have to sit in front of my 3DS for a great amount of time, doing the same tedious chore all that time. This bot makes me able to let my 3DS do this tedious chore by itself while I can study, programm, watch TV or play something else. Many many things can be said about this tool, but useless is definitely not one of them and @drgoku282 deserves a whole lot of praise for it.
 

FrostyDialga

Banned!
Banned
Joined
Dec 28, 2016
Messages
193
Trophies
0
XP
136
Country
Coding something on the 3DS that has to run in the background during runtime all the time that receives data from a PC, processes that data and sends data back is ridiculously hard. That's why we never got an alternative to NTR. Basically, you wouldn't need a client app, but your own CFW (well, it's not really a CFW but that term is used pretty loosely nowadays anyway, not even Luma is an actual custom firmware).

Also, yes NTR may be a little bugged but this programm still works great. I've used it for many many hours now and apart from the occasional blackscreens after resetting, it has always done its job very well.
About the RNG part: Well yes, you can RNG stuff now but it would still require you, for example, to reject and then accept a number of eggs per hand, which would still mean that I'd have to sit in front of my 3DS for a great amount of time, doing the same tedious chore all that time. This bot makes me able to let my 3DS do this tedious chore by itself while I can study, programm, watch TV or play something else. Many many things can be said about this tool, but useless is definitely not one of them and @drgoku282 deserves a whole lot of praise for it.
I know its hard but it's worth it to put in the effort since the bot would be more stable and not have black screen issues. Also, ntrs not really designed for botting. Also, there's another problem besides the black screen issues because the mode 3 CIA was never finished it won't work with gen 7 on older 3ds and it's not really worth it to get a new 3ds if you don't want any of the exclusive games.
 
Last edited by FrostyDialga,

MichiS97

"Leftist snowflake milennial"
Member
Joined
Jun 14, 2011
Messages
1,815
Trophies
2
Age
26
Location
Munich
XP
3,599
Country
Germany
I know its hard but its worth it to put in the effort since the bot would be more stable and not have black screen issues also ntrs not really designed for botting. Also theres another problem besides the black screen issues because the mode 3 cia was never finished it won't work with gen 7 on older 3ds and its not really worth it to get a new 3ds if you don't want any of the exclusive games.
Is it really worth the effort though? Many weeks and months would have to be invested into creating such a CFW, and it would probably still be less stable than NTR. Nobody is getting paid to do this, so investing such an immense amount of time into something that might not even result into an improvement is not something many would call a worthwhile investment. Also, the fact that O3DS users can't use then Gen 7 bots has less to do with NTR and more with the hardware of the O3DS. Could a very slim CFW like the one we're hypothesizing about here work on a O3DS? Maybe. Still, it probably won't ever happen because NTR is good enough.

I just published my own fork of the bot: https://github.com/MichiS97/PKMN-NTR
I alrady added a release which makes improvments to the Walk mode of the Gen 6 SR bot and a workaround for the two soaring modes, where the bot would stop if you got into any random encounters in the sky, which happens very often. Right now, the bot will perform a soft reset when it gets into such an encounter (not affecting the overall reset count), I am working on a better solution though, namely that the bot will run from unwanted random encounters.
I guess these changes will all be merged into the original bot when @drgoku282 is done with his revamp of the programm.
 

mrpopo470

Well-Known Member
Newcomer
Joined
Mar 13, 2016
Messages
48
Trophies
0
XP
105
Country
Portugal
Hello, could some1 help me out here?
So I'ver been running the bot for 24h plus, and I got to say, great work! Works almost flawlessly, and i already got 3 shiny legendaries on my Alpha sapphire.
Thing is now, when i connect it works, but when i go to the pss menu it always says "please go to the PSS menu and try again", even though i am there when i click start bot.
thanks in advance

EDIT: Ok so, my zekrom soft reset bot still works. But my palkia soft reset bot only starts when i am inside granite cave. Why is that? It says on my ntr log that the value was not found

Here:
Bot: START Gen 6 Soft-reset bot
Bot: Test if the PSS menu is shown
NTR: Read data at address 0x0019C21C
NTR: Expected value 0x00830000 to 0x0083FFFF
packet: cmd = 9, dataLen = 4
NTR: Read sucessful - 0x008470C8
NTR: Value in range: NO
Bot: STOP Gen 6 Soft-reset bot
NTR: Command timed out
 
Last edited by mrpopo470,
  • Like
Reactions: MichiS97

MichiS97

"Leftist snowflake milennial"
Member
Joined
Jun 14, 2011
Messages
1,815
Trophies
2
Age
26
Location
Munich
XP
3,599
Country
Germany
Hello, could some1 help me out here?
So I'ver been running the bot for 24h plus, and I got to say, great work! Works almost flawlessly, and i already got 3 shiny legendaries on my Alpha sapphire.
Thing is now, when i connect it works, but when i go to the pss menu it always says "please go to the PSS menu and try again", even though i am there when i click start bot.
thanks in advance

EDIT: Ok so, my zekrom soft reset bot still works. But my palkia soft reset bot only starts when i am inside granite cave. Why is that? It says on my ntr log that the value was not found

Here:
Bot: START Gen 6 Soft-reset bot
Bot: Test if the PSS menu is shown
NTR: Read data at address 0x0019C21C
NTR: Expected value 0x00830000 to 0x0083FFFF
packet: cmd = 9, dataLen = 4
NTR: Read sucessful - 0x008470C8
NTR: Value in range: NO
Bot: STOP Gen 6 Soft-reset bot
NTR: Command timed out
I had the same issue about it always saying that i need to go to the PSS menu. I just disabled PSS communication myself and now I always check the continue option.
Works like a charm now.
@Real.96 So the gen 6 bot sometimes gets stuck in a loop? Can you explain the problem precisely? Any other bots that may need some tweaking? I'm done with everything I wanted to fix so I'd gladly mess around with something else.
 

mrpopo470

Well-Known Member
Newcomer
Joined
Mar 13, 2016
Messages
48
Trophies
0
XP
105
Country
Portugal
I had the same issue about it always saying that i need to go to the PSS menu. I just disabled PSS communication myself and now I always check the continue option.
Works like a charm now.
@Real.96 So the gen 6 bot sometimes gets stuck in a loop? Can you explain the problem precisely? Any other bots that may need some tweaking? I'm done with everything I wanted to fix so I'd gladly mess around with something else.
Thanks!!
Btw if any1 is having black screen issues, version 3.1 of NTR seems to do the trick for me. super stable after more than 24h (6GEN)
 

MichiS97

"Leftist snowflake milennial"
Member
Joined
Jun 14, 2011
Messages
1,815
Trophies
2
Age
26
Location
Munich
XP
3,599
Country
Germany
Thanks!!
Btw if any1 is having black screen issues, version 3.1 of NTR seems to do the trick for me. super stable after more than 24h (6GEN)
Gen 6 seems to be more stable anyway. At least it is for me (using NTR 3.4), it's Gen 7 that's troublesome for me, can't leave it running through the night at all
 

mrpopo470

Well-Known Member
Newcomer
Joined
Mar 13, 2016
Messages
48
Trophies
0
XP
105
Country
Portugal
Gen 6 seems to be more stable anyway. At least it is for me (using NTR 3.4), it's Gen 7 that's troublesome for me, can't leave it running through the night at all
tyvm, almost 2h now on the palkia SRs without any problem. Another question :o Do you use clock+L2 on N3DS? (the resume bot after PSS disabled doesnt work on my old3ds, breaks after 1st SR. But on N3DS its very good!)
 

MichiS97

"Leftist snowflake milennial"
Member
Joined
Jun 14, 2011
Messages
1,815
Trophies
2
Age
26
Location
Munich
XP
3,599
Country
Germany
tyvm, almost 2h now on the palkia SRs without any problem. Another question :o Do you use clock+L2 on N3DS? (the resume bot after PSS disabled doesnt work on my old3ds, breaks after 1st SR. But on N3DS its very good!)
I'm currently using clock+L2 on my N3DS, though I hadn't used it until yesterday. Maybe this will improve the Gen 7 SR bot though I have yet to try that.
 

Real.96

Well-Known Member
Member
Joined
Sep 14, 2015
Messages
1,055
Trophies
0
Age
27
XP
955
Country
Italy
I had the same issue about it always saying that i need to go to the PSS menu. I just disabled PSS communication myself and now I always check the continue option.
Works like a charm now.
@Real.96 So the gen 6 bot sometimes gets stuck in a loop? Can you explain the problem precisely? Any other bots that may need some tweaking? I'm done with everything I wanted to fix so I'd gladly mess around with something else.

I explain the gen 6 event bot bug in a better way. After the bot starts the game, it sends the A command to trigger the dialog with the blue lady. After this, it keeps pressing the B button until it finds the data of the pokemon in the party. Sometimes it happens that the bot sends the A command to trigger the dialog but the game doesn't receive it and it acts like it havs sent it and the game has received it. So it stucks in a loop of B button pressing and pokemon data checking, without finding anything. It mostly happens with digital copies, due to the early skipping title timer and also on physical copies but rarely.
So i think that the better thing is to adjust the timing on digital copies (don't know if there is a way to check it the game is physical or not). Then if the error persists, would be better to add also the check
 
Last edited by Real.96,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Maximumbeans @ Maximumbeans: butte