アイテム(質問掲示板

投稿: User icon mini 退会したユーザー 投稿:2010/09/04 00:46:04(最新:2010/09/04 19:37:04)
単純なことを聞いてしまうようだと申し訳ないのですが、教えてください。
(順を追って説明させてください)宝箱からアイテムを受け取るような形をとったときに、そのアイテムを一度受け取ったら二度目は受け取れないようにする方法は以下のやり方でできました。

if getFlag("アイテムを受け取った")
speak("もうありません。")

else
speak("薬草を手に入れた。")

giveItem(774)


setFlag("アイテムを受け取った",true)
end

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
そのマップ内に他にもアイテムを置きたかったので、上と同じやり方で二つ目のアイテムを置きました(↓このように)


if getFlag("アイテムを受け取った")
speak("もうありません。")

else
speak("刀を手に入れた。")

giveItem(543)


setFlag("アイテムを受け取った",true)
end

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・



そのマップ内には二つアイテムが存在していて、どちらもアイテムを一度だけ受け取れるような形にしたいのに、テストプレーをしたところ、二つの宝箱の内、最初に選択した方のみアイテムが受け取れて、次に選択した宝箱を受け取ろうとしてもアイテムが「もうありません」という表記だけで二つ目の宝箱はアイテムを受け取れません。宝箱の順を変えて選択してもやはり後の宝箱が受け取れないという結果でした。どうすれば解決できますか?

長々しい文とわかりにくい説明で申し訳ないですが、この質問の意味がわかれば教えていただきたいです。よろしくお願いします。

コメントする

コメントするには、ログインする必要があります。

コメント一覧

User icon mini 退会したユーザー(投稿日:2010/09/04 19:37, 履歴)
皆さんのわかりやすい説明でやっと解決しました!
ありがとうございました。
Nyan mini rurun9(投稿日:2010/09/04 14:35, 履歴)
つまり「フラグ名」というのは
実は trueまたはfalse という2択の値を持った変数なのです。
→ wiki スクリプト/変数
→ wiki スクリプト/つくってみよう0

宝箱の数だけフラグ変数を用意すれば解決なのです
    mini suzune555(投稿日:2010/09/04 12:29, 履歴)
単純にフラグ名を変えればいいのでは?
と思うのですが…
フラグが同じだと最初に書いてある
スクリプトで「もうありません」と言うものが
動作してしまうんだと思います
とにかくフラグ名を変えましょう

宜しくお願いします
 ↓    ↓
if getFlag("アイテムを受け取った")
speak("もうありません。")

else
speak("薬草を手に入れた。")

giveItem(774)


setFlag("アイテムを受け取った",true)
end



if getFlag("アイテムを受け取る")
speak("もうありません。")

else
speak("刀を手に入れた。")

giveItem(543)


setFlag("アイテムを受け取る",true)
end



こんな感じですね
      mini shirosaboten(投稿日:2010/09/04 09:07, 履歴)
どちらも同じフラグ名を使っているからいけないのでは?


アイテム1を受け取った

アイテム2を受け取った

にすれば解決すると思います