アイテムの有無(質問掲示板)
投稿: sure
投稿:2010/11/20 19:34:20(最新:2010/11/28 15:46:28)
ifを使った文、とてもわかりやすい掲示板の記事のおかげで
なんとかできるようになってきました。
それで、ifを使ったもので、
アイテムAがある場合はこうなって、持っていない時はこうする・・・・としたい時には、
どれを使えばいいのかわからず・・・・
もうひとつは、
ifの重ねづけと言いますか、
ifで、もし~だったら、 の後、更にもうひとつ、
もし~だったら・・・と、if(else)の中にもうひとつ入れたい場合は、
どうすればいいでしょうか?
教えて下さい。お願いします。
ツイート
なんとかできるようになってきました。
それで、ifを使ったもので、
アイテムAがある場合はこうなって、持っていない時はこうする・・・・としたい時には、
どれを使えばいいのかわからず・・・・
もうひとつは、
ifの重ねづけと言いますか、
ifで、もし~だったら、 の後、更にもうひとつ、
もし~だったら・・・と、if(else)の中にもうひとつ入れたい場合は、
どうすればいいでしょうか?
教えて下さい。お願いします。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
「石」をもっていればワープできる、だけなら
その場所のイベントスクリプト欄に
と書けば大丈夫ですね。
とりあえずこの辺を読んでみて、リンクを辿ったりwikiを眺めると色々わかってきますよぉ
・wiki スクリプト/つくってみよう0
その場所のイベントスクリプト欄に
#まずは所持アイテムID配列を取得 a=getEquipmentIdArray() n=0; b=false #所持アイテムの中に「石」があるか、を順に調べる while n<getArrayLength(a) if a[n]==『登録したアイテム「石」のID番号』 b=true removeItemWithIndex(n) #使った石が無くなる。残すときは、この行を削除 end n=n+1 end if b speak("突然、「石」が輝き出した") warp(マップID, X座標, Y座標) else speak("通れません") end
と書けば大丈夫ですね。
とりあえずこの辺を読んでみて、リンクを辿ったりwikiを眺めると色々わかってきますよぉ
・wiki スクリプト/つくってみよう0
まず、if文の入れ子ですが、中に全部入れちゃうだけです。
どれが同じ階層深度なのかが判るように、タブやインデント(といっても半角スペース)で工夫しましょー
よくわからないなら、どんな分岐を実際につくりたいかを教えて下さい
次に、持っているアイテムを確認する方法。
既出ですが、配列変数が扱えないと意味はわからないかもしれません
準備として、カギとなるアイテムを作成して登録しておき、どこかのイベントで取得できるようにしておきます。
また、イベント「扉」キャラの有効条件を
!getFlag("カギで開ける扉1")
と設定しておけばOK
使用後にカギが壊れるなら
removeItemWithIndex( 何番目の所持アイテムか )
でカギアイテムを所持品から削除しちゃいましょー。
何番目か、ってのは i を別の変数に入れちゃえばできますよね。
どれが同じ階層深度なのかが判るように、タブやインデント(といっても半角スペース)で工夫しましょー
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 を別の変数に入れちゃえばできますよね。
そうだったんですね!できなくて、色々試していました。
ありがとうございます!
>rurun9さん
教えていただけるだけでも、とてもありがたいです。
これからもお世話になります┏○