コメント

このコメントは、【トピック】【初心者質問】固定のアイテムGET後、別のイベントの選択肢の変更へのコメントです。

コメントの内容

User icon mini taki(投稿日:2017/09/30 22:09/30/17)
「図鑑」や「リスト」で掲示板かwikiを検索すると情報があると思います。
個人的にはこの辺りが参考になるかなと思います。
リストの作り方
スクリプト/汎用関数/辞書を表示する

本の冊数次第ですが力技で片付けるならこんな感じでしょうか?
#最初に本の名前を表す変数の中身を"???"にしておく
setVariable("本の名前","???")

#本を入手した時に名前を変更する
case speakWithSelect(2,"はい","いいえ","本を拾いますか?")
when 0
  speak("なんかの本を手に入れた")
  setVariable("本の名前","なんかの本")
when 1
  speak("本は見なかったことにした")
end

speak("イスに座って本を読めます。")
#選択肢に文字列を入れる代わりに変数を使う
case speakWithSelect(2, getVariable("本の名前"), "読まない", "どの本を読みますか?\n")
  when 0
  a = getItemIndexWithId(21501)
 if a == -1
  speak("この本は読み終わっているか、\nまたは持っていません。")
 else
  speak("「なんかの本」")
  speak("面白そう。")
  removeItemWithIndex(a)
  setFlag("読書", true)
 end
  when 1
speak("今は読まなくていいや。")
end

もう少しカッコよくやるとするとこんな感じ?
#_/_/_/初期設定_/_/_/
#最初に本の名前を表す変数の中身を"???"にしておく
setVariable("本の名前",createArray())
i=0
while i<5
  getVariable("本の名前")[i]="???"
  i=i+1
end
#本のIDを入れる配列を作る
setVariable("本のID",createArray())
#対応するIDを入れる。入手時にやる方がわかりやすいかも。
getVariable("本のID")[0]=21501
getVariable("本のID")[1]=21502
getVariable("本のID")[2]=21503
getVariable("本のID")[3]=21504
getVariable("本のID")[4]=21505
#_/_/_/初期設定ここまで_/_/_/

#_/_/_/本の入手イベント_/_/_/
#本を入手した時に名前を変更する
case speakWithSelect(2,"はい","いいえ","本を拾いますか?")
when 0
  speak("なんかの本を手に入れた")
  getVariable("本の名前")[0]="なんかの本"
when 1
  speak("本は見なかったことにした")
end
#_/_/_/ここまで_/_/_/

#_/_/_/読書の部分_/_/_/
b=createArray()
b=getVariable("本の名前")
n=getArrayLength(b)
b[n]="読まない"

speak("イスに座って本を読めます。")
i=speakWithSelectArray(b, "どの本を読みますか")
if b[i]=="???"
  speak("この本は持っていません。")
elsif b[i]=="読まない"
  speak("今は読まなくていいや。")
else
  id=getVariable("本のID")[i]
  a = getItemIndexWithId(id)
  if a == -1
    speak("この本は読み終わっています。")
   else
    speak("「なんかの本」")
    speak("面白そう。")
    removeItemWithIndex(a)
    setFlag("読書", true)
  end
end
#_/_/_/ここまで_/_/_/

制作頑張ってください

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

User icon mini taki(投稿日:2017/09/30 22:09/30/17)
「図鑑」や「リスト」で掲示板かwikiを検索すると情報があると思います。
個人的にはこの辺りが参考になるかなと思います。
リストの作り方
スクリプト/汎用関数/辞書を表示する

本の冊数次第ですが力技で片付けるならこんな感じでしょうか?
#最初に本の名前を表す変数の中身を"???"にしておく
setVariable("本の名前","???")

#本を入手した時に名前を変更する
case speakWithSelect(2,"はい","いいえ","本を拾いますか?")
when 0
  speak("なんかの本を手に入れた")
  setVariable("本の名前","なんかの本")
when 1
  speak("本は見なかったことにした")
end

speak("イスに座って本を読めます。")
#選択肢に文字列を入れる代わりに変数を使う
case speakWithSelect(2, getVariable("本の名前"), "読まない", "どの本を読みますか?\n")
  when 0
  a = getItemIndexWithId(21501)
 if a == -1
  speak("この本は読み終わっているか、\nまたは持っていません。")
 else
  speak("「なんかの本」")
  speak("面白そう。")
  removeItemWithIndex(a)
  setFlag("読書", true)
 end
  when 1
speak("今は読まなくていいや。")
end


制作頑張ってください