what you need:
- any hex editor (i use
HxD)
-
babyzbyte.py /
petzbyte.py written by reflet. should be in your adopted babyz/petz folder
-
python to run these scripts, in case you haven't installed it yet
babyz birthdays never show up in game, only in lnz pro like this. but it's still nice to make it accurate, especially if they were hexed on copy and pasted bases that are from months or years in the past.
make note of the baby's owner name in lnz pro (unless you already know it):
in your hex editor, do a search for the owner name. it will be the
only appearance of it in the file - unless the baby has texture folders in its lnz section with the owner's name, then it will be the last (in HxD you can skip ahead in search results by pressing F3)
we are looking for an area that looks like this. the owner name, followed by four 00s, and then a set of 4 bytes (highlighted), this is the birthday:
to calculate a new birthday, you can use this
epoch converter. you can input the date and time desired (or use the currently listed time, it's up to you) make sure it is set to GMT as it is by default, and convert it to a timestamp.
copy this 10-digit date timestamp over into this
decimal to hex converter, press convert and copy the
little endian version of it a little further down on the page:
head back into your hex editor, and paste this over the four bytes you highlighted, and save.
now run babyzbyte.py on your .baby file to recalculate its checksum and make the game read it properly again.
you do this either by dragging and dropping the .baby file onto the script, or you run it via terminal:
open the adopted babyz folder (which should contain both your baby and babyzbyte) in a terminal window, then put
python babyzbyte.py "yourbabyname.baby"
and you are done! if you reopen your baby in lnz pro, you should see your edits take effect:
(note: usually you will still have the hour, minute and second timestamp just like before. the example date timestamp i copied for this tutorial just does not have them. don't pay mind to that!)
(please note i have only tested this method for petz 4 so far.)
to calculate a new birthday, you can use this
epoch converter. you can input the date and time desired (or use the currently listed time, it's up to you) make sure it is set to GMT as it is by default, and convert it to a timestamp.
copy this 10-digit date timestamp over into this
decimal to hex converter, press convert and copy the
little endian version of it a little further down on the page:
make note of your pet's owner name, and do a search for it in your hex editor. this should be the
first mention of it in your file (ignoring things like if it is mentioned in the lnz section). this is the pet's birthday in its
family tree data, and the one that will show up on the in-game profile.
look for an area like this. the owner name, followed by four 00s and then a set of 4 bytes (highlighted):
OR if your pet is a 1st generation ac pet, it may be 4 jumbled bytes right after the owner name with no 00s:
paste your new birthdate from above over these four bytes.
if you would like the edited birthday to also display correctly in lnz pro, you need to find this second area. in a first generation pet, it will simply be the second mention of the owner name (very similar to the first, it will be right next to it), but on a bred pet you may have the owner name lots of times in the pet's relatives.
so, the easiest way to find it is by locating the profile text (if your pet doesn't have any, add some in game) it will be the next four bytes right up against it, no spaces:
paste the new birthdate over this as well, and save.
now run petzbyte.py on your .pet file to recalculate its checksum and make the game read it properly again.
you do this either by dragging and dropping the .pet file onto the script, or you run it via terminal:
open the adopted petz folder (which should contain both your pet and petzbyte) in a terminal window, then put
python petzbyte.py "yourpetname.pet"
and you are done! now it should display your new birthday both in this area in lnzpro, the family tree, and in the game itself.
(note: usually you will still have the hour, minute and second timestamp in lnz pro just like before. the example date timestamp i copied for this tutorial just does not have them. don't pay mind to that!)