# \[AGMakerに潜入\] スクリプトgist - カスタム保存と読み込み動作

**URL:** <https://guild.rpgmakerofficial.com/t/topic/825>\
**Category:** 一般\
**Tags:** tutorial, english\
**Created:** [2025 年 9 月 1 日午前 6:51 UTC](https://guild.rpgmakerofficial.com/t/topic/825 "2025-09-01T06:51:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Justus](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/justus/32/55_2.png) [@Justus](https://guild.rpgmakerofficial.com/u/Justus)\
**Post date:** [2025 年 9 月 1 日午前 6:51 UTC](https://guild.rpgmakerofficial.com/t/topic/825/1 "2025-09-01T06:51:09Z")

</div>

## スクリプト効果

GDScript で AGMakerManager の 2 つの特定のシグナルを監視する方法を示します。

## 重要なポイント

1. AGMakerManager には 2 つの特定のシグナル `on_saved` と `on_loaded` があります。
2. VS で保存および読み込みアクションを呼び出すと、これら 2 つのシグナルがトリガーされ、保存または読み込みをトリガーしたファイルスロットを示す整数パラメータ `slot_index` が提供されます。
3. これら 2 つのシグナルを使用することで、ゲームオブジェクトのライフサイクルに依存しないカスタム保存および読み込み動作を作成できます。
4. 次のスクリプトをシーンツリー内の任意の Node にアタッチしてください。任意のゲームオブジェクトの VS スクリプトで「ゲームを保存」および「ゲームを読み込む」アクションを実行すると、コンソールに関連するテキスト出力が表示されます。
5. この方法は、さまざまな保存データをカスタマイズする必要があるシナリオに特に適しています。例えば、データベースから特定のデータを選択的に抽出する場合や、AGM の保存および読み込み完了後に保存および復元する必要がある AGM システム外のネイティブ Godot データがある場合などです。
6. シリアライズおよびデシリアライズ（ハードドライブへのデータ保存および読み取り）の具体的な方法については、例コードに含まれる Godot ドキュメントリンクを直接参照してください。

## コア

```python
extends Node

func _ready() -> void:
    AGMakerManager.on_saved.connect(_on_agm_saved)
    AGMakerManager.on_loaded.connect(_on_agm_loaded)

func _on_agm_saved(slot_index:int):
    print("on_agm_saved: slot = ", slot_index)
    # ここで行いたいことを何でも実行してください。
    # 例:
    # https://docs.godotengine.org/en/stable/tutorials/io/saving_games.html#saving-and-reading-data
    pass

func _on_agm_loaded(slot_index:int):
    print("on_agm_loaded: slot = ", slot_index)
    # ここで行いたいことを何でも実行してください。
    pass

```
