コメント
このコメントは、【トピック】ある事をすると次のイベントが発生させるには、どうすれば?へのコメントです。コメントの内容
コメントの内容(一番最初の投稿)
___(投稿日:2011/06/04 00:06/04/11)
endを入れた…? 一体何処に…?
はて。まあそれはそこらへんに置いておきまして、
長々と書いていきます。着いてきてくださいね。
まず、変数名またはフラグ名は、一目で意味がわかるものにするよう
心がけるといいと思います。
ちょっとした所にちょこっと使うのならまだ大丈夫なのですが、
後々に「これ何ぞ?」となってくることがありますので、
その時に意味のある変数名だと助かるんですよね。
人に見せるときにも一々説明しなくても良くなりますし。
さて。
こういう入れ子の場合、外からよりも中から作って、
それを囲んでいくとうまくいくことが多いです。
(もちろん大外から作っていっても大丈夫ですが)
まずは選択肢と、それに対するリアクションを作ります。
クエストを受けていない状態の所です。
クエストを受けている場合は上記文を全く使わないので、
これ全てをif文で条件分岐させます。
同じ文を書くと長くなるので、上記文全てをまとめて
スクリプトBとしますね。
初めはクエ受注フラグがfalseですので、elsif以下を実行します。
elsif以下スクリプトBにて、質問に「はい」と答えると、
クエ受注フラグがtrueとなり、次回以降elsif以下ではなく、
if~elsif内のスクリプトを実行します。
次に、この部分…スクリプトAを作ります。
クエストを受注している場合、そのクエストを
クリアしているかしていないかで、処理が分岐しますよね?よって、
となります。
クエクリアの場合は、お礼の言葉の後、
クリアフラグと受注フラグをfalseにします。
このままですといつまでも御礼の言葉を言われ続けて、
再びクエストを受けることが出来ませんので。
クエクリアしていない場合は、「畑の~」と
ヒントメッセージを表示することにします。
これがクエストを受けていた場合のスクリプトAになりますので、
これらを全て組み合わせると以下のようになります。ゲソ。
多分こんな感じで書けば動くと思うんですけどねー。
長文乱文失礼しました。何かあればどうぞー。
はて。まあそれはそこらへんに置いておきまして、
長々と書いていきます。着いてきてくださいね。
まず、変数名またはフラグ名は、一目で意味がわかるものにするよう
心がけるといいと思います。
ちょっとした所にちょこっと使うのならまだ大丈夫なのですが、
後々に「これ何ぞ?」となってくることがありますので、
その時に意味のある変数名だと助かるんですよね。
人に見せるときにも一々説明しなくても良くなりますし。
さて。
こういう入れ子の場合、外からよりも中から作って、
それを囲んでいくとうまくいくことが多いです。
(もちろん大外から作っていっても大丈夫ですが)
まずは選択肢と、それに対するリアクションを作ります。
クエストを受けていない状態の所です。
case speakWithSelect(2 , "あいよ" , "嫌だ" , "お願いしますぜ旦那ぁ…") when 0 # はいの場合 speak("よろしくー") setFlag("クエ受注" , true) # イベントはここで終わってくれます when 1 # いいえの場合 speak("なんでだよー") end
クエストを受けている場合は上記文を全く使わないので、
これ全てをif文で条件分岐させます。
同じ文を書くと長くなるので、上記文全てをまとめて
スクリプトBとしますね。
if(getFlag("クエ受注")) # 以下クエストを受けていた場合 ~処理内容~ elsif # 以下クエストを受けていない場合 スクリプトB end
初めはクエ受注フラグがfalseですので、elsif以下を実行します。
elsif以下スクリプトBにて、質問に「はい」と答えると、
クエ受注フラグがtrueとなり、次回以降elsif以下ではなく、
if~elsif内のスクリプトを実行します。
次に、この部分…スクリプトAを作ります。
クエストを受注している場合、そのクエストを
クリアしているかしていないかで、処理が分岐しますよね?よって、
if(getFlag("クエクリア")) ~プチ幽霊を倒している場合~ (クリアフラグがtrue) elsif ~プチ幽霊を倒していない場合~ (クリアフラグがfalse) end
となります。
クエクリアの場合は、お礼の言葉の後、
クリアフラグと受注フラグをfalseにします。
このままですといつまでも御礼の言葉を言われ続けて、
再びクエストを受けることが出来ませんので。
クエクリアしていない場合は、「畑の~」と
ヒントメッセージを表示することにします。
if(getFlag("クエクリア")) # クエクリアの場合 speak("マジあんがとー") setFlag("クエ受注" , false) setFlag("クエクリア" , false) elsif # クエクリアしていない場合 speak("畑に行けばいいんじゃね") end
これがクエストを受けていた場合のスクリプトAになりますので、
これらを全て組み合わせると以下のようになります。ゲソ。
if(getFlag("クエ受注")) # 以下クエストを受けていた場合 if(getFlag("クエクリア")) # クエクリアの場合 speak("マジあんがとー") setFlag("クエ受注" , false) setFlag("クエクリア" , false) elsif # クエクリアしていない場合 speak("畑に行けばいいんじゃね") end elsif # 以下クエストを受けていない場合 case speakWithSelect(2 , "あいよ" , "嫌だ" , "お願いしますぜ旦那ぁ…") when 0 # はいの場合 speak("よろしくー") setFlag("クエ受注" , true) when 1 # いいえの場合 speak("なんでだよー") end end
多分こんな感じで書けば動くと思うんですけどねー。
長文乱文失礼しました。何かあればどうぞー。
はて。まあそれはそこらへんに置いておきまして、
長々と書いていきます。着いてきてくださいね。
まず、変数名またはフラグ名は、一目で意味がわかるものにするよう
心がけるといいと思います。
ちょっとした所にちょこっと使うのならまだ大丈夫なのですが、
後々に「これ何ぞ?」となってくることがありますので、
その時に意味のある変数名だと助かるんですよね。
人に見せるときにも一々説明しなくても良くなりますし。
さて。
こういう入れ子の場合、外からよりも中から作って、
それを囲んでいくとうまくいくことが多いです。
(もちろん大外から作っていっても大丈夫ですが)
まずは選択肢と、それに対するリアクションを作ります。
クエストを受けていない状態の所です。
クエストを受けている場合は上記文を全く使わないので、
これ全てをif文で条件分岐させます。
同じ文を書くと長くなるので、上記文全てをまとめて
スクリプトBとしますね。
初めはクエ受注フラグがfalseですので、elsif以下を実行します。
elsif以下スクリプトBにて、質問に「はい」と答えると、
クエ受注フラグがtrueとなり、次回以降elsif以下ではなく、
if~elsif内のスクリプトを実行します。
次に、この部分…スクリプトAを作ります。
クエストを受注している場合、そのクエストを
クリアしているかしていないかで、処理が分岐しますよね?よって、
となります。
クエクリアの場合は、お礼の言葉の後、
クリアフラグと受注フラグをfalseにします。
このままですといつまでも御礼の言葉を言われ続けて、
再びクエストを受けることが出来ませんので。
クエクリアしていない場合は、「畑の~」と
ヒントメッセージを表示することにします。
これがクエストを受けていた場合のスクリプトAになりますので、
これらを全て組み合わせると以下のようになります。ゲソ。
多分こんな感じで書けば動くと思うんですけどねー。
長文乱文失礼しました。何かあればどうぞー。