変数、スイッチの最大数?

作成日:
更新日:

スイッチをかなり多く使用しているのですが

スイッチが249から先がF9デバッグメニューに表示されなくなり

さらに249以上の幾つかのスイッチを含んだイベントが置いてあるマップへ移動出来なくなってしまいました。

デバッグメニューを開いて250からの部分を表示させるようとすると以下のエラーを吐き出します。

ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index System.Collections.Generic.List`1[T].get_Item (System.Int32 index) (at <a40b0ad4a868437393ad434631fb6ff1>:0) RPGMaker.Codebase.Runtime.Map.Menu.DebugToolValueItem.UpdateNames () (at Assets/RPGMaker/Codebase/Runtime/Map/Menu/DebugToolValueItem.cs:95) RPGMaker.Codebase.Runtime.Map.Menu.DebugToolValueItem.Init (System.Int32 index, System.String label, System.Object data, System.String menus, RPGMaker.Codebase.Runtime.Map.Menu.ItemMenu itemMenu, System.Action`1[T] callbackAction, System.Action`1[T] selectedCallbackAction, System.String evId) (at Assets/RPGMaker/Codebase/Runtime/Map/Menu/DebugToolValueItem.cs:84) RPGMaker.Codebase.Runtime.Map.Menu.DebugToolGroupMenu.RefreshValueList (RPGMaker.Codebase.Runtime.Map.Menu.DebugToolGroupItem groupItem) (at Assets/RPGMaker/Codebase/Runtime/Map/Menu/DebugToolGroupMenu.cs:562) RPGMaker.Codebase.Runtime.Map.Menu.DebugToolGroupItem+<>c__DisplayClass4_0.<Init>b__0 (RPGMaker.Codebase.Runtime.Map.Menu.DebugToolButton button) (at Assets/RPGMaker/Codebase/Runtime/Map/Menu/DebugToolGroupItem.cs:25) RPGMaker.Codebase.Runtime.Map.Menu.DebugToolButton.OnSelect (UnityEngine.EventSystems.BaseEventData eventData) (at Assets/RPGMaker/Codebase/Runtime/Map/Menu/DebugToolButton.cs:18) UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.ISelectHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:113) UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:272) UnityEngine.EventSystems.EventSystem:Update() (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:514)

変数に関しても114以上でF9のデバッグメニューに表示がされなくなり

それを含んだイベントが途中で終了してしまうようです。

 

仕様で変数、スイッチに上限数はあるのでしょうか。

249や114という数は中途半端なので何かしらの不具合ではないかと考えていますが

その場合どこかのファイルが破損しているのでしょうか?

もし修復出来る方法があればご教授お願い致します。

コメント

作成日:

私も同じような経験をしました。

調べたところ、 スイッチは、ゲームを開始した時にuniteで、登録しておいた状態の数だけ、使えるようです。

ゲームを開始した時のセーブデータから、uniteで、スイッチの数を増やすと、そのスイッチは、有効にならないみたいです。

セーブデータにスイッチの情報がないという状態のような感じがします。

もし、私の経験した時と同じ状態であれば、 最初から、ゲームを開始してみると、うまく動くと思います。

私は、予め最初に1000個のスイッチを用意しておいて、開発を進めています。

この仮説が正しいと、ゲームが完成した後にストーリーを追加しようとしても、元のセーブデータの続きから、プレイできないことになってしまうかもとの懸念は、残ってしまいますが・・・。


作成日:

アイネロ様

仰るとおりでニューゲームで再度やり直したところF9のデバッグメニューでスイッチ、変数が表示されるようになりました。実際に動作に問題が無いかどうかは今確認中ですが・・・

アドバイスありがとうございます。

最初は250個もスイッチが必要になるとは思っていなかったので今回のような現象となってしまったようです。

対策としては最初からスイッチ、変数を新規作成で作りまくるしかなさそうですね。

1000個は大変そうです・・・


作成日:

やっぱりそうか・・・。 一個づつポチポチ作りましたよ。 そしたら、今度はたくさん出過ぎて、選びにくくなってしまいました^^; それより追加ストーリーが対応できない方が困る。 スマホ想定だから、そこで課金実装という流れが作り出せないと、Unityで作ってるメリットが活かせない^^;


作成日:

アイネロ様

その後不具合のあったスイッチを含むイベントの動作確認を行ったところ何事も無く動作出来ました。

その一方で同じような追加の不具合が確認出来ました。

スキルの中のコモンイベントに変数を使用していたのですが

戦闘テストでは正常に動作していたものが

Unite上のテストプレイでは動作しませんでした。

これも同じような理由なのかもしれません。


作成日:

owehrasd様

おしえて頂きありがとうございます。

変数は、あまり使っていなくて、ノーチェックでした。 これも、予め増やしておいた方がよさそうですね。

戦闘テストと、Unite上の動きが違うなら、 ちゃんとUniteでテストしないといけないのかな?

もしかしたら。 戦闘テストは、最初からゲームを始めるという動きなのかもしれません。

途中のセーブデータからだと、最新の環境に追いついていないからなのかもしれません。

ゲームのリリース後のバグ修正や、 追加ストーリーで、スイッチや、変数を追加してたら、 危ないですね。

予め、多めに用意しておくのが安全そうですね。


作成日:

ご不便をおかけしてしまい誠に申し訳ございません。

本件につきましては、将来のバージョンにて修正予定となっております。

何卒よろしくお願い申し上げます。