カスタムメニュー(質問掲示板)
投稿: ugonight
投稿:2011/08/02 13:53:02(最新:2011/08/08 12:10:08)
カスタムメニューを開くと手に入れているアイテム(変数が1)だけを選択肢に表示させたいのですが
とするとえらってしまいます
アイテム1はてに入れていてアイテム2果てに入れていないのですが…
ツイート
setCustomParamMenuEnable(true) setCustomParamMenuName("keyアイテム") setVariable("アイテム1", 1) setVariable("アイテム2", 0) def onShowCustomParameter() case speakWithSelect(3, if getVariable("アイテム1")==1 "アイテム1" end, if getVariable("アイテム2")==1 "アイテム2" end, "どのアイテムを使いますか?\n") when 0 when 1 end end
とするとえらってしまいます
アイテム1はてに入れていてアイテム2果てに入れていないのですが…
コメントする
コメントするには、ログインする必要があります。
コメント一覧
ugonight(投稿日:2011/08/08 12:10,
履歴)
だいじょうぶですた
そりゃ選択肢配列はアイテムの所持状況によって変わりますから、
a=「何番目がクリックされたか」
だけだと、プレイヤーが何を使いたいのかワカリマセンね。
でも s[a] にはアイテム名の文字列(もしくは「やめる」)が入ってますよね?
だから
とすれば良いのです。
もしアイテムの種類が1と2だけでなく今後増えるようなら、
変数「アイテム」も配列にしちゃった方が管理が楽になると思います。
a=「何番目がクリックされたか」
だけだと、プレイヤーが何を使いたいのかワカリマセンね。
でも s[a] にはアイテム名の文字列(もしくは「やめる」)が入ってますよね?
だから
if s[a]=="アイテム1" setVariable("アイテム1",2) #使用済みにする #使ったらどうするかの処理 elsif s[a]=="アイテム2" setVariable("アイテム2",2) #使用済みにする #使ったらどうするかの処理 elsif s[a]=="やめる" #コレは不要かも? speak("ひやかしかっ") end
もしアイテムの種類が1と2だけでなく今後増えるようなら、
変数「アイテム」も配列にしちゃった方が管理が楽になると思います。
地道に…?
選択肢の配列を用意するのだから、
という事ですよ。
変数「アイテム1&2」というのが一体何を数えているのか知らないけど、持ってるか持ってないかの二択ならフラグの方が良いし、2個以上入手できる物なら書きかえましょー。
選択肢の配列を用意するのだから、
s=createArray() if getVariable("アイテム1")==1 pushArray(s,"アイテム1") end if getVariable("アイテム2")==1 pushArray(s,"アイテム2") end pushArray(s,"やめる") a=speakWithSelectArray(s,"どのアイテムを使う?")
変数「アイテム1&2」というのが一体何を数えているのか知らないけど、持ってるか持ってないかの二択ならフラグの方が良いし、2個以上入手できる物なら書きかえましょー。
speakWithSelect()
に【if文】を入れてるので文法エラーになりますよっと。
選択肢の数がアイテムを所持しているかどうかで変わる、という事なので
speakWithSelectArray()
の方を使うと良いかもしれません。
参考
・スクリプト/つくってみよう1
・スクリプト/カスタムメニュー
実はオイラもカスタムメニューは全くいじった事が無いので、何ができるのかよくワカっていません。
に【if文】を入れてるので文法エラーになりますよっと。
選択肢の数がアイテムを所持しているかどうかで変わる、という事なので
speakWithSelectArray()
の方を使うと良いかもしれません。
参考
・スクリプト/つくってみよう1
・スクリプト/カスタムメニュー
実はオイラもカスタムメニューは全くいじった事が無いので、何ができるのかよくワカっていません。
どうも。原因は分かりませんが、とりあえず、
と打ってみてください。
私がよく使うスクリプトですので。
setCustomParamMenuEnable(true) setCustomParamMenuName("keyアイテム") setVariable("アイテム1", 1) setVariable("アイテム2", 0) def onShowCustomParameter() case speakWithSelect(3, if getVariable("アイテム1")==1 "アイテム1" elsif getVariable("アイテム2")==1 "アイテム2" end, "どのアイテムを使いますか?\n") when 0 when 1 end end
と打ってみてください。
私がよく使うスクリプトですので。