>>48
レスありがとうございます
最初からゲーム変数に変えたら、読み込みできたようです
色々動かして確認中なので、成功かは分かりませんけど、今回はこれでいこうと思います
ちゃんと読み込んでくれたので嬉しくなって、ゲーム変数に変えたもので失敗分のフォルダを上書きしてしまいました
もし次に何か作る時にも配列は使うと思うので、今のが済んだら確認用のフォルダを作って試してみます

↓答えになってないかもしれませんが、こんな感じでした
【だめだった時の状況】
ラベルのあるファイルを通過毎にセーブ→終了→起動→ロード
>>44の場合
  セーブ後に、ゲーム変数の方をテキストに出力して確認、配列に代入した内容が出力されていた
  ロード後は、セーブしたファイルから開始されたが、配列、辞書配列ともに中身はvoid

>>44の下文章、assignでなく、=で代入しただけの場合
  セーブ後に、ゲーム変数の方をテキストに出力して確認、配列に代入した内容が出力されていた
  ロード後は、セーブしたラベルから開始されたが、辞書配列の中身がvoid、配列はセーブ時点での内容を読み込み成功
  辞書配列は、二次元配列でないものも読み込まれず

【クラスインスタンスについて】
それ自体が分かりません、ググッたんですけど、せっかくの助言を理解できずすみません
保存したいのは、フラグや行動履歴を代入した変数です、下のような形でイベントや行動毎に代入してます
event =%["eventA"=>"敗北","eventB"=>"勝利"];

【assignについて】
assignした後、コピー元に代入した場合、自動的にコピー先にも数値が反映されるということですか?
そういえば、assignで色々試している時に、セーブしてないのにf.eventの数値が変わったことがありました
=で代入したときも似たようなことが起こったような気がします

でもまずは、今のを完成させて、それからassignStructを試してみます