[Save-Edit] Tutorial: How to change/restart your mission


Recommended Posts

Hi, to some people that might have a bugged stage, or lost an agent due to a silly move or whatever, this is a cheat way of saving your save without restart the whole thing all over again, so let's get started.
 
1. Locating your save
 
The save file is located under your documents\Klei\InvisibleInc\saves (EG: C:\Users\<username>\Documents\Klei\InvisibleInc\saves)
 
Inside the folder, there's a filename named "savegame.lua", BACK IT UP FIRST, and then open it up with your favorite text editor, but for this tutorial, notepad will do.
 
2. Understanding your save
 
After you have opened up your save, you will notice a lot of "table" repeated across the screen, each table is used to store a specific data that is loaded to your game.
 
The second thing you will come to notice, is you will see a lot of "objects [ 0x00000000 ]", what this does is basically telling the game to point to a specific spot in the save and read it's data
 
So a quick example of what I'm talking about, in line 10, you'll find something like ...

table [ "saveSlots" ] = objects [ 0x00000002 ]

What this means is that the game will look for somewhere down in the file with the code "table = objects [ 0x00000002 ]", and read it's content and tells the game that this content is what makes up the save slots.
 
And lucky, if you keep looking down, just a few lines down, and you'll find something like ...

table = objects [ 0x00000002 ]
table [ 1 ] = objects [ 0x00000003 ]

And this is telling me that the game have ONE save file, and telling the game to look for it's save data at "objects [0x00000003]", and so on.
 
And all these "objects [0x00000000]" is the concept of pointers that we programmers calls. In layman's term, basically what this thing does is like you visiting an information booth and ask for information, and the receptionist will point you to the right location to find the information you need.
 
Of course, there are certain times that some settings that does not require such pointers, for example ...

table [ "cash" ] = 500
table [ "cpus" ] = 20
table [ "seed" ] = 3217391505

these are values that doesn't need a pointer, and just by setting a value to them will suffice. (Yes, I'm teaching you how to cheat and edit your cash :razz:)
 
3. Battle history, the juicy part
 
This is where the meat of this thread is about, how to reset your save, below is a history of one of my battle saves ...

table [ "sim_history" ] = [==[local _ = {}
_[1]={}
_[2]={}
_[3]={}
_[4]={}
_[5]={}

... Skipped due to there's over 300 lines of data ...

_[89]["\110\097\109\101"]="\097\098\105\108\105\116\121\065\099\116\105\111\110"
_[89]["\112\108\097\121\101\114\073\110\100\101\120"]=1
_[1][13]=_[89]

return _[1]]==]

 
You must be like, "Eh, whaaaaat?", but the fact is that this is really not that hard to understand, however, I'm going to skip a lot of details just to save your brain from exploding.
 
The first thing you are probably going to pay attention to is the last line

return _[1]]==]

Basically what this tells us is that whatever _[1] is, it is what the final result we are looking for, so by back tracking a bit, you find things like ...

_[1][1]=_[2]
_[1][2]=_[53]
_[1][3]=_[63]
...
_[1][12]=_[88]
_[1][13]=_[89]

as if it's storing something in sequence, and if you are bright enough, that's the steps that has happened during that time, so, if you really want to retrace your step, all you have to do is delete lines below after the above mentioned steps.
 
So for example, if I were to restart my steps all the way back to the beginning of the stage, I'd delete all the lines AFTER _[1][1] =[2] and keep the last line return _[1]]==] intact. Now save your edited save, and launch your game, load it, and you should see you are all the way back at the beginning of the stage now :-)
 
4. Finally, Resetting for a buggy level
 
Basically, up to this point, I have already given you hints on how to reset your battle log to the beginning of the stage, now how about if a stage is totally bugged (such as exit blocked)?
 
What you want to do, instead of modifying your battle log, go and search for the seed of the stage (points up in section 2), and change that number to another random value (10 digits preferably), and that should cause the game to load up in error, and will ask you to try another mission or restart from start, and then you can abuse that option to get yourself another stage, if desired.
 
------------------
 
And that's the end of this guide, and I hope you enjoyed it, and find it helpful :-)

Link to comment
Share on other sites

Hm, I really have to learn more about .bat files and such because I was thinking, maybe you can just throw together a simple .bat or even an executable if that's necessary, that randomizes the seed (or changes it to 0000000000, simply xD). Can't be that hard, can it? Look for the line that has "table [ "seed" ] =", replace with "table [ "seed" ] = 0000000000" 

The reason why I'm asking is simply lazyness, or noobs.

Any noob will be thankful for a little thingy he can just click to make all his problems go away.

And I would be thankful for a little thingy that makes me not have to click through or favourize folders whenever a level bugs :p

 

Gosh I need to train my nerdyness skill and get better at codes...

Link to comment
Share on other sites

 

Hm, I really have to learn more about .bat files and such because I was thinking, maybe you can just throw together a simple .bat or even an executable if that's necessary, that randomizes the seed (or changes it to 0000000000, simply xD). Can't be that hard, can it? Look for the line that has "table [ "seed" ] =", replace with "table [ "seed" ] = 0000000000" 
The reason why I'm asking is simply lazyness, or noobs.
Any noob will be thankful for a little thingy he can just click to make all his problems go away.
And I would be thankful for a little thingy that makes me not have to click through or favourize folders whenever a level bugs :razz:
 
Gosh I need to train my nerdyness skill and get better at codes...

 

 

 unfortunately, you can't do it with just pure .bat, but .vbs are possible, but some might treat it as a virus and kill it D:

Link to comment
Share on other sites

I got alittle mad well my agent getting knocked out by the robots so went to buy afue medi gel stuff and rememberd id spent all ma cash so i saved ma game exited and went to edit me cash opened the save file with Notepad ++ and found the cash pointer and edited it so i had enough to buy medigel for ma agents i saved it and loaded the game back up loaded my save and tryed to buy the medigel but my money didnt change ive tryed save editers and all but nothing seems to work what am i doing wrong

Link to comment
Share on other sites

If you're using Steam, and cloud saves are enabled, the file you need to edit is in your steam folder.

 

<Steam Installation Directory>\userdata\<User ID>\243970\remote\savegame.lua

 

There is still a copy in documents\Klei, but it will be silently overwritten when you start the game.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.