スクリプト/フラグ
rurun9様ウィキより

フラグ変数は、true または false のどちらかの値を記録するものです。


フラグをセットするときは次のように書きます。
setFlag( "たわし", true )
setFlag( "Love", false )

フラグ名は、変数名同様に自由に決めて構いません。
  • 参考 wiki スクリプト/変数

フラグがどちらの値なのかを調べるには
getFlag( "たわし" )

と書きます。
(コレを書いただけでは、何も起こりませんが)スクリプトに getFlag を書くと中身のtrueまたはfalseが返ってくるので、変数に入れたり if文に使う事ができます。


このフラグ変数を用意する事で、状況によって異なるイベント処理を行う事ができます。
例えばRPGで
「Bさんに話しかけると、Aさんの話す内容が変わる」
というのをつくってみましょう。



Aさんのスクリプト
speak("「聞いてくれよ!\n 今日食べようと思ってとっておいたプリンが無くなってるんだ。」")
if getFlag("プリン")
 speak("「え?\n Bが食べちゃったの!?\n Bの奴、覚えてろよ…」")
 fadeOut(0,0,0)
 setFlag("プリン", false)
 fadeIn()
 speak("…そして一週間が経った。")
else
 speak("「おかしいなぁ。昨日は確かにあったのに。」")
end



Bさんのイベントスクリプト
setFlag("プリン", true)
speak("「実は冷蔵庫にあったプリン食べたの、俺なんだよね。」")


フラグ変数「プリン」をつくっています。コレの中身によってAさんの話が分岐します。
最初にAさんに話しかけた場合には
フラグ変数「プリン」は存在しない、すなわち中身はありませんが(null という状態)、とにかくフラグ変数「プリン」の中身が true ではないので、else の方の処理が実行されます。
次にBさんに話しかけると、フラグ「プリン」を true に変更しつつ、プレイヤーに真実が明かされます。
再びAさんに話しかけたら、Bさんが食べた事に気付くのです。
フラグを戻しているのはオマケの演出ですね。



こうしたフラグ変数を利用する事で、色々なイベント処理ができます。

例えばイベントスクリプト左下の「有効条件」欄に
getFlag("フラグ名")

と書く事で、フラグがfalseのときは実行されない(見えない)イベントを設置できたりします。

イベントの有効条件の欄には「条件式」だけを書けば動きます。if文を全部書くとエラッタするので間違えないように。
逆に有効条件を !getFlag("フラグ名") と書けば、フラグがtrueになると消えるイベントになります。
この場合の設置するキャラクターを扉などの絵で通行不可にしておけば、いわゆる関所みたいなものを作る事もできるのです。

今日の訪問者 -
昨日の訪問者 -

タグ:

+ タグ編集
  • タグ:
最終更新:2011年07月07日 19:59