Jump to content


Helpful Member
  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by Kaphotics

  1. It's relevant when the PKM format has data that is normally updated by the game when traded. Current friendship (Gen2+) gets updated, eggs get their met location set to Link Trade (Gen4+), handling trainer data gets updated (Gen6+). PKHeX gives you the option of skipping the game's trade updates when importing the data. Skipping it can result in mismatched data, but will keep the data exactly as it was stored in the PKM file.
  2. Did you first load a save file?
  3. There's no need to run emunand on the switch, everything can be done (homebrew menu / apps) with just atmosphere cfw on startup.
  4. Open your save file in a hex editor. It's all FF; you haven't saved and exported properly.
  5. Did you save in game prior to exporting the save data? Save states are not saving via the in-game menus.
  6. >PKHeX, Version= Does the behavior persist on the latest release? If you don't mind, can you attach/DM your save and let me know what the play time should instead be?
  7. https://github.com/kwsch/PKHeX/blob/5708310f6f075dd29b9b28e5131c2b9a676cb881/PKHeX.Core/Saves/SAV3.cs#L51-L54 https://github.com/kwsch/PKHeX/blob/5708310f6f075dd29b9b28e5131c2b9a676cb881/PKHeX.Core/Saves/SAV3.cs#L304-L354 1. Download a hex editor (ex. HxD) 2. Based on the structure of Gen3 save files, you need to locate where the Trainer Name is stored. Referring to PKHeX's code, the OT Name is stored at the start of the Small structure block, occupies 8 bytes, and is immediately followed by [byte Gender, byte Padding, uint TIDSID]. If you can find your Trainer ID at any offset (0x*00A), with data roughly matching the playtime, try changing the first 6 bytes (0x*000 - 0x*006) to be 0xFF. Do this for the backup save as well, so it'll need to be done at another offset with the same style. 3. Load in pkhex, should load as SAV3EU, export. Should be fixed.
  8. SAV->Event Flags->find the Starter choice in one of the tabs.
  9. PKHeX is assuming your save file is Japanese, and every character in the trainer name is probably 0x00. You can fix it with a hex editor after specifying a new OT name and then with the hex editor ensuring all 7 trainer name bytes are set (or 0xFF). OR just revert to a backup save file.
  10. You can export a box binary for each box you don't want to sort, then clear the box. After sorting, import each box binary. If you care about retaining the box names, you can always reorder boxes to have those boxes last.
  11. I've updated my post with a link to pret's disassembly of emerald, which shows the structures for value & flag storage. In the disassembly, they remark how the Received Jirachi flag isn't accessible for Emerald, but if you hack the distribution disc to allow connecting to Emerald, it would still work the same. Might be iffy as a distribution disc might not know about a future game's overall structure (correct offset to interpret the struct at) but both structures are present for all mainline games apparently.
  12. The Generation 3 mainline saves have an `ExternalEventData` region that is used by linked games like C/XD/Event Discs. PKHeX just implements them all as shared values because there's nothing known to be reusing the same offset within the struct that is version exclusive. https://github.com/pret/pokeemerald/blob/2304283c3ef2675be5999349673b02796db0827d/include/global.h#L932
  13. How exactly are you importing your edited save into the emulator? Be sure the emulator imports your save correctly and that you aren't using save states to resume a prior snapshot. Close the emulator, overwrite the save file, open the emulator, start the ROM, then proceed past the title screen and continue game.
  14. Since the SID is required to be as you specified, that spread cannot be shiny. Shininess is determined from PID, TID, and SID, none of which can deviate. RNG Reporter / Pokefinder won't tell you the Version/OT_Gender the Jirachi will have, because it's irrelevant -- you only want the spread. Find a valid shiny spread, then set the correct Version/OT_Gender. The RNG tools are intended to be used for people wanting to do RNG abuse, not for people looking to skip the RNG process entirely and cheat.
  15. Thanks, the Gen4 Korean Platinum event flag list has been fixed on the latest commit: https://github.com/kwsch/PKHeX/commit/b088a29c88d650197ac11d2a31b1e4e1e12b745a
  16. Assuming it is a legitimate Emerald cartridge, looking at your save data, it doesn't look like it is valid per your attached screenshot. If it is a reproduction cartridge / flashcart, then it is uncertain what "tweaks" it may be doing to store the save data and ROM data. If this is the case, you can always try exporting the save data from mGBA's GUI, if it is somehow saving it separately/in the ROM file.
  17. Dump is linqpad, but it's essentially the same as Console.Write() or whatever. You can manually download the NuGet package yourself, rename the extension to zip, then extract the dll to a roller and manually add it as a reference in linqpad.
  18. PKHeX.Core is available on NuGet and can be used as a class library for directly calling functions. Many people use LINQPad to write thier own C# scripts w/ the PKHeX.Core.dll It's not beginner friendly, because you'd have to write your own code to use PKHeX's API yourself. The first snippet of my reply is such a script that calculates and spits out the possible seed for your desired TID/SID.
  19. The RNG correlation for Colosseum starters is more than just PIDIV. When the game generates your trainer data, it also generates your starters, so the starters have a correlation with the TID/SID. It's not permitted for an "arbitrary TID/SID combo"; a given TID/SID combo must have a corresponding PIDIV for both starters, and the starters must generate as antishiny with fixed gender, so it's not a "7 frames later". If the starter ends up shiny or the wrong gender, it will re-roll the PID until it is correct. The only seed that gives you your desired TID/SID is 0x3074D719. Span<uint> seeds = stackalloc uint[4]; var count = XDRNG.GetSeeds(seeds, (34625u << 16) | 64821u); seeds = seeds[..count]; seeds.Dump(); With that seed, the resulting Umbreon is: PID: 391A8655 Umbreon (M) IVs: 3 HP / 10 Atk / 17 Def / 22 SpA / 23 SpD / 13 Spe Ability: Synchronize Level: 26 Serious Nature - Bite - Taunt - Secret Power - Snatch And Espeon is: 0x81DDDE59 Espeon (M) IVs: 13 HP / 10 Atk / 2 Def / 9 SpA / 11 SpD / 0 Spe Ability: Synchronize Level: 25 Mild Nature - Confusion - Return - Reflect - Helping Hand
  20. It is a research tool, no editing is provided.
  21. Same general appearance, same junk Guess it's time to wait for another dumper
  22. Clean your cartridge contacts. The contents of the file you uploaded do not look even close to a Gen1 save file. (obtain another valid save file and compare the two in a hex editor, the difference is obvious)
  23. Refer to the guide on how to find specific values. Edit the Pokémon in the main tabs first, then the Batch Editor dropdowns will indicate the right value.
  • Create New...