コメント

このコメントは、【トピック】アイテムの有無へのコメントです。

コメントの内容

Nyan mini rurun9(投稿日:2010/11/21 20:11/21/10)
まず、if文の入れ子ですが、中に全部入れちゃうだけです。
どれが同じ階層深度なのかが判るように、タブやインデント(といっても半角スペース)で工夫しましょー
rand(a,5); b(b,5)
if a==1
  if b<3
    speak("aが1で、bが0か1か2の場合")
  else
    speak("aが1で、bが3か4の場合")
  end
elsif a==2
  speak("aが2の場合")
else
  speak("aが0か3か4の場合")
end

よくわからないなら、どんな分岐を実際につくりたいかを教えて下さい


次に、持っているアイテムを確認する方法。
既出ですが、配列変数が扱えないと意味はわからないかもしれません
#所持アイテムID配列を取得
what = getEquipmentIdArray()
i = 0 #所持アイテムの中にカギがあるか、を順に調べる
while i < getArrayLength( what )
  if what[ i ] == (登録した鍵アイテムのID番号)
    setFlag("カギで開ける扉1",true)
  end
i = i + 1
end

準備として、カギとなるアイテムを作成して登録しておき、どこかのイベントで取得できるようにしておきます。
また、イベント「扉」キャラの有効条件を
!getFlag("カギで開ける扉1")
と設定しておけばOK

使用後にカギが壊れるなら
removeItemWithIndex( 何番目の所持アイテムか )
でカギアイテムを所持品から削除しちゃいましょー。
何番目か、ってのは i を別の変数に入れちゃえばできますよね。

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

Nyan mini rurun9(投稿日:2010/11/21 20:11/21/10)
まず、if文の入れ子ですが、中に全部入れちゃうだけです。
どれが同じ階層深度なのかが判るように、タブやインデント(といっても半角スペース)で工夫しましょー
rand(a,5); b(b,5)
if a==1
  if b<3
    speak("aが1で、bが0か1か2の場合")
  else
    speak("aが1で、bが3か4の場合")
  end
elsif a==2
  speak("aが2の場合")
else
  speak("aが0か3か4の場合")
end

よくわからないなら、どんな分岐を実際につくりたいかを教えて下さい


次に、持っているアイテムを確認する方法。
既出ですが、配列変数が扱えないと意味はわからないかもしれません
#所持アイテムID配列を取得
what = getEquipmentIdArray()
i = 0 #所持アイテムの中にカギがあるか、を順に調べる
while i < getArrayLength( what )
  if what[ i ] == (登録した鍵アイテムのID番号)
    setFlag("カギで開ける扉1",true)
  end
i = i + 1
end

準備として、カギとなるアイテムを作成して登録しておき、どこかのイベントで取得できるようにしておきます。
また、イベント「扉」キャラの有効条件を
!getFlag("カギで開ける扉1")
と設定しておけばOK

使用後にカギが壊れるなら
removeItemWithIndex( 何番目の所持アイテムか )
でカギアイテムを所持品から削除しちゃいましょー。
何番目か、ってのは i を別の変数に入れちゃえばできますよね。