| GAMEMASTERです。
> 1:のやつはただの打ち間違いです。 > 2:はアスパーさんのシナリオにあったものを参考にしたんですが、 > 破壊に出来ないとなると、イベント戦闘を起こさないといけませんね
このイベントを使う場合、以下のサブルーチンをStatus関数の代理として使うようにしましょう。
UnitStatus:
Local ユニットの状態
If Status(Args(1)) = 待機 And HP(Args(1)) = 0 Then
ユニットの状態 = 破壊
Else
ユニットの状態 = Status(Args(1))
EndIf
Return ユニットの状態
これによって、UnitStatus(メインパイロット名またはユニットID)と記述することでHP0の状態で撤退したユニットも破壊扱いに出来ます。
ただ、これでもシステムは破壊と認めません。よって、ForEachコマンドはごまかせません。 「ForEach 味方 破壊」「ForEach 味方 待機」などを使用する際には十分注意して下さい。
また、修理費も請求されません。修理費を支払わせる場合、エピローグイベントを追加する必要があります。
*エピローグ:
ForEach 味方 待機
If HP(対象ユニット) = 0 Then
Talk システム $(Nickname(Unit(対象ユニット)))を修理した;修理費 = $(Info(ユニットデータ,Unit(対象ユニット),修理費)) Suspend
Money -1 * Info(ユニットデータ,Unit(対象ユニット),修理費)
Incr 修理費合計 Info(ユニットデータ,Unit(対象ユニット),修理費)
EndIf
Next
If 修理費合計 > 0 Then
Talk システム 合計 = $(修理費合計) End
EndIf
Exit
なお、バージョン1.7系列の「開発版」にはユニットを直接的に破壊するDestroyコマンドがあるため、もう少し簡単に済ませられるものと思われます。
参考になれば幸いです。
もう時間がないようでございますね。では、これにて退散させてもらいましょう。
|