Arma3でスクリプトを始めてみたい人(whileループ処理編)
前回の準備編から一気に内容が踏み込んでいるけど気にしない
準備がまだの人は準備編から
question-and-life.hateblo.jp
例によってガバガバ解説だからプログラミングを触ったことのある人は読む必要無し
・とある条件のときに繰り返す処理をしたいときはwhile doを使う
while{条件}do{処理};
例えばプレイヤーが乗り物に乗っていない時に繰り返す条件を考えると次のようになる
while{vehicle Player == Player}do{処理}; /*vehicle Player == Playerはプレイヤーが車両に乗っているかを判別している*/
プレイヤーが乗り物に乗ると処理は終わり、処理の開始前に乗り物に乗っていると処理は飛ばされる
逆にSniperという変数を付けたユニットが死んだ時にループ処理をしたいようなときは注意が必要
Sniperの生存確認はAliveコマンドを使う
Alive Sniper
これはスナイパーが生存している時にTrueになる
しかし、ループ処理をしたい時は必ず条件がTrueでなければ動作しない
while{alive Sniper}do{処理};
このように記述するとSniperが生存している間ループ処理することになり、Sniperが死亡していると処理は飛ばされる
これを処理する時は条件を反転させるに記述する
not(alive Sniper) !(alive Sniper)
notや!を先頭に書くことで条件を反転させてSniperが生存していないときをTrueとして返すことが出来るようになる