Jump to content

pk3DS: Pokémon 3DS ROM Editor and Randomizer


Recommended Posts

I am currently trying to randomize and I have not successfully done so yet. I got all my files extracted and decrypted but I get the message:

Exception Details:
System.FormatException: Invalid GARC Version: 0x0000
   at pk3DS.Core.CTR.GARC.UnpackGARC(Stream stream)
   at pk3DS.Core.CTR.GARC.UnpackGARC(Byte[] data)
   at pk3DS.Core.GameConfig.GetMemGARC(String file)
   at pk3DS.Core.GameConfig.GetGARCByReference(GARCReference gr)
   at pk3DS.Core.GameConfig.InitializePersonal()
   at pk3DS.Core.GameConfig.InitializeAll()
   at pk3DS.Main.OpenQuick(String path) in D:\a\1\s\pk3DS\Main.cs:line 231
   at pk3DS.Main.B_Open_Click(Object sender, EventArgs e) in D:\a\1\s\pk3DS\Main.cs:line 102
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.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.0, Culture=neutral, PublicKeyToken=null
C:\Users\jstoo\Desktop\Randomizer\Roms\3DS\pk3DS\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\jstoo\Desktop\Randomizer\Roms\3DS\pk3DS\pk3DS\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.
 

 

 

 

I can click continue, however, when I try to randomize things like "Wild Pokemon," I get the message: 

Exception Details:
System.NullReferenceException: Object reference not set to an instance of an object.
   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_Wild_Click>b__40_0() in D:\a\1\s\pk3DS\Main.cs:line 727
   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.0, Culture=neutral, PublicKeyToken=null
C:\Users\jstoo\Desktop\Randomizer\Roms\3DS\pk3DS\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\jstoo\Desktop\Randomizer\Roms\3DS\pk3DS\pk3DS\pk3DS.Core.dll

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

 

 

 

 

Someone please help

 

Link to comment
Share on other sites

57 minutes ago, Asther said:

For static encounter what's the number of zygarde's perfect form ?

There's no static encounter for Zygarde's Perfect Form.

However, if you meant you were going to change a static encounter to it's perfect form, then:

0: 50%, Aura Break ability
1: 10%, Aura Break ability
2: 10%, Power Construct ability
3: 50%, Power Construct ability
4: 100%, Power Construct ability.

They split the abilities into different forms (even if they look the same percentage wise), so that you can't Ability Capsule to obtain another ability.
The same thing occurred with Own Tempo Rockruff (for Dusk evolution) and Battle Bond Greninja.

Link to comment
Share on other sites

12 hours ago, theSLAYER said:

I don't think that any Necrozma in SM/USUM is 100% catchable? Also I wouldn't know what position it is in, you got to check through the encounters and verify it yourself.

Yes, in US/UM after ultra necrozma's plot, he's 100% catchable in mount lanakila, because he's exhausted, you can also check in pk3ds in USUM, it's really 255

2105609469_Capturedcran2021-08-12173109.thumb.png.288289787d628d9d11af856a9af0261c.png

Edited by Asther
  • Like 1
Link to comment
Share on other sites

On 8/12/2021 at 11:28 PM, Asther said:

Yes, in US/UM after ultra necrozma's plot, he's 100% catchable in mount lanakila, because he's exhausted, you can also check in pk3ds in USUM, it's really 255

2105609469_Capturedcran2021-08-12173109.thumb.png.288289787d628d9d11af856a9af0261c.png

255 means you have 1/3 chance to catch him(it can be 100% catchable if u use quick ball in the first round, which make it 5 times likely to be caught)

there is no mon that can be 100% catchable

Link to comment
Share on other sites

I have a question about PK3DS. Does the game crash even if I change the maximum number of Pokemon that the Pokemon XY / ORAS trainer has?

Is it possible to change the in-game text in languages other than English (especially Japanese)?

Link to comment
Share on other sites

I'm having trouble with randomizing pokemon omega ruby.

 

After randomizing everything to my liking, when booting the game i discover that static encounters and starter pokemon are not randomized. I've done everything in my power to try and fix it, but it just won't work. Everything else seems to randomize just fine. I've even tried saying both yes and no to the following prompt:

unknown.png

I've made sure that all the folders and files are included when rebuilding the rom, with the current names, too.

 

If anyone have found the solution to this, please help me out by replying to this post. Thank you so much!

Edited by Ageforce
Link to comment
Share on other sites

Quick question. I've been looking around the program, but can't figure out if it's possible to make HMs normally forgettable like every other move. Is there an easy way to do so that I'm not seeing, or is it not possible to do at the moment? My backup plan is just to make them useful enough to not matter.

Link to comment
Share on other sites

  • 5 weeks later...

I just updated to the latest version of pk3DS and noticed a new "AI Bits" section in the trainer editor, could someone give me a quick rundown on what these values mean? Using common sense I can figure out that Basic/ Strong/ Expert indicates their AI level (although I'm not sure what difference it makes having Basic + Expert ticked without Strong for example) and that Doubles stops the AI from hitting themselves in a double battle. I know No Whiteout is only used on the first battle between starters for obvious reasons and Battle Royal is presumably only useful in the Battle Royal. The one I cannot figure out is Poke Change, logically this should give the AI the ability to hard switch Pokemon in battle but after running tests on trainers that don't have that bit ticked they still have the capacity to switch in specific circumstances (like switching in a Flash Fire mon to a Fire attack). I assume the Item bit just allows them to use items and that there's no Mega bit because it's determined by an event flag instead.

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

Does anyone know how I can edit trainer movesets? Whenever I do, the movesets show up correctly in pk3ds, but in game they are all random. They’re still from the Pokémon’s learnset, but not the ones I gave them. This is for Pokémon X btw.

Edited by NovaBoltSpider
Link to comment
Share on other sites

Can anyone help me out? I just got the file (after much annoyance of seemingly not getting the right thing) but now it's not finding any .3ds files, specifically my Pokémon Y. I click open navigate to the folder it's in, and just nothing. It doesn't find any file. There's nothing I can really attach to show, because it's just folders and zero actual files in the 'open' tab.

 

Scratch that got it fixed. New thing though; If I can't find out how, I'll make it a mega and work out how to make it work. But is there a way to reliably have a Floette evolve in to Eternal Floette? I saw there was the option for changing / adding evolution paths but couldn't find Eternal in the dropdown options. Basically I'm thinking of making it a split evo, either Florges or Eternal Floette. If I can't, I'm just giving Flabebe/Floette the chance to be holding a Gracidia which will be the mega evo trigger.

Edited by YourPunkPrincess
Link to comment
Share on other sites

On 11/9/2021 at 7:45 AM, YourPunkPrincess said:

Can anyone help me out? I just got the file (after much annoyance of seemingly not getting the right thing) but now it's not finding any .3ds files, specifically my Pokémon Y. I click open navigate to the folder it's in, and just nothing. It doesn't find any file. There's nothing I can really attach to show, because it's just folders and zero actual files in the 'open' tab.

 

Scratch that got it fixed. New thing though; If I can't find out how, I'll make it a mega and work out how to make it work. But is there a way to reliably have a Floette evolve in to Eternal Floette? I saw there was the option for changing / adding evolution paths but couldn't find Eternal in the dropdown options. Basically I'm thinking of making it a split evo, either Florges or Eternal Floette. If I can't, I'm just giving Flabebe/Floette the chance to be holding a Gracidia which will be the mega evo trigger.

That depends on which games you are working with.

 

In the Gen VI games, Forme is by default retained upon evolution (that is to say the Forme number is not edited by the evolution-script (which can lead to glitches if you make a Pokemon with a Forme evolve into one without a Forme)). The sole exception is Espurr's evolution method, which, if the Pokemon is female and reaches its evolution-level, will evolve it and change the Forme to 1. This is not helpful for what you want to accomplish, as Eternal Floette is Forme 5. As such, in the Gen VI games, you're going to have to figure out how to code a new evolutionary method, code some in-game event or item that will change the Forme of a Floette to 5 (like the Deoxys Forme changes upon interacting with its meteorites, or that of Shaymin with the Gracidea), or just use an external save-editing device while playing to switch the Forme.

 

In the Gen VII games, the value that the Evolution Editor displays to the left of the Level value controls Forme changes upon evolution. If that value is set to -1, then the Forme is retained upon evolution just like the default in Gen VI.

If the value is set to 0 or greater, then upon evolving the Pokemon will also take on the corresponding Forme.

In the first example below, all Flabebe will evolve into Eternal Floette.

In the second, they will evolve normally into the corresponding Floette Forme) by level-up at level 19, and into Eternal Floette if you use a Dawn Stone.

 

image.png

image.png

Link to comment
Share on other sites

14 minutes ago, ABZB said:

That depends on which games you are working with.

 

In the Gen VI games, Forme is by default retained upon evolution (that is to say the Forme number is not edited by the evolution-script (which can lead to glitches if you make a Pokemon with a Forme evolve into one without a Forme)). The sole exception is Espurr's evolution method, which, if the Pokemon is female and reaches its evolution-level, will evolve it and change the Forme to 1. This is not helpful for what you want to accomplish, as Eternal Floette is Forme 5. As such, in the Gen VI games, you're going to have to figure out how to code a new evolutionary method, code some in-game event or item that will change the Forme of a Floette to 5 (like the Deoxys Forme changes upon interacting with its meteorites, or that of Shaymin with the Gracidea), or just use an external save-editing device while playing to switch the Forme.

 

In the Gen VII games, the value that the Evolution Editor displays to the left of the Level value controls Forme changes upon evolution. If that value is set to -1, then the Forme is retained upon evolution just like the default in Gen VI.

If the value is set to 0 or greater, then upon evolving the Pokemon will also take on the corresponding Forme.

In the first example below, all Flabebe will evolve into Eternal Floette.

In the second, they will evolve normally into the corresponding Floette Forme) by level-up at level 19, and into Eternal Floette if you use a Dawn Stone.

 

image.png

image.png

Ok yeah I should have specified and just straight didn't realise. Yes I'm doing it with XY, so Gen VI. I do not know coding one tiny bit so I'm assuming from that description that there's not really much I can do exactly myself. But that's fine, it seems I can use a method to use Eternal Forme as a 'mega evolution' so I think I'll just go down that route, making the forme just a form of Mega in my playthrough.

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...