カスタムメニュー(質問掲示板)
投稿:
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果てに入れていないのですが…
コメントする
コメントするには、ログインする必要があります。
コメント一覧
だいじょうぶですた
そりゃ選択肢配列はアイテムの所持状況によって変わりますから、
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
と打ってみてください。
私がよく使うスクリプトですので。