How to hack the save files to get unlimited coin.
Preface
In the current version of the game ( 0.5.718 ), plain text files are used for different things. One of these is named “containers.txt”. It is found in your StoneShard folder with your save games. This file is a standard JSON formated file. If you open it in a text editor that is used for programing (Atom.io or Visual Studio Code) you will be able to see the items you have found in the game and where they are stored. To understand where they are located is something else all together, but the simplest thing is to put unique items in a chest/barrel/nightstand/wardrobe in a building and then check the file to see where that item is listed. Once you have the location established, you can then append the list of items with as many moneybags as you want.
Code to Add to the Containers.txt
For example, here is the chest by the bed in the Inn full of coin bags:
, “osbrook_c35”: [ “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 33.000000, 33.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 60.000000, 33.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 87.000000, 33.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 114.000000, 33.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 141.000000, 33.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 168.000000, 33.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 195.000000, 33.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 33.000000, 114.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 60.000000, 114.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 87.000000, 114.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 114.000000, 114.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 141.000000, 114.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 168.000000, 114.000000, 0.000000, 1.000000, 0.000000, 0.000000, “o_inv_moneybag”, { “restoration”: [ ], “second_damage”: [ ], “resistance”: [ ], “max_charge”: 1.000000, “combat”: [ ], “stealth”: [ ], “Duration”: 0.000000, “is_cursed”: 0.000000, “MaxDuration”: 0.000000, “i_index”: 0.000000, “Stack”: 2000.000000, “chance_and_resist”: [ ], “info”: [ ], “id”: “moneybag”, “identified”: 1.000000, “Name”: “Purse”, “charge”: 1.000000, “magic”: [ ], “lootList”: [ ] }, 195.000000, 114.000000, 0.000000, 1.000000, 0.000000, 0.000000 ]
You just need to find the part of the line that starts with ‘, “osbrook_c35”: [ ]’ and replace it with the text above.
Closing
Money bags can ONLY hold 2000 coin, you are stuck with having several bags to carry around. I find it helpful to leave bags of coin in the houses of the merchants so I can treat them like ATMs when I need to repair an item or want to buy a new one.
If you edit this file and the game loads with an error, you have a problem with the file, so be sure to save a copy before you edit it or you risk having to fix it which can take time if you don’t know what to look for.
Be the first to comment