They are under "itemStorage"Anyone know where the ingredients are in the file (after converted to a json)?
I was thinking of increasing the current number of Items I have, rather than max all of them out (including one I haven't gotten yet at all)
They are under "itemStorage"Anyone know where the ingredients are in the file (after converted to a json)?
I was thinking of increasing the current number of Items I have, rather than max all of them out (including one I haven't gotten yet at all)
Welp, I guess the last thing we could really do for this game is to make an editor for the pokemon themselves.
That, along with checking for unused content (which I don't think there's any, but it would still be good to check)
Currently what's there. The box pokemon button opens a seperate window for the box editor of all 300 slotsI am working on one right nowwith a built in box editor and everything similar style to pkhex.
Currently what's there. The box pokemon button opens a seperate window for the box editor of all 300 slots
"goods": {
"hasDatas": [
{
"id": 312,
"isNew": true
},
{
"id": 313,
"isNew": true
},
{
"id": 314,
"isNew": true
},
{
"id": 400,
"isNew": true
},
{
"id": 103,
"isNew": true
},
{
"id": 401,
"isNew": true
},
{
"id": 102,
"isNew": true
},
{
"id": 201,
"isNew": true
},
{
"id": 402,
"isNew": true
},
{
"id": 100,
"isNew": true
},
{
"id": 305,
"isNew": true
},
{
"id": 206,
"isNew": true
},
{
"id": 404,
"isNew": true
},
{
"id": 101,
"isNew": true
},
{
"id": 315,
"isNew": true
},
{
"id": 316,
"isNew": true
},
{
"id": 317,
"isNew": true
},
{
"id": 318,
"isNew": true
},
{
"id": 319,
"isNew": true
},
{
"id": 300,
"isNew": true
},
{
"id": 309,
"isNew": true
},
{
"id": 200,
"isNew": true
},
{
"id": 310,
"isNew": true
},
{
"id": 204,
"isNew": true
},
{
"id": 311,
"isNew": true
},
{
"id": 202,
"isNew": true
},
{
"id": 203,
"isNew": true
},
{
"id": 205,
"isNew": true
},
{
"id": 403,
"isNew": true
},
{
"id": 306,
"isNew": true
},
{
"id": 302,
"isNew": true
},
{
"id": 307,
"isNew": true
},
{
"id": 304,
"isNew": true
},
{
"id": 308,
"isNew": true
},
{
"id": 303,
"isNew": true
},
{
"id": 301,
"isNew": true
},
{
"id": 207,
"isNew": true
},
{
"id": 320,
"isNew": true
},
{
"id": 321,
"isNew": true
}
],
"placementDatas": [
{
"id": 0,
"goodsID": 102,
"direction": 0
},
{
"id": 1,
"goodsID": 100,
"direction": 2
},
{
"id": 2,
"goodsID": -1,
"direction": 0
},
{
"id": 3,
"goodsID": -1,
"direction": 0
},
{
"id": 4,
"goodsID": 206,
"direction": 0
},
{
"id": 5,
"goodsID": -1,
"direction": 0
},
{
"id": 6,
"goodsID": 201,
"direction": 0
},
{
"id": 7,
"goodsID": -1,
"direction": 0
},
{
"id": 8,
"goodsID": -1,
"direction": 0
},
{
"id": 9,
"goodsID": -1,
"direction": 0
},
{
"id": 10,
"goodsID": -1,
"direction": 0
},
{
"id": 11,
"goodsID": -1,
"direction": 0
},
{
"id": 12,
"goodsID": -1,
"direction": 0
},
{
"id": 13,
"goodsID": -1,
"direction": 0
},
{
"id": 14,
"goodsID": -1,
"direction": 0
},
{
"id": 15,
"goodsID": 400,
"direction": 0
},
{
"id": 16,
"goodsID": 404,
"direction": 0
},
{
"id": 17,
"goodsID": -1,
"direction": 0
},
{
"id": 18,
"goodsID": 313,
"direction": 3
},
{
"id": 19,
"goodsID": 401,
"direction": 0
},
{
"id": 20,
"goodsID": 402,
"direction": 0
}
]
}
I'll be uploading the work to GitHub if anyone wants to help make this a thingCurrently what's there. The box pokemon button opens a seperate window for the box editor of all 300 slots
You're editing the deserialized save directly and not editing the exported JSON, right?Currently what's there. The box pokemon button opens a seperate window for the box editor of all 300 slots
No no no it will be from the JSON. Doing the save directly will be waaay too much work for meYou're editing the deserialized save directly and not editing the exported JSON, right?
No no no it will be from the JSON. Doing the save directly will be waaay too much work for me
But that's what is getting Me on this. I've never done work with save files :/ my other tool I built was only using NTR to edit saves.You're editing the deserialized save directly and not editing the exported JSON, right?
No no no it will be from the JSON. Doing the save directly will be waaay too much work for me
SerializeData = ZeroFormatterSerializer.Deserialize<SerializeData>(saveFile);
I would have said the opposite. Doing it from the JSON would be too much work compared to the other way, especially since it looks like you're already using C#.
Literally all you have to do once you've read the save file into a byte array isCode:SerializeData = ZeroFormatterSerializer.Deserialize<SerializeData>(saveFile);
Besides, editing without exporting to JSON is "safer" than editing the JSON. By safer I mean there are a few bytes in the serialized data that are different from the original when importing from JSON. Those could be unused/garbage bytes, but you never know unless you investigate further.


I would have said the opposite. Doing it from the JSON would be too much work compared to the other way, especially since it looks like you're already using C#.
Literally all you have to do once you've read the save file into a byte array isCode:SerializeData = ZeroFormatterSerializer.Deserialize<SerializeData>(saveFile);
Besides, editing without exporting to JSON is "safer" than editing the JSON. By safer I mean there are a few bytes in the serialized data that are different from the original when importing from JSON. Those could be unused/garbage bytes, but you never know unless you investigate further.
I would have said the opposite. Doing it from the JSON would be too much work compared to the other way, especially since it looks like you're already using C#.
Literally all you have to do once you've read the save file into a byte array isCode:SerializeData = ZeroFormatterSerializer.Deserialize<SerializeData>(saveFile);
Besides, editing without exporting to JSON is "safer" than editing the JSON. By safer I mean there are a few bytes in the serialized data that are different from the original when importing from JSON. Those could be unused/garbage bytes, but you never know unless you investigate further.
"222": {
"stoneData": [
56, 0, 0, 0,
56, 0, 0, 0,
5, 0, 0, 0,
32, 0, 0, 0,
36, 0, 0, 0,
40, 0, 0, 0,
44, 0, 0, 0,
48, 0, 0, 0,
52, 0, 0, 0,
0, 0, 0, 0,
95, 0, 0, 0,
0, 0, 0, 0,
3, 0, 0, 0,
100, 0, 0, 0,
30, 0, 0, 0,
4, 0, 0, 0,
32, 0, 0, 0,
32, 0, 0, 0,
0, 0, 0, 0,
24, 0, 0, 0,
1, 0, 0, 0,
16, 0, 0, 0,
20, 0, 0, 0,
231, 3, 0, 0,
95, 0, 0, 0,
32, 0, 0, 0,
32, 0, 0, 0,
23, 0, 0, 0,
24, 0, 0, 0,
1, 0, 0, 0,
16, 0, 0, 0,
20, 0, 0, 0,
118, 190, 127, 63,
90, 0, 0, 0,
32, 0, 0, 0,
32, 0, 0, 0,
27, 0, 0, 0,
24, 0, 0, 0,
1, 0, 0, 0,
16, 0, 0, 0,
20, 0, 0, 0,
118, 190, 127, 63,
85, 0, 0, 0,
32, 0, 0, 0,
32, 0, 0, 0,
26, 0, 0, 0,
24, 0, 0, 0,
1, 0, 0, 0,
16, 0, 0, 0,
20, 0, 0, 0,
118, 190, 127, 63,
95, 0, 0, 0
],
"characterStorageIndex": -1,
"isNew": true,
"timeTicks": 636640987930762695
},
5 : Skill Reduced latency (It must be a negative number. ex.163,112,125,191 => -0.990)
9 : Skill Increase the size of attack.
14 : Nature recovery up.
23 : Move speed up.
26 : Critical rate. upper limit +100.
27 : Critical damage. upper limit +100.
28 : Reduced resurrection time. upper limit -50. (It must be a negative number. ex.163,112,125,191 => -0.990)
29 : HP up at resurrection. upper limit +50.
40 : HP recovery with attack. upper limit +10.
41 : HP recovery if you defeat the enemy. upper limit +100.
48 : Improve the tolerance of negative effects.
49 : Total condition abnormal tolerance

If anyone want to try dlc items, here's my "goods" data (you probably don't need the placementDatas part)
Code:"goods": { "hasDatas": [ { "id": 312, "isNew": true }, { "id": 313, "isNew": true }, { "id": 314, "isNew": true }, { "id": 400, "isNew": true }, { "id": 103, "isNew": true }, { "id": 401, "isNew": true }, { "id": 102, "isNew": true }, { "id": 201, "isNew": true }, { "id": 402, "isNew": true }, { "id": 100, "isNew": true }, { "id": 305, "isNew": true }, { "id": 206, "isNew": true }, { "id": 404, "isNew": true }, { "id": 101, "isNew": true }, { "id": 315, "isNew": true }, { "id": 316, "isNew": true }, { "id": 317, "isNew": true }, { "id": 318, "isNew": true }, { "id": 319, "isNew": true }, { "id": 300, "isNew": true }, { "id": 309, "isNew": true }, { "id": 200, "isNew": true }, { "id": 310, "isNew": true }, { "id": 204, "isNew": true }, { "id": 311, "isNew": true }, { "id": 202, "isNew": true }, { "id": 203, "isNew": true }, { "id": 205, "isNew": true }, { "id": 403, "isNew": true }, { "id": 306, "isNew": true }, { "id": 302, "isNew": true }, { "id": 307, "isNew": true }, { "id": 304, "isNew": true }, { "id": 308, "isNew": true }, { "id": 303, "isNew": true }, { "id": 301, "isNew": true }, { "id": 207, "isNew": true }, { "id": 320, "isNew": true }, { "id": 321, "isNew": true } ], "placementDatas": [ { "id": 0, "goodsID": 102, "direction": 0 }, { "id": 1, "goodsID": 100, "direction": 2 }, { "id": 2, "goodsID": -1, "direction": 0 }, { "id": 3, "goodsID": -1, "direction": 0 }, { "id": 4, "goodsID": 206, "direction": 0 }, { "id": 5, "goodsID": -1, "direction": 0 }, { "id": 6, "goodsID": 201, "direction": 0 }, { "id": 7, "goodsID": -1, "direction": 0 }, { "id": 8, "goodsID": -1, "direction": 0 }, { "id": 9, "goodsID": -1, "direction": 0 }, { "id": 10, "goodsID": -1, "direction": 0 }, { "id": 11, "goodsID": -1, "direction": 0 }, { "id": 12, "goodsID": -1, "direction": 0 }, { "id": 13, "goodsID": -1, "direction": 0 }, { "id": 14, "goodsID": -1, "direction": 0 }, { "id": 15, "goodsID": 400, "direction": 0 }, { "id": 16, "goodsID": 404, "direction": 0 }, { "id": 17, "goodsID": -1, "direction": 0 }, { "id": 18, "goodsID": 313, "direction": 3 }, { "id": 19, "goodsID": 401, "direction": 0 }, { "id": 20, "goodsID": 402, "direction": 0 } ] }

Hey! I know this is not the right Thread to ask this in. But could you explain how to use this? Its my first time hearing of the ZeroFormatter stuff and I cnat figure it out. If I use this call, it tells me that the type is not supported and I should register it. (System.InvalidOperationException) I have the CheckData and SerializeData class in place. You may know whats the error here? Thanks in advance for any information![]()