Jump to content

pk3DS: Pokémon 3DS ROM Editor and Randomizer


Recommended Posts

1 hour ago, Gadie said:

I seem to be having a problem with randomising my TMs. I've had a quick google search to see if its anything I'm doing wrong and it doesn't look like i am.

Basically, the descriptions of the TMs are being randomised however the actual TM is not - meaning if I were to get the False Swipe TM it would contain False Swipe but have the description of say, Acrobatics. This does not change what False Swipe can be taught to, say if Volt Switch was Randomised to Roar of Time after defeating Wattson then Pokemon able to learn Volt Switch will learn Roar of Time instead.

Any help is appreciated.

Double check that your 3ds is loading both the edited romfs AND the exefs. The exefs contains the actual move to be taught, and the romfs contains the text description.

Link to comment
Share on other sites

So, I ran into an error that was reported nearly two months ago. If a trainer has a single Pokémon, that can Mega Evolve, and you KO it after it's Mega Evolved, you're stuck in a limbo where the opponent's Pokémon is there but not really, so you cannot attack it.

https://cdn.discordapp.com/attachments/326627132895789058/453373958285164544/20180605_034537.jpg

Worst part is, you can't even Struggle yourself to death since attacks constantly miss, so it's a complete softlock.

PS: I know, I know, sideways picture.

 

Edit: for the record, I was using build #353.

Edit 2: happened once again, against the same trainer despite me giving every trainer at least two Pokémon. This time it was a Mega Audino. Seems like the game doesn't like it when the final Pokémon to be sent is a Mega, for whatever reason...

Edited by Osha
Link to comment
Share on other sites

Hi.

I've been using pk3DS for some personal tweaks and I was wondering if it will be possible in the future to edit the Pokedex in XY/ORAS (ie. changing regional dex order, adding/removing Pokemon to the regional dex). I've added some extra Pokemon to my ORAS games to spice up the type diversity and I'd love to have them actually appear in the regional dex.

Thanks for your hard work!

Link to comment
Share on other sites

Randomizing Ultra Sun and this is the error that I get when trying to open "trainers" or "static pokemon" tab

Any ideas why this is or how it can be fixed?

It is a completely clean unrandomized 3ds file

 

 

Exception Details:
System.ArgumentOutOfRangeException: Value of '130' is not valid for 'Value'. 'Value' should be between 'Minimum' and 'Maximum'.
Parameter name: Value
   at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
   at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
   at pk3DS.Main.<B_Trainer_Click>b__35_0() in C:\BuildAgent\work\ccf72a59f9911202\pk3DS\Main.cs:line 582
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

Loaded Assemblies:
--------------------
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll

pk3DS, Version=1.0.0.354, Culture=neutral, PublicKeyToken=null
C:\Users\Gebruiker\Desktop\pk3DS Build 354\pk3DS.exe

System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll

System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll

System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll

System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll

System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll

System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll

pk3DS.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
C:\Users\Gebruiker\Desktop\pk3DS Build 354\pk3DS.Core.dll

--------------------
User Message:
An unhandled exception has occurred.
The program must now close.
 

Link to comment
Share on other sites

I seem to be getting a lot of errors too

Exception Details:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
   at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
   at pk3DS.Main.<B_Personal_Click>b__34_0() in C:\BuildAgent\work\ccf72a59f9911202\pk3DS\Main.cs:line 552
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

Loaded Assemblies:
--------------------
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll

pk3DS, Version=1.0.0.355, Culture=neutral, PublicKeyToken=null
C:\Users\Owner\Desktop\Hacking 3DS\pk3ds\pk3DS.exe

System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll

System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll

System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll

System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll

System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll

System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll

pk3DS.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
C:\Users\Owner\Desktop\Hacking 3DS\pk3ds\pk3DS.Core.dll

--------------------
User Message:
An unhandled exception has occurred.
The program must now close.
 

When I try to do personal stats. I've tried restoring original files too but doesn't work

Link to comment
Share on other sites

Love the randomizer! I was wondering if there is any chance of a function to re-order damaging moves of a randomized moveset, such as rock slide being learned before stone edge. (Same as with the Universal Randomizer) Learning high BP moves early and low ones after just feels bad. Either way, keep up the good work. :D 

Link to comment
Share on other sites

7 hours ago, TrisserT said:

Love the randomizer! I was wondering if there is any chance of a function to re-order damaging moves of a randomized moveset, such as rock slide being learned before stone edge. (Same as with the Universal Randomizer) Learning high BP moves early and low ones after just feels bad. Either way, keep up the good work. :D 

Done, added to latest commit :)

https://github.com/kwsch/pk3DS/commit/da0f1f6eca0c76eeb11a1ade8d35b9dc87389179

Link to comment
Share on other sites

Hey guys, I have a problem with the Shiny Rate Editor. I can pretty much use the whole PK3DS program without any issues, but whatever I do, the shiny rates don't seem to change whatever I put it to. I tried to put it as high as 90% and I can't find a single shiny Pokemon. I'm currently playing on a ORAS Randomized ROM on the Citra emulator. Like I said, everything that I change in the PK3DS program succesfully translates into the game, but for some reason the Shiny Editor doesn't seem to work.

Thank you in advance for your help

~M

Link to comment
Share on other sites

Does anyone know whether pk3DS is feasible for citra player like me? In other words, is Citra Emulator able to run the new .cci file? If it's available, then here's the problem. Citra always crashed everytime I opened the .cci file rebuilted from pk3DS. I tested the transformation process of .3ds to .cia or .cia to .cci,and I also tested the procedure of decrypting, all of them work ed well. I'm sure the issue I confronted took place in the process of rebuilding romfs and exefs. But I can't figure out the cause. Does anyone can help me?

Link to comment
Share on other sites

I tried to run this program through with files from Y.  It seemed to decompress a majority of the files.  However, it failed to decompress .code.bin and I think it's the same with the rest of the files in the exe folder.  The program aborted with the error message upon clicking on ANY of the ExeFS options.  The following appeared afterward:

 

Exception Details:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at pk3DS.TMHMEditor6.getList() in C:\BuildAgent\work\ccf72a59f9911202\pk3DS\Subforms\Gen6\TMHMEditor6.cs:line 72
   at pk3DS.TMHMEditor6..ctor() in C:\BuildAgent\work\ccf72a59f9911202\pk3DS\Subforms\Gen6\TMHMEditor6.cs:line 25
   at pk3DS.Main.B_TMHM_Click(Object sender, EventArgs e) in C:\BuildAgent\work\ccf72a59f9911202\pk3DS\Main.cs:line 912
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Loaded Assemblies:
--------------------
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll

pk3DS, Version=1.0.0.358, Culture=neutral, PublicKeyToken=null
C:\Users\[REDACTED]\Desktop\uberrandomrandomizer\3DS Randomizer Pack\Step 2 - Randomize\pk3DS.exe

System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll

System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll

System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll

System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll

System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll

System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll

pk3DS.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
C:\Users\[REDACTED]\Desktop\uberrandomrandomizer\3DS Randomizer Pack\Step 2 - Randomize\pk3DS.Core.dll

--------------------
User Message:
An unhandled exception has occurred.
You can continue running the program (albeit with potential side-effects), but please report this error.
 

 

If it isn't decompressing the files, is there another program that will?  If so, what do you recommend?

Link to comment
Share on other sites

On 6/5/2018 at 4:53 AM, Osha said:

So, I ran into an error that was reported nearly two months ago. If a trainer has a single Pokémon, that can Mega Evolve, and you KO it after it's Mega Evolved, you're stuck in a limbo where the opponent's Pokémon is there but not really, so you cannot attack it.

https://cdn.discordapp.com/attachments/326627132895789058/453373958285164544/20180605_034537.jpg

Worst part is, you can't even Struggle yourself to death since attacks constantly miss, so it's a complete softlock.

PS: I know, I know, sideways picture.

 

Edit: for the record, I was using build #353.

Edit 2: happened once again, against the same trainer despite me giving every trainer at least two Pokémon. This time it was a Mega Audino. Seems like the game doesn't like it when the final Pokémon to be sent is a Mega, for whatever reason...

Hey there, getting the same problem as Osha. 

Also, I think there's something wrong bout the randomizer trainer settings, whenever I randomize it, all the trainers have pokemon with mega stones which is kinda weird even though I ticked off the ensure post-game mega evolution. I hope that there's a fix to this.

Link to comment
Share on other sites

Hi, I have question: How do I modify item stats ? For instance, I want ultra ball to have higher catch rate, or Lustrous Orb to increase Palkia's stats, or leftovers being able to heal more , etc... How should I do that ? Could someone please help me ?

Link to comment
Share on other sites

3 hours ago, GamerKid303 said:

Yet another question about pk3ds: I changed the shiny encounter rate to 1% and I obtained the shiny charm so does that mean the changes to find a shiny is now 2%? Or am I completely off?

How do you know it is 1% ? could you please show me the snapshot of the pk3ds ? I am trying to figure out the rate as well

Edited by khanghuynh93
Link to comment
Share on other sites

18 hours ago, khanghuynh93 said:

How do you know it is 1% ? could you please show me the snapshot of the pk3ds ? I am trying to figure out the rate as well

If you look on the right you can see whats called a Reroll Helper. This doesn't not affect the game in away, it's just used to help you find the correct reroll you want for your shiny rate. If you look over on the left THAT is what affects the code.bin.

As you can see here, on the Reroll Helper I put 1.00, because I want a 1% shiny encounter rate. So under that you can see what says "Count 41". Basically, after you put your desired percentage into the Reroll Helper you put the number next to "Count" into the left side that says "Reroll". And thats it!

NEW Capture.PNG

Link to comment
Share on other sites

On 7/2/2018 at 8:43 AM, khanghuynh93 said:

Hi, I have question: How do I modify item stats ? For instance, I want ultra ball to have higher catch rate, or Lustrous Orb to increase Palkia's stats, or leftovers being able to heal more , etc... How should I do that ? Could someone please help me ?

I could be wrong, but I don't think pk3ds offers what your looking for.

Link to comment
Share on other sites

On 7/5/2018 at 9:51 AM, GamerKid303 said:

I could be wrong, but I don't think pk3ds offers what your looking for.

There is an item stat section, but it is in hex ( as i recall ), and I don't have the hex table for that. Also, could you please explain more about the shiny rate ? If my PID is about 3% but my reroll is 0.00%, does it mean my shiny rate is 3% ? what does the reroll actually do ?

Link to comment
Share on other sites

11 hours ago, khanghuynh93 said:

There is an item stat section, but it is in hex ( as i recall ), and I don't have the hex table for that. Also, could you please explain more about the shiny rate ? If my PID is about 3% but my reroll is 0.00%, does it mean my shiny rate is 3% ? what does the reroll actually do ?

Just keep adding a number into the reroll untill you see 3.00%

Link to comment
Share on other sites

Back again with a request! I was wondering if it was possible to guarantee a certain % of a pokemon level up moves as damaging moves. I've been loving the ordered-by-power randomized learnset, but occasionally some pokemon have way to many status moves. This is only a problem really against trainers since it takes away a lot of the challenge. It'd be nice if I can use the randomized level-up learnsets and check the "ensure # damaging moves" and "ensure # stab moves", but thats only when you use random moves from the trainers tab, which would make them different from the random level-up moves like I'm trying to use. Sorry if I worded that confusingly! Let me know whenever you find a sec! :D Thanks.

P.S. It seems in the randomized, order by damage level up moveset, leech life is the first move a majority of bug types learn. It is listed as 80 power in the move data, but is it somehow being marked as the old 20 power when being sorted? Just thought I'd let you know!

Edited by TrisserT
Additional information
Link to comment
Share on other sites

Hi!
First off the usual thank you for an awesome tool! ❤️
I have finally figured out how most of the options pk3ds offers work  and created my first OR randomiser that actually does (almost)all it to do!
Could hardly be happier at the moment. ♥

One thing that drove me nuts along the way however was 'random' crashing that I could not figure out the cause of.
Apparently using periods (.) instead of commas (,)  crashes almost any editor that has a "modify levels of xyz pokemon"   option (if period instead of comma is used, of course). I was very upset and going crazy until by chance I decided to delete randsettings.txt and it's been good since then. Maybe you could put that into your opening post as additional info for people who crash as a first-idea-fix ? I would have appreciated  that info for sure while going nuts over my own idiocy the last few weeks of on and off trying to randomise OR ?

I only have one question though because that's the only thing that's still bugging me  and I do apologise if the question has been answered smoewhere along these sites here , at this point I've literally searched about 200times for maaany different things and i might not have read all of the pages in this tread;
About shaking Grass  in ORAS (or any pokemon game, i suspect ?)  for dexnav , is there something I am missing that I need to make the grass shake visible ? I deleted update game data for my OR before i started playing the randomiser , but I've had no luck getting grass  to shake and can't figure out what file  the grass shakes would be in.

I could swear I've read somewhere in my searching history that it has to do with cro files or something, but I am not able to find that piece of information again anywhere, so I decided I'd instead ask it here. I hope it's appropriate to the topic like you state in the opening post , if not - again , apologies. I am just a little tired of searching at this point ?
I am using luma 9.0, using the layeredFS patch and an ips patch for code.bin - if that helps any.

edit of the above shaking grass problem: seems to have gone away after i copied most of the files over again, huh. sorry !


Again , thank you very much for what will be a lot of  fun in hoenn and other areas of the pokemon world soon!

edit: 
Feature Request I would also like to add myself to the list of people that requested a  way to dump pokemart  and other currently not implemented dumping-to-text function !
I have many times restarted from scratch and it would be just blissful to be able to dump and re-import a previously configured part of the randomiser!   ?
Request number 2 :  it would be very nice to be able to have more functionality when restoring backups via the options-> restore original files option. like , click "all" twice and it inverts from all to none ? 

Edited by Angelx91
correction
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...