Jump to content

Recommended Posts

Posted
4 hours ago, Kaphotics said:

You can import & export gp1 files, and dump the current contents. Whatever is in the editor is what's currently available.

Is there a way to edit gp1 files? I've tried editing them with notepad and wordpad, but it doesn't look like the way to go (lots of weird symbols).

4 hours ago, theSLAYER said:

I'm in the process of uploading the GP1 files here.

Thank you so much!!

Posted
1 hour ago, yagamilight said:

Is there a way to edit gp1 files? I've tried editing them with notepad and wordpad, but it doesn't look like the way to go (lots of weird symbols).

Thank you so much!!

Edit them in HxD or any other hex editor.

Reference structure is at the bottom of here:

https://github.com/kwsch/PKHeX/blob/029e0e0a0801d2d6075bcca32cb6a0736deb1543/PKHeX.Core/Saves/Substructures/Gen7/GP1.cs

  • Like 1
  • Thanks 1
Posted
On 11/18/2018 at 2:51 AM, Kaphotics said:

Edit them in HxD or any other hex editor.

Reference structure is at the bottom of here:

https://github.com/kwsch/PKHeX/blob/029e0e0a0801d2d6075bcca32cb6a0736deb1543/PKHeX.Core/Saves/Substructures/Gen7/GP1.cs

Thanks!

Tried using HxD, but what I got is something like what you can see on the attached pic. In this menu I'm only able to edit the trainer name, the other info is impossible to decipher for me :(

Am I doing something wrong or are we only supposed to edit trainer name?

Captura.PNG

Posted
1 minute ago, yagamilight said:

Thanks!

Tried using HxD, but what I got is something like what you can see on the attached pic. In this menu I'm only able to edit the trainer name, the other info is impossible to decipher for me :(

Am I doing something wrong or are we only supposed to edit trainer name?

Captura.PNG

Read the source code that I provided. It tells you what offsets mean what.

Posted
43 minutes ago, yagamilight said:

Thanks!

Tried using HxD, but what I got is something like what you can see on the attached pic. In this menu I'm only able to edit the trainer name, the other info is impossible to decipher for me :(

Am I doing something wrong or are we only supposed to edit trainer name?

Captura.PNG

Hello, I see you’re looking at my file.

Kaphotics is right: his page with the source code provides the important offsets. 

Granted, I think the geotagging is more than just text (it involves some bytes as well), but whatever displayed in-game is as provided, except weight and height.

A way around that you simply transfer a Mon with the weight and height you want, then modify that mon into a different species. You will gonna need to know how to convert hex to dec, as well as know endianness. Else, this is beyond you.

Posted
1 hour ago, Kaphotics said:

Read the source code that I provided. It tells you what offsets mean what.

I did yesterday, and tried to figure out what it tells, but I think it's beyond my comprehension ^_^U

53 minutes ago, theSLAYER said:

Hello, I see you’re looking at my file.

Kaphotics is right: his page with the source code provides the important offsets. 

Granted, I think the geotagging is more than just text (it involves some bytes as well), but whatever displayed in-game is as provided, except weight and height.

A way around that you simply transfer a Mon with the weight and height you want, then modify that mon into a different species. You will gonna need to know how to convert hex to dec, as well as know endianness. Else, this is beyond you.

Yes, I was trying to figure how to edit IVs directly on the gp1 file. Found out how thanks to your comment about converting hex to dec :)

Posted (edited)

Long post warning, but may help people like me edit this stuff a bit easier. If you don't have the time to read this and/or you are Kaphotics or theSLAYER, please just read the last short paragraph.

Curiosity got the best of me. I know nothing about hacking and this is the first time ever using a hex editor, but it was a fun journey.

Here's a list of what I found, hope someone finds this useful.

1. I went over Kaphotic's link. I was dizzy at first but by comparing that with the HxD window I soon figured out that the 0x00 type numbers describe the precise locations of code (is it code? I'll just refer it as such. Teach me please) The first digit after the "x" is the row, and the second digit is the column.

2. Used a hex<->dec converter and found that 0x28 is the pokedex number of the pokemon.

3. Meltan (or Melmetal) can be edited in by changing 0x28 to 28 (or 29) and 0x29 to 03. I had to compare other pokemon with theSLAYER's file and also transfer a legit Meltan in to finally notice that 0x29 was different (The numbers in 0x29 were lighter colour than 0x28 in HxD).

4. Because 28 is 40 in dec, and that's Wigglytuff, PKHeX reads a Meltan as Wigglytuff. I don't know why PKHeX doesn't read 0x29, but I also don't know a lot of things in life. Carry on.

5. This one involved quite a bit of saving loading comparing. IV1 is Health, IV2 is Attack and Sp.Atk, and IV3 is Defense and Sp.Def. Speed stats seem to be random regardless of what I change because the same exact file can produce different speed stats. I wonder what Speed is linked to. Does anyone know?

This is about as far as I've found. Following is what I'm trying to find out:

1. I don't know what determines the Pokemon Go's CP inside the GoPark, but it seems to change to fit the game's CP once the pokemon is caught.

2. I don't know if there will be a problem with copying the same pokemon file in multiple slots. The resulting pokemon will have different speed stats, so I think it's okay but not sure.

3. I don't know what theSlayer means by there's more to geotagging than just text. I couldn't figure out what bytes he is referring to.

4. There's still a lot of values that are not explained in Kaphotic's link. The jumbled characters starting at 0x38 is... not even confusing, it's just, I feel like an illiterate dumbass.

Welp, that about sums up today's afternoon.

Thank you Kaphotics and theSLAYER. This got me really interested in learning more (I don't think this is coding.. Is this hacking?). Can anyone tell me where to start? I barely remember beginner's Java from school many years ago. I'd eventually like to make programs like PKHeX, or contribute to the hacking scene. Also, GitHub seems like such a cool place. If you guys have any inclination on opening my eyes to the knowledge of computer stuff that you guys know, please tell me how you guys got into doing these stuff and where I can start learning more.

Edited by RhinoBike
I pasted the entire thing twice, other minor edits
  • Like 1
Posted

Hi @RhinoBike, just to add on/clarify specific points.
3. Meltan/Melmetal's ID is 808/809, which is 0x0328/0x0329 in hex.
When you factor in endianess, it will be 0x28/29 then 0x03, as you described. (endianness swaps 03 28 to 28 03)

4. kaph is aware of that and will be fixed. Right now, PKHeX reads a single byte, instead of both the bytes, hence that error.

5. AFAIK in-game Speed stat is random, like nature.

3. when I compare files with the same location text, data at locations 0x38 to 0x48 bytes were the same between those files. (this also answers your number 4)
Additionally: I haven't been able to find out where height and weight is stored. For now, I assume it's at 0x48 to 0x4F

Referring to Kaph's github
0x00 to 0x0F: Username1
0x10 to 0x1F: Username2
0x28 to 0x29*: Species     (* to be fixed)
0x30: Raw Level Data
0x50: IV1
0x54: IV2
0x58: IV3
0x70: Pokemon Gender
0x72: Flag (01 if alolan)
0x73: Shiny Check
0x74: PGo Move 1
0x78: PGo Move 2
0x7C to (length 0x60): Geolocation name
0x12D to 0x20: Nickname (00 until 02 if no nickname)

and:
0x5C to 0x5F: Date (account of endianness)
0x2C to 0x2D: CP (account of endianness)



Finally, I don't know what the others would say, but I would guess:
1. create a macro (VBA) for Microsoft Excel. You can start with "recording" your inputs, and slowly change it by introducing variables.
(and also read up what each recorded line of code mean)
2. VB.net (an upgrade of VBA language) I think is pretty similar. Use the program Visual Studio to write up your own program.
I think a typical exercise is to create a functional calculator, so can start from there..

  • Like 1
  • 2 weeks later...

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