アイテムの有無(質問掲示板)
投稿:
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さん
教えていただけるだけでも、とてもありがたいです。
これからもお世話になります┏○