コメント

このコメントは、【トピック】アイテムについてへのコメントです。

コメントの内容

      mini shirosaboten(投稿日:2011/02/22 14:02/22/11)
指定したアイテムが所持品、装備品のどこにあるかを教えてくれる関数があります。
## xxxはアイテムID
getItemIndexWithId(xxx) #所持アイテム参照
getEquipmentIndexWithId(xxx) #装備アイテム参照


IDで指定したアイテムを持っている、もしくは装備している場合は、アイテム欄、装備欄の何番目にあるかの数字を返してくれます。
持っていない、装備していない場合には「-1」が返ります。

アイテムを所持していると話が変わる

上の関数とif文を使えばアイテムの所持状況に応じてイベントを変えられます。
例:ID123のアイテムを持っていない場合、ID123のアイテムをくれる。
  ID123のアイテムを持っている場合、アイテムはもらえない。
  ※ID123のアイテムを、薬草とする。
if getItemIndexWithId(123) == -1 
  speak("親切なおじさん『薬草1個は持っていたほうがいいぜ、沢山はあげられないけど、ほら、1個やるよ』")
  giveItem(123)
  speak("薬草を1つもらった")
else
  speak("親切なおじさん『なに?薬草がほしいって?お前、薬草持ってるじゃないか。なくなったらおいで』")
end


この場合、薬草を所持していない状態では、何回でも薬草がもらえます。
薬草を所持している状態では話しかけても『なくなったらおいで』と言われてしまいます。

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

      mini shirosaboten(投稿日:2011/02/22 14:02/22/11)
指定したアイテムが所持品、装備品のどこにあるかを教えてくれる関数があります。
## xxxはアイテムID
getItemIndexWithId(xxx) #所持アイテム参照
getEquipmentIndexWithId(xxx) #装備アイテム参照


IDで指定したアイテムを持っている、もしくは装備している場合は、アイテム欄、装備欄の何番目にあるかの数字を返してくれます。
持っていない、装備していない場合には「-1」が返ります。

アイテムを所持していると話が変わる

上の関数とif文を使えばアイテムの所持状況に応じてイベントを変えられます。
例:ID123のアイテムを持っていない場合、ID123のアイテムをくれる。
  ID123のアイテムを持っている場合、アイテムはもらえない。
  ※ID123のアイテムを、薬草とする。
if getItemIndexWithId(123) == -1 
  speak("親切なおじさん『薬草1個は持っていたほうがいいぜ、沢山はあげられないけど、ほら、1個やるよ』")
  giveItem(123)
  speak("薬草を1つもらった")
else
  speak("親切なおじさん『なに?薬草がほしいって?お前、薬草持ってるじゃないか。なくなったらおいで』")
end


この場合、薬草を所持していない状態では、何回でも薬草がもらえます。
薬草を所持している状態では話しかけても『なくなったらおいで』と言われてしまいます。