コメント
このコメントは、【トピック】2かいめのイベントをやらせない方法へのコメントです。コメントの内容
コメントの内容(一番最初の投稿)
井戸乃博士(投稿日:2015/04/11 22:04/11/15)
質問に答える前にいくつか言っておきたいことが・・・
・質問するときはスクリプトをそのまま書くだけではなく、どのようなイベントを作りたいのかなるべく具体的に書いてください。スクリプトを見ただけでは分からないことのほうが多いですから。例えば、上のスクリプト(レアカードをもらうイベント)と、下のスクリプト(ハートをもらうイベント)は別々に書いているんでしょうか?それともひとつながりのスクリプトですか?
・エラーメッセージが出た場合、メッセージからどこにエラーがあるか分かります。たぶん今回の場合、メッセージが出ていると思いますのでこちらを参考にして確認してみてください。
前置きが長くなりましたが、上のスクリプトと下のスクリプトは別々のものと考えてお答えします。
イベントが1回しか起きないようにするにはフラグを使うのが一番簡単です。
getItemIndexWithIdを条件に使うと、条件になるアイテムがなくなるとイベントが戻ってしまうので面倒です。
ここでは"レアカード"と"ハート"という2つのフラグを使ったスクリプトを例示します。
(レアカードをもらうイベント)
(ハートをもらうイベント)
フラグはスクリプトの基本なので正確に内容を理解しておいたほうがいいですよ。
・質問するときはスクリプトをそのまま書くだけではなく、どのようなイベントを作りたいのかなるべく具体的に書いてください。スクリプトを見ただけでは分からないことのほうが多いですから。例えば、上のスクリプト(レアカードをもらうイベント)と、下のスクリプト(ハートをもらうイベント)は別々に書いているんでしょうか?それともひとつながりのスクリプトですか?
・エラーメッセージが出た場合、メッセージからどこにエラーがあるか分かります。たぶん今回の場合、メッセージが出ていると思いますのでこちらを参考にして確認してみてください。
前置きが長くなりましたが、上のスクリプトと下のスクリプトは別々のものと考えてお答えします。
イベントが1回しか起きないようにするにはフラグを使うのが一番簡単です。
getItemIndexWithIdを条件に使うと、条件になるアイテムがなくなるとイベントが戻ってしまうので面倒です。
ここでは"レアカード"と"ハート"という2つのフラグを使ったスクリプトを例示します。
(レアカードをもらうイベント)
if getFlag("レアカード")
speak("こんどこそは…")
else
speak("まただぶりか!\nやるよ")
speak("レアカードを貰った")
giveItem(19400)
setFlag("レアカード", true)
end
(ハートをもらうイベント)
if getFlag("レアカード")
if getFlag("ハート")
speak("ありがとう") #レアカードを渡した後の反応
else
speak("それは私のほしいレアカード!")
fadeOut(0,0,0)
fadeIn()
case speakWithSelect(2,"はい","いいえ", "レアカードをあげますか?")
when 0
speak("ありがとう!\nお礼にこれあげる!")
giveItem(19399)
removeItemWithIndex(getItemIndexWithId(19400))
speak("ハートを貰った")
setFlag("ハート", true)
when 1
speak("なんだ…")
end
end
else
speak("レアカードほしいなあ・・・") #レアカードをもらっていないときの反応
end
フラグはスクリプトの基本なので正確に内容を理解しておいたほうがいいですよ。
・質問するときはスクリプトをそのまま書くだけではなく、どのようなイベントを作りたいのかなるべく具体的に書いてください。スクリプトを見ただけでは分からないことのほうが多いですから。例えば、上のスクリプト(レアカードをもらうイベント)と、下のスクリプト(ハートをもらうイベント)は別々に書いているんでしょうか?それともひとつながりのスクリプトですか?
・エラーメッセージが出た場合、メッセージからどこにエラーがあるか分かります。たぶん今回の場合、メッセージが出ていると思いますのでこちらを参考にして確認してみてください。
前置きが長くなりましたが、上のスクリプトと下のスクリプトは別々のものと考えてお答えします。
イベントが1回しか起きないようにするにはフラグを使うのが一番簡単です。
getItemIndexWithIdを条件に使うと、条件になるアイテムがなくなるとイベントが戻ってしまうので面倒です。
ここでは"レアカード"と"ハート"という2つのフラグを使ったスクリプトを例示します。
(レアカードをもらうイベント)
if getFlag("レアカード") speak("こんどこそは…") else speak("まただぶりか!\nやるよ") speak("レアカードを貰った") giveItem(19400) setFlag("レアカード", true) end(ハートをもらうイベント)
if getFlag("レアカード") if getFlag("ハート") speak("ありがとう") #レアカードを渡した後の反応 else speak("それは私のほしいレアカード!") fadeOut(0,0,0) fadeIn() case speakWithSelect(2,"はい","いいえ", "レアカードをあげますか?") when 0 speak("ありがとう!\nお礼にこれあげる!") giveItem(19399) removeItemWithIndex(getItemIndexWithId(19400)) speak("ハートを貰った") setFlag("ハート", true) when 1 speak("なんだ…") end end else speak("レアカードほしいなあ・・・") #レアカードをもらっていないときの反応 endフラグはスクリプトの基本なので正確に内容を理解しておいたほうがいいですよ。