Plants vs. Zombies: Game of the Year

Plants vs. Zombies: Game of the Year

Недостатньо оцінок
How to get China Shop Achievement by cheating (save data editing)
Автор: Alizard
This guide goes over how to edit checkpoint data for Vasebreaker Endless to have a current streak of 14 so you only have to beat one level to get the China Shop achievement
basically, this is the guide to follow if you really want the achievement but hate Vase Breaker and like fiddling with games on a deeper level
   
Нагородити
До улюбленого
В улюблених
Прибрати
Discovery / Introduction
While trying to get the China Shop achievement legitimately for around four hours straight after already trying on multiple days prior, I decided, I'd had enough and tried finding a different way to get it.

The first thing I thought of was abusing the checkpoint system in the game where when you exit a stage, it saves a checkpoint which you could then continue later.
My thought was that whichever file stored this checkpoint must also store the current streak of that checkpoint since you continue with the same streak after continuing a checkpoint.

So after scouting for which save data file contained the checkpoint for Vase Breaker endless and comparing two starting save data files of different streaks in a hex comparer, I found the byte which stores the current streak and devised a method to get the China Shop achievement by changing it in an existing save file.
What you will need
  • A save file which has Vase Breaker Endless unlocked (obviously)
  • A hex editor (I like to use HxD personally but any is fine)
  • That's it
The Method
Get to a near-finished Game State
First things first, you have to get to the end of a level in Vase Breaker Endless without actually finishing it. For example, I got here:

Then you have to create a checkpoint by clicking on MENU on the top right and going MAIN MENU > LEAVE
for reference, here we will also get a notice telling us the game will be saved




Locate the Save Data

Next you will have to find the save data folder for the game.

If you have Steam Cloud Saves activated, it will be in
  • C:\Program Files (x86)\Steam\userdata\{your steam id}\3590\remote
or substitute C:\Program Files (x86)\Steam with your Steam install directory.

on Mac it's
  • ~/Library/Application Support/Steam/userdata/{your steam id}/3590/remote

and on Linux it's
  • ~/.local/share/Steam/userdata/{your steam id}/3590/remote

otherwise it will be under
  • C:\ProgramData\Steam\PlantsVsZombies\userdata
(note: the ProgramData folder is usually hidden so you will have to turn on view hidden files)

if you're on Mac or Linux and don't have Steam Cloud saves enabled for the game, look up where the folder is, I don't know

The actual file we need is game1_60.dat, since that's the checkpoint data for Vase Breaker Endless
my folder structure for reference:

note if you have more than one user registered in the game, there may also be e.g. a game2_60.dat file, one for each user who has a checkpoint in VBEndless.
To find out which user you are, you can go into the users.dat file in the same folder with your Hex Editor and look at the order of the names. The order of the names will correspond with which number represents you.
Here is my users.dat and the name I was using is in the first position so I know my number is 1:




Editing the Checkpoint

Now open the checkpoint in your Hex Editor and scroll all the way to the bottom:

The byte we are looking for is the one directly following the byte sequence 02 02 02 FF FF FF FF and it should be zero (because we have a streak of zero).
Here I have the same screenshot but underlined the byte sequence we're looking for and circled the actual byte we are going to edit:

now change that byte to 0E which is hex for 14 (since we want our streak to be 14):

now save the file!




Getting the Achievement

Now you can go back to the game and start up Vase Breaker Endless again
(if you didn't close it in the meantime, the game could crash but it doesn't break anything so you can just restart the game)

Now your game should be the same as when you created the checkpoint but your current streak in the bottom right corner will be 14:

Now you just have to let your run play out and you will get the achievement (hooray)
Send-Off
Thank you very much for reading / following this guide

I tried to go into as much detail as I thought you could need so this one is a bit long but I hope it's still helpful to some people.
If you have any suggestions on how to improve the guide I would implore you to comment about it and I'll change it if it makes sense.

If you liked the guide or it helped you in any way, consider rating it (or giving it an award if you're feeling freaky)

If you have any questions, post a comment and I will probably respond eventually
Коментарів: 6
momero jajaj 4 черв. о 18:03 
cant find the byte sequence, any fix or should i just try and beat it legally :steamsad:
TimidBoy 30 трав. о 10:14 
This works to get Better Off Dead too, game1_70.dat is the one you need to edit for that.

If you're don't see the right sequence, try changing the first 00 after any set of FFs, save it, check if it worked, and if it didn't, revert the change and try a different set of FFs until it works.
chOOkity 21 трав. о 13:09 
So I tried this guide and I too am facing the issue of not finding the byte sequence. Added you as a steam friend for more help
Keylocke 20 трав. о 6:41 
OR you could just play the game
Alizard  [автор] 24 берез. о 19:30 
Hello Wayney, I have time for approximately the next two hours if you want help now or this week after 6 PM CET, you can contact me through Steam DM
Wayney 24 берез. о 16:29 
Hey - Was following the guide but I can't find byte sequence 02 02 02 FF FF FF FF but am interested in figuring this out if you ever have some free time !