| GAMEMASTERです。
> #基盤 > CreativeInfinity: > Switch Right(Pilot(Args(3)),4) > Case "(ザコ)" "(汎用)" > Create Args(1) Args(2) Call(平均ランク) Args(3) Call(平均レベル) Args(4) Args(5) Args(8) > Case Else > Create Args(1) Args(2) Call(平均ランク) Args(3) Call(平均レベル) Args(4) Args(5) > 艦隊の特徴[対象ユニット] = Args(8) > EndSw > 無限生産ユニット[対象ユニット] = Args(2) > 護衛増援ユニット[対象ユニット] = Args(6) > 護衛増援数[対象ユニット] = Args(7) > Return > > #敵/中立ターンに指定した間隔で敵を生成する。 > *ターン 全 敵: > *ターン 全 中立: > If Not 戦艦突入後 Then > StartBGM Enemy Appears.mid > EndIf > ForEach 搭載戦艦 In 無限生産ユニット > If Not (戦艦突入後 Or 生産増援ストッピング[搭載戦艦]) Then > If Party(搭載戦艦) = フェイズ Then > If 艦隊の特徴[搭載戦艦] <> "" Then > Switch 艦隊の特徴[搭載戦艦] > Case 超繁殖デビルガンダム > Set 生産増援ストッピング不能[搭載戦艦] > If 護衛増援数[搭載戦艦] < 0 Then > If (ターン数 / Abs(護衛増援数[搭載戦艦])) = (ターン数 \ Abs(護衛増援数[搭載戦艦])) Then > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(護衛増援ユニット[搭載戦艦],愛称))が発生しました。 > End > EndIf > Else > For ユニット生産数 = 1 To 護衛増援数[搭載戦艦] > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > If ユニット生産数 = 護衛増援数[搭載戦艦] Then > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(護衛増援ユニット[搭載戦艦],愛称))が発生しました。 > End > Else > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(護衛増援ユニット[搭載戦艦],愛称))が発生しました。 > Suspend > EndIf > Next > EndIf > Case 戦闘機部隊 > Set 生産増援ストッピング不能[搭載戦艦] > If 護衛増援数[搭載戦艦] < 0 Then > If (ターン数 / Abs(護衛増援数[搭載戦艦])) = (ターン数 \ Abs(護衛増援数[搭載戦艦])) Then > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))から$(Info(護衛増援ユニット[搭載戦艦],愛称))が発進しました。 > End > EndIf > Else > For ユニット生産数 = 1 To 護衛増援数[搭載戦艦] > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > If ユニット生産数 = 護衛増援数[搭載戦艦] Then > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))から$(Info(護衛増援ユニット[搭載戦艦],愛称))が発進しました。 > End > Else > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))から$(Info(護衛増援ユニット[搭載戦艦],愛称))が発進しました。 > Suspend > EndIf > Next > EndIf > Case Else > Set 生産増援ストッピング不能[搭載戦艦] > If 護衛増援数[搭載戦艦] < 0 Then > If (ターン数 / Abs(護衛増援数[搭載戦艦])) = (ターン数 \ Abs(護衛増援数[搭載戦艦])) Then > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))が$(Info(護衛増援ユニット[搭載戦艦],愛称))を出撃させました。 > End > EndIf > Else > For ユニット生産数 = 1 To 護衛増援数[搭載戦艦] > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > If ユニット生産数 = 護衛増援数[搭載戦艦] Then > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))が$(Info(護衛増援ユニット[搭載戦艦],愛称))を出撃させました。 > End > Else > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))が$(Info(護衛増援ユニット[搭載戦艦],愛称))を出撃させました。 > Suspend > EndIf > Next > EndIf > EndSw > Else > If Not InStr(搭載戦艦,エネミーポット搭載) = 0 Then > If 護衛増援数[搭載戦艦] < 0 Then > If (ターン数 / Abs(護衛増援数[搭載戦艦])) = (ターン数 \ Abs(護衛増援数[搭載戦艦])) Then > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))に搭載されたエネミーポットが$(Info(護衛増援ユニット[搭載戦艦],愛称))を生産しました。 > End > EndIf > Else > For ユニット生産数 = 1 To 護衛増援数[搭載戦艦] > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > If ユニット生産数 = 護衛増援数[搭載戦艦] Then > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))に搭載されたエネミーポットが$(Info(護衛増援ユニット[搭載戦艦],愛称))を生産しました。 > End > Else > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))に搭載されたエネミーポットが$(Info(護衛増援ユニット[搭載戦艦],愛称))を生産しました。 > Suspend > EndIf > Next > EndIf > ElseIf Not InStr(搭載戦艦,エネミーポット本体) = 0 Then > Set 生産増援ストッピング不能[搭載戦艦] > If 護衛増援数[搭載戦艦] < 0 Then > If (ターン数 / Abs(護衛増援数[搭載戦艦])) = (ターン数 \ Abs(護衛増援数[搭載戦艦])) Then > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))から$(Info(護衛増援ユニット[搭載戦艦],愛称))が出てきました。 > End > EndIf > Else > For ユニット生産数 = 1 To 護衛増援数[搭載戦艦] > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > If ユニット生産数 = 護衛増援数[搭載戦艦] Then > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))から$(Info(護衛増援ユニット[搭載戦艦],愛称))が出てきました。 > End > Else > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))から$(Info(護衛増援ユニット[搭載戦艦],愛称))が出てきました。 > Suspend > EndIf > Next > EndIf > ElseIf Not InStr(搭載戦艦,戦闘機) = 0 Then > Set 生産増援ストッピング不能[搭載戦艦] > If 護衛増援数[搭載戦艦] < 0 Then > If (ターン数 / Abs(護衛増援数[搭載戦艦])) = (ターン数 \ Abs(護衛増援数[搭載戦艦])) Then > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))から$(Info(護衛増援ユニット[搭載戦艦],愛称))が発進しました。 > End > EndIf > Else > For ユニット生産数 = 1 To 護衛増援数[搭載戦艦] > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > If ユニット生産数 = 護衛増援数[搭載戦艦] Then > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))から$(Info(護衛増援ユニット[搭載戦艦],愛称))が発進しました。 > End > Else > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))から$(Info(護衛増援ユニット[搭載戦艦],愛称))が発進しました。 > Suspend > EndIf > Next > EndIf > Else > Set 生産増援ストッピング不能[搭載戦艦] > If 護衛増援数[搭載戦艦] < 0 Then > If (ターン数 / Abs(護衛増援数[搭載戦艦])) = (ターン数 \ Abs(護衛増援数[搭載戦艦])) Then > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))が$(Info(護衛増援ユニット[搭載戦艦],愛称))を出撃させました。 > End > EndIf > Else > For ユニット生産数 = 1 To 護衛増援数[搭載戦艦] > Create フェイズ 護衛増援ユニット[搭載戦艦] Rank(搭載戦艦) Call(防衛兵力,無限生産ユニット[搭載戦艦]) Level(搭載戦艦) X(搭載戦艦) Y(搭載戦艦) 死んでも守ります[搭載戦艦] > ChangeMode 死んでも守ります[搭載戦艦] 搭載戦艦 > If ユニット生産数 = 護衛増援数[搭載戦艦] Then > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))が$(Info(護衛増援ユニット[搭載戦艦],愛称))を出撃させました。 > End > Else > Talk ナレーター x(無限生産ユニット[搭載戦艦]) y(無限生産ユニット[搭載戦艦]) > $(Info(無限生産ユニット[搭載戦艦],愛称))が$(Info(護衛増援ユニット[搭載戦艦],愛称))を出撃させました。 > Suspend > EndIf > Next > EndIf > EndIf > EndIf > EndIf > EndIf > Next > Exit > > インクルードの部分を上記のように変更したところ、 > 今度はザコパイロットの搭乗する戦艦にかかわる処理において > 全てElse文に飛んでしまいます。 > > GAMEMASTERさんが指摘された箇所は全て直しました。 > その直した箇所とはまったく関係がないと思われる場所に記述を追加したのですが、 > この通りです。バグでしょうか。
こちらは前回の第1項目で、
> Switch Right(Args(3),4)
と修正するように返答しました。 ところが、該当箇所を見ると以下のようになっています。
> Switch Right(Pilot(Args(3)),4)
これでは「(作成するパイロットの名称)という名前のユニットに搭乗するパイロット」を代入することになり、当然のことながらそのようなパイロットは存在しない(空文字列を代入することになる)ため、ザコパイロットに対する正しい分岐へ進まなくなります。 こちらが前回示した通りの記述に修正したところ、正常に動作しました。
参考になれば幸いです。
もう時間がないようでございますね。では、これにて退散させてもらいましょう。
|