Skip to content

自定义模组游戏存档

当你想要在关卡或游戏会话之间保存状态时,你可以在你的蓝图模组中创建自己的游戏存档。

[!TIP] 存档文件存储在游戏目录的Saved/SaveGames文件夹中,该文件夹通常位于AppData目录下。这个目录可以被游戏更改,因此存档将被放置在与游戏存档相同的位置。

创建存档游戏对象

首先,创建一个继承自SaveGame类的新蓝图角色。

接下来,向蓝图添加你想要保存的变量。将变量设置为公共,以便在你的模组蓝图中访问它们。

回到我们的模组中,创建一个指向你刚刚创建的蓝图的对象引用变量。在本例中,我的蓝图名为SaveData

将数据保存到存档游戏对象

首先,你需要创建存档游戏对象引用并将其设置为对象引用变量。

[!TIP] 为了避免多次创建引用,你可以在BeginPlay事件上创建引用。

然后,你可以将存档游戏对象中的变量设置为你想要保存的变量。

最后,调用SaveGameToSlot函数将数据保存到插槽中。插槽名称可以是任何你喜欢的名称,但为了保持游戏的存档文件夹有序,我建议使用类似Mods/[你的模组名称]/[你的存档名称]的名称。

[!TIP] 创建一个名为SaveName的字符串变量并将其设置为插槽名称。这样,你可以在一个位置轻松更改插槽名称。

从存档游戏对象加载数据

首先,你需要检查存档游戏是否存在。如果存在,你可以从插槽加载游戏。然后我们需要将返回的值转换为我们的存档游戏对象。

你可以将存档游戏对象中的变量设置为你想要加载的变量。

组合起来

这里是一个保存和加载数据的简化示例。建议使用函数来保持代码的整洁和有条理。你可以在你的存档游戏蓝图中添加函数来处理这些,或者只在你的模组蓝图中完成。

这里是游戏文件夹中的结果存档文件。