SaveAnywhere
Allows saving and loading anywhere in an expedition. Quit the game and resume from a saved game later, or freely retry a difficult section.
| Last updated | a day ago |
| Total downloads | 23 |
| Total rating | 0 |
| Categories | Client Mods Dev Tools |
| Dependency string | GTFO_yippeecow-SaveAnywhere-1.0.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_GTFO
BepInEx pack for GTFO. Preconfigured and includes Unity Base DLLs.
Preferred version: 3.2.3README
GTFO Saving / Loading Mod
This host-only mod uses the existing checkpoint system to create a saving and loading system for rundowns in progress. It lets you make a checkpoint anywhere and load it on demand in both single- and multiplayer. This makes it possible to add your own checkpoints, experiment with a particularly difficult part of the level, or even continue playing the same expedition another day.
Main features
This mod uses the checkpoint system to save and restore snapshots of a expedition. It should behave the same way as existing checkpoints, but with more control, and the ability to load saves even after the game has been closed. These checkpoints include at least:
-
Player state
- Position
- HP
- Ammo
- Pickups
-
Monster state
-
Door open/closed/destroyed state
-
Box loot and open/closed state
-
Deployed equipment*
-
Quest progress*
* Not extensively tested yet.
Apart from the regular checkpoint, some additional data is saved to help improve its usability:
- Rundown and Expedition name
- Random expedition seed -> needed to generate the same level
- Date and time the save was made
How to use
Using the mod is similar to quicksave / quickload in other games, so it should be relatively intuitive, but the nuances of how levels are generated and checkpoints are loaded makes it a little more tricky.
The controls are as follows:
F5 - Save game
Use this to save the current state of the level. (only available in an expedition)
F9 - Load game (Solo)
Use this to load a savegame if you are playing alone, or before the other players join the lobby. (only available in a level matching the savegame)
F10 - Load game (Multiplayer)
Use this to load a savegame in multiplayer. This triggers a game-over screen that allows the host to click "restart from checkpoint". That can make using it a bit jarring, but it should always work, even if other players have already joined the lobby. (also only available in a level matching the savegame)
F8 - Force random seed
Use this when you want to load a savegame after closing the game completely. This needs to be pressed on the main menu before hosting a lobby. It will force the level to use the same random seed as the savegame, making all quest objectives and boxes appear where they should. Loading savegames is disabled if the random seeds do not match. (once pressed, it will try to force the seed of the next lobby you host)
Optional (Hold the ~ key) - Select save slot
Optionally, for those that require multiple save slots, you can switch between 5 available slots by using the arrow keys while holding the ~ key. Here you can also see what your random seed is and which levels you have save files for. When starting the game, save slot 1 is selected.
This feature can make the game too easy, as having access to this many saves to roll back to trivializes many expeditions. I recommend only using a single save slot per level.
Some examples of using the mod would thus be:
Start an expedition -> F5 to save game -> keep playing -> F9 or F10 to load game.
Start an expedition -> F5 to save game -> quit the game -> start the game -> F8 to force seed -> Host and start the correct expedition -> F9 or F10 to load game.
Installation & Dependencies
This is a host-only mod. Players that are not hosting do not need to install the mod.
This mod requires the latest version of BepInEx for GTFO. (BepInEx-BepInExPack_GTFO-3.2.3)
After installing BepInEx for GTFO. Download the SaveAnywhere.dll from the download page and drop it in [your GTFO installation folder]/BepInEx/Plugins
Save files will appear in a SaveAnywhere folder in the same location.
Known issues
There are some limitations to the mod and the checkpoint system it makes use of, so these are some things best avoided or known to not be supported:
Map visibility
Saving and loading games preserves map visibility as long as the expedition is not closed. If you are restarting your game, the maps will be fully hidden again until you travel to each area. This behavior also occurs when a player reconnects after disconnecting while playing, so it is not caused by the mod, but an interesting limitation to be aware of anyway.
Host migration
Triggering host migration by disconnecting as the host can cause the latest save to automatically be loaded, and may lead to unstable behavior. Since the normal GTFO host migration is already a bit unstable, it's hard to say what parts are caused by the mod.
Boosters
Boosters can be used as normal, and do not reset between saving and loading within an expedition, but when relaunching the game, the boosters will have to be prepared and paid for again. Since boosters are handled on the client's side, they will not be supported further. Other mods can be used to allow reusing of boosters without consuming them.
Saving and loading too often immediately after each other
For some reason this can cause a lot of scan areas to appear all at once.
Saving while downed
Try to avoid this, when loading the save file the downed player will be able to move around, but to them it will still look like they are lying on the ground. This can be fixed by saving and loading again, but this resets their health.
Invisible consumables
After loading with F9, it can happen that some items in your inventory are not visible. Switching to another weapon slot makes them reappear, this is just a visual issue.
Inconsistencies with boxes
While most boxes seem to work fine if the correct random seed is used to build the level. Some amount of glitches can occur. After dying and reloading a checkpoint, I was able to pick up items from closed boxes that had been opened before. This may be fixed by reloading the save, or you can simply choose to not abuse any unfair advantage gained because of them.
Disclaimers
This mod was made to allow me to continue play sessions with my friends on a different day. I am sharing it because it may be of use to others, but will not be providing consistent updates.
Additionally, the code of this mod was created with asssistance of AI chat agents, as digging through the GTFO code is greatly sped up by doing so. The final mod does not make use of any AI during runtime, and I personally did the testing and made modifications to the code where necessary.