| 初めまして、ガムニと申します。
まず提示された内容はSRC上で動作させているものと同一のものである、 という解釈でよろしいでしょうか。 だとすると原因はIf文の条件式かと思われます。
>If Level(ユニット) Mod 3 = 0 Then 上記のIf文の式で使われているLevel関数ですが、 ()の中に入れる値は「パイロット名称」である必要があります。 つまりこの場合は「ユニット」という名称を持ったパイロットのレベルを参照しているので、 「ユニット」というパイロットが存在しない場合は0が帰ってくるため 0割る3のあまりは0ということでIf文を真で通過するためAsk選択へと移行します。
なので問題を解決するにはスライムというユニットに乗っているパイロットの名称を Level関数内に入れてあげる必要があります。 (仮にパイロット名が「スラぼう」だとするならばLevel(スラぼう)とする必要があります)
あと、疑問に思う点が一つあるのですが、 進化の条件として「レベルが3になった時」が挙げられているのですが、 条件式を見る限りでは「レベルが3で割り切れるとき(レベルが3の倍数である時)」になっていますがこれは意図したものなのでしょうか。
進化のレベルが3であると固定されているならIf文の条件式を If Level(ここにスライムに乗っているパイロット名) = 3 Then とする必要がありますし、3以上の時とするなら If Level(ここにスライムに乗っているパイロット名) >= 3 Then とする必要があるかと思います。
あと、少し下のほうに同様の質問が見受けられましたが、 同じ内容の質問については新規にツリーを建てるのではなく、 ツリーに対し返信という形でお願いします。
|