| どうもすみません。SRCシナリオを製作中の数納といいます。 SRCver2.0.15を使っています。
以下のようなインクルを作ったのですが・・・
@ユニットが攻撃終了後、Transformコマンドを用いて変形させる。(味方、敵両方とも毎回) ↓
攻撃前修正:
If (攻撃回数[対象パイロット] > 1) Then SpecialPower 対象パイロット 覚醒 Incr 攻撃回数[対象パイロット] -1 EndIf Set ユニット名長 (LenB(Unit(対象ユニットID)) - 4) Set ユニット名 LeftB(Unit(対象ユニットID),ユニット名長) Set ユニット状態 RightB(Unit(対象ユニットID),4) If ユニット状態 = "(未)" Then Set ユニット決定 "$(ユニット名)(済)" Transform 対象ユニットID ユニット決定 EndIf Return ↑
A次ターン開始時、再びTransformコマンドにて元にもどす。 ↓ 味方ターン処理:
ForEach 味方 出撃 Set ユニット名長 (LenB(Unit(対象ユニットID)) - 4) Set ユニット名 LeftB(Unit(対象ユニットID),ユニット名長) Set ユニット状態 RightB(Unit(対象ユニットID),4) If ユニット状態 = "(済)" Then Set ユニット決定 "$(ユニット名)(未)" Transform 対象ユニットID ユニット決定 EndIf Global 攻撃回数 Set 攻撃回数[対象パイロット] Info(パイロット,対象パイロット,特殊能力レベル,行動回数) Next ForEach 全 全て Call 修正解除処理 対象ユニットID Next Return
敵ターン処理: ForEach 敵 出撃 Set ユニット名長 (LenB(Unit(対象ユニットID)) - 4) Set ユニット名 LeftB(Unit(対象ユニットID),ユニット名長) Set ユニット状態 RightB(Unit(対象ユニットID),4) If ユニット状態 = "(済)" Then Set ユニット決定 "$(ユニット名)(未)" Transform 対象ユニットID ユニット決定 EndIf Set 攻撃回数[対象パイロット] Info(パイロット,対象パイロット,特殊能力レベル,行動回数) Next ForEach 全 全て Call 修正解除処理 対象ユニットID Next Return
########## *攻撃 全 全: Call 攻撃前修正 Exit
*攻撃後 全 全: Call 攻撃後修正 Exit
*破壊 全: Call 攻撃後修正 Exit
*ターン 全 味方: Call 味方ターン処理 ForEach 全 全て RecoverEN 100 Next Exit
*ターン 全 敵: Call 敵ターン処理 ForEach 全 全て RecoverEN 100 Next Exit ↑
で、実際にこれを使ってシナリオをテストすると、敵ユニットの2回目の攻撃(2ターン目の攻撃)時にエラーが発生してしまうのです。
「○○」にパイロットが乗っていません
いろいろ考えてみたのですが正直わからないので、もしこのエラーについてご存知の方がいらっしゃいましたら僭越ながらご指導いただけないでしょうか。 よろしくお願いいたします。
ちなみに、各ユニットのデータには、この変形の特殊能力を記述していません。
|