コメント
このコメントは、【トピック】鍵が必要へのコメントです。コメントの内容
コメントの内容(一番最初の投稿)
cdv30200(投稿日:2017/04/19 22:04/19/17)
鍵を使う方のスクリプトです。
鍵を使って開ける扉のイベントのスクリプトを書きました。
getItemIndexWithId関数とremoveItemWithIndex関数を使います
有効条件
イベント実行内容
スクリプトが長くなって見にくいので、1行目で getItemIndexWithId(000)をaとします。
getItemIndexWithId関数は、IDで指定した所持アイテムのインデックス(何番目に持っているか)を取得します。
アイテムは最大32個持てるのでaには0〜31が入ります。
(例えば、鍵がアイテム欄の1番上にあれば「0」、5番目にあれば「4」がaに入ります。なんでか知りませんが)
なのでaが「-1」だとアイテム欄のどこにもない、つまり持っていないという事になります。
10行目で、持っている鍵を消去する removeItemWithIndex関数を使います。
ーー補足ーー
これだと、イベント実行内容が全部終わってから扉のイベントが消えます。
「扉が開いた。」のセリフと同時に扉のイベントを消したい場合は、mugaさんのように
warpEvent関数で表示マップの外へすっ飛ばせば良いです。
鍵を使って開ける扉のイベントのスクリプトを書きました。
getItemIndexWithId関数とremoveItemWithIndex関数を使います
有効条件
!getFlag("扉が開いた")
イベント実行内容
a = getItemIndexWithId(000) #000にはアイテムIDが入ります if a == -1 #鍵を持っていない speak("鍵がないと、この扉は開かない。") else #鍵を持っている speak("扉が開いた。") speak("使った鍵は壊れた。") removeItemWithIndex(a) setFlag("扉が開いた", true) end
スクリプトが長くなって見にくいので、1行目で getItemIndexWithId(000)をaとします。
getItemIndexWithId関数は、IDで指定した所持アイテムのインデックス(何番目に持っているか)を取得します。
アイテムは最大32個持てるのでaには0〜31が入ります。
(例えば、鍵がアイテム欄の1番上にあれば「0」、5番目にあれば「4」がaに入ります。なんでか知りませんが)
なのでaが「-1」だとアイテム欄のどこにもない、つまり持っていないという事になります。
10行目で、持っている鍵を消去する removeItemWithIndex関数を使います。
ーー補足ーー
これだと、イベント実行内容が全部終わってから扉のイベントが消えます。
「扉が開いた。」のセリフと同時に扉のイベントを消したい場合は、mugaさんのように
warpEvent関数で表示マップの外へすっ飛ばせば良いです。
鍵を使って開ける扉のイベントのスクリプトを書きました。
有効条件
イベント実行内容
スクリプトが長くなって見にくいので、1行目で getItemIndexWithId(000)をaとします。
getItemIndexWithId関数は、IDで指定した所持アイテムのインデックス(何番目に持っているか)を取得します。
アイテムは最大32個持てるのでaには0〜31が入ります。
(例えば、鍵がアイテム欄の1番上にあれば「0」、5番目にあれば「4」がaに入ります。なんでか知りませんが)
なのでaが「-1」だとアイテム欄のどこにもない、つまり持っていないという事になります。
10行目で、持っている鍵を消去する removeItemWithIndex関数を使います。
ーー補足ーー
これだと、イベント実行内容が全部終わってから扉のイベントが消えます。
「扉が開いた。」のセリフと同時に扉のイベントを消したい場合は、mugaさんのように
warpEvent関数で表示マップの外へすっ飛ばせば良いです。