| おはようございます。
For i = 1 To Info(対象ユニットID, 武器, 番号) SetBullet 対象パイロット i 前編弾数[対象パイロット] Next
Forコマンドは i が [Toの右側の値] になるまで繰り返す、というコマンドなので、ここでは i が Info(対象ユニットID, 武器, 番号) になるまで繰り返すという処理になります。
しかし、ここでヘルプのInfo関数の項を見てみると、「武器, 番号」が返すのは、その番号の武器の名称となっている(*)ので、i は文字列とは比べられないため、Forコマンドはすぐに終了し、次に進みます。
(*「そのユニットの○番目の武器の名前を知りたい!」という時に使います)
武器一つ一つに弾数を設定するために、Toの右側には Info(対象ユニットID, 武器数) を指定します。
For i = 1 To Info(対象ユニットID, 武器数) SetBullet 対象パイロット i 前編弾数[対象パイロット] Next
さらに、前編で保存した 前編弾数[対象パイロット] の中身は、リスト形式になっています。 SRCにおけるリスト形式とは、例えば次のような文字列の事です。 "40 38 74 92 10 2 7 20 35"
半角スペースで区切って、複数のデータを一緒くたにしています。 一つの変数の中に、複数のデータを保存できるので便利です。
ちなみに、今回の場合、前編では
#弾数 For i = 1 To Info(対象ユニットID, 武器数) Set 前編弾数[対象パイロット] (前編弾数[対象パイロット] & Info(対象ユニットID, 武器, i, 弾数) & " ") Next
このように、「現在の 前編弾数[対象パイロット] に 武器番号iの弾数 と " " を付け足す」ようにして、武器全部分の弾数を保存しています。
なので、変数 前編弾数[対象パイロット] の中身は "武器1の弾数 武器2の弾数 武器3の弾数 ..." といった感じです。
リストについては大丈夫でしょうか。
SRCには「リストの○番目の要素(値)を得る」関数が用意されているので
For i = 1 To Info(対象ユニットID, 武器数) #空欄〜〜〜〜を埋めて! SetBullet 対象パイロット i 〜〜〜〜 Next
ヘルプを片手に、空欄を埋めて頂ければ、残弾数が設定できます。
‥といった具合です。硬い文章を書くとめまいがします( =ω=) 参考になれば幸いでっす。でわ!
|