Rolly Docs

Block saving during a fight

Stop the player from saving while saving would let them cheat or break the game, such as during a boss fight or a cutscene, and let the game know when saving is allowed again.

Sheet
03 of 64
Rev
1.0.0
Updated
On this sheet

Add and remove a block

  1. In the boss’s Begin Play, or when the fight starts, call Add Save Block with Reason BossFight. Object is Self when left unconnected.
  2. When the fight ends, call Remove Save Block with the same Reason. Reason None removes every block of that object.

While any block is on, Save Game to Rolly Slot, Rolly Quick Save, the quick save key, part saves, memory saves and rewind points fail with Blocked and save nothing. Loads, copies and deletes go ahead.

  • An actor’s blocks go at its End Play, so a boss destroyed or a level unloaded never leaves saving blocked. Another object’s blocks go when garbage collection removes it.
  • Adding a block that is on already changes nothing. Several objects, or one object with several reasons, block until each is removed.
  • Add Save Block without an object or a reason, or with an object being destroyed, returns false with a setup message. On a client it returns false and blocks nothing: the server saves.

Show that saving is blocked

Is Save Blocked is true while a block is on, such as to grey out a Save button; Reasons lists each block as <object>: <reason> for your logs. On a node’s Failure with Status Blocked, Get Save Status Text gives “You cannot save right now.”

From C++

Save->AddSaveBlock(this, TEXT("BossFight"));
Save->RemoveSaveBlock(this, TEXT("BossFight"));
TArray<FString> Reasons;
const bool bBlocked = Save->IsSaveBlocked(Reasons);
C++