コメント

このコメントは、【トピック】扉の応用へのコメントです。

コメントの内容

      mini shirosaboten(投稿日:2009/11/22 17:11/22/09)
Flagはtrueかfalseであらわすものなので、「同じフラグを二個以上とる」とかいうことは出来ないと思います。
またtrueとfalseがはっきりしていないのが混乱の原因だと思います。


アドバイスしますので自分で組み立ててみてください。

◎鍵を取ったときに消す
1.開始スクリプトでフラグを設定します。
鍵ABを取ったか否かのフラグをつくり、まだとっていない(false)と設定します。

setFlag("鍵Aを取ったか", false)
setFlag("鍵Bを取ったか", false)


2.鍵の設定です
有効条件でフラグが(false)のときだけ実行するようにします。

有効条件:getFlag("鍵Aを取ったか", false)

そして実行内容で鍵取得後にフラグを真(true)に変更します

実行内容:setFlag("鍵Aを取ったか", true)

こうすることで有効条件「フラグがfalseである」が成立しなくなり、鍵が消えます。
鍵Bについても同様です


◎鍵を二つ取ると扉が開く
1.開始スクリプト
・扉もイベント後に消える予定ですので、鍵と同じようなフラグが必要で す。開始スクリプトに扉用のフラグも設定してください。

2.扉の設定
鍵の応用です
・有効条件:「扉が開いたか」のフラグが(false)のとき

・実行内容
鍵Aを持っている、かつ、鍵Bを持っているは「&&」を使います。


if getFlag(" ", true) && getFlag(" ", true)

空欄はクイズです^^
 この下に「扉が開いたか」のフラグを真にする命令を書いてください

setFlag(" ", true)

そのほか、の場合は

else
speak("なんたら")

で十分だと思います。


長くなりましたが、これでうまくいくかと思います。
がんばってください^^


コメントの内容(一番最初の投稿)

      mini shirosaboten(投稿日:2009/11/22 17:11/22/09)
Flagはtrueかfalseであらわすものなので、「同じフラグを二個以上とる」とかいうことは出来ないと思います。
またtrueとfalseがはっきりしていないのが混乱の原因だと思います。


アドバイスしますので自分で組み立ててみてください。

◎鍵を取ったときに消す
1.開始スクリプトでフラグを設定します。
鍵ABを取ったか否かのフラグをつくり、まだとっていない(false)と設定します。

setFlag("鍵Aを取ったか", false)
setFlag("鍵Bを取ったか", false)


2.鍵の設定です
有効条件でフラグが(false)のときだけ実行するようにします。

有効条件:getFlag("鍵Aを取ったか", false)

そして実行内容で鍵取得後にフラグを真(true)に変更します

実行内容:setFlag("鍵Aを取ったか", true)

こうすることで有効条件「フラグがfalseである」が成立しなくなり、鍵が消えます。
鍵Bについても同様です


◎鍵を二つ取ると扉が開く
1.開始スクリプト
・扉もイベント後に消える予定ですので、鍵と同じようなフラグが必要で す。開始スクリプトに扉用のフラグも設定してください。

2.扉の設定
鍵の応用です
・有効条件:「扉が開いたか」のフラグが(false)のとき

・実行内容
鍵Aを持っている、かつ、鍵Bを持っているは「&&」を使います。


if getFlag(" ", true) && getFlag(" ", true)

空欄はクイズです^^
 この下に「扉が開いたか」のフラグを真にする命令を書いてください

setFlag(" ", true)

そのほか、の場合は

else
speak("なんたら")

で十分だと思います。


長くなりましたが、これでうまくいくかと思います。
がんばってください^^