特定の条件を満たすと選択肢が増えるor減る(質問掲示板)
投稿: ゆりかもめ
投稿:2011/10/31 10:14:31(最新:2011/10/31 21:55:31)
具体例を言いますと
ドラクエのルーラの様な感じです。
行った事のある町にはワープできて
そうでない町にはワープできない
っといったようなイベントを組むにはどうしたらいいでしょうか
case文の選択肢をif getFlag()等で囲うとエラーが出てしまう為
何かいい方法を探してます。
ツイート
ドラクエのルーラの様な感じです。
行った事のある町にはワープできて
そうでない町にはワープできない
っといったようなイベントを組むにはどうしたらいいでしょうか
case文の選択肢をif getFlag()等で囲うとエラーが出てしまう為
何かいい方法を探してます。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
あ、本当ですね。
でOKのはず。
配列の数を選択肢の数にしているようで、2を抜かしたりするとundefinedが出るようです。
配列の数を変数管理することで直りました。
a = createArray() b = 0 if getFlag("A町") a[b] = "A町" b = b + 1 end if getFlag("B街") a[b] = "B街" b = b + 1 end if getFlag("C村") a[b] = "C村" b = b + 1 end case speakWithSelectArray(a, "どこへ行きますか?") when 0 #A町へ移動するスクリプト when 1 #B街へ移動するスクリプト when 2 #C村へ移動するスクリプト end
でOKのはず。
配列の数を選択肢の数にしているようで、2を抜かしたりするとundefinedが出るようです。
配列の数を変数管理することで直りました。
a = createArray() if getFlag("A町") a[0] = "A町" end if getFlag("B街") a[1] = "B街" end if getFlag("C村") a[2] = "C村" end case speakWithSelectArray(a, "どこへ行きますか?") when 0 #A町へ移動するスクリプト when 1 #B街へ移動するスクリプト when 2 #C村へ移動するスクリプト end
でもOK。
選択肢を配列で設定。設定するかどうかで選択肢の数が動きます。
#A町に着いた時 setFlag("A町", true)
#B街に着いた時 setFlag("B街", true)
#C村に着いた時 setFlag("C村", true)
rurun9さま>
そちらはカスタムメニュー関連の話題なので
ちょっと違うような。。。?
[ 変動選択肢関数]
[ 使い方]
(予め上記関数を開始スクリプトなどで定義後)
そちらはカスタムメニュー関連の話題なので
ちょっと違うような。。。?
[ 変動選択肢関数]
#変動選択肢関数 #SetMsg 選択肢前表示文字列 #MsgList 選択肢配列 #ExclusionMsg 除外文字列 def speakWithSelectAny(SetMsg, MsgList, ExclusionMsg) MsgLen = getArrayLength(MsgList) setMsgList = createArray() setMsgNo = createArray() i = 0 while i < MsgLen if MsgList[i] != ExclusionMsg pushArray(setMsgList, MsgList[i]) pushArray(setMsgNo, i) end i = i + 1 end return setMsgNo[speakWithSelectArray(setMsgList, SetMsg)] end
[ 使い方]
(予め上記関数を開始スクリプトなどで定義後)
setVariable("messagelist", createArray()) getVariable("messagelist")[0] = "はじまりの村" getVariable("messagelist")[1] = "???" getVariable("messagelist")[2] = "???" #大きな港町についた時 getVariable("messagelist")[2] = "大きな港町" #ルーラ実行 case speakWithSelectAny("ルーラを唱えた", getVariable("messagelist"), "???") when 0 #はじまりの村へ移動するスクリプト when 1 #城下町へ移動するスクリプト when 2 #大きな港町へ移動するスクリプト end
satsukilさんのスクリプトとまんまで吹きましたw
aoihikawaさんみたくユーザー定義関数でなんとかまとめようと
頑張ってたんですが、うまくいかず・・・・・
選択肢を???等で隠しておくというのも中々いいアイデアだなーって
思いました。
簡易的なワープ装置を作りたかっただけなので
satsukilさんの方のスクリプトを使わせていただこうと思います。
いやー・・・・・スクリプトは難しいです(汗)
みなさん
アドバイスありがとうございました。