2DRPGの「会話」について質問がございます。(質問掲示板

投稿:    mini 19920613 投稿:2012/04/11 20:52:11(最新:2012/04/11 23:41:11)
今、僕が作っているゲームの中で、
Bの主人公が、Aに話しかけてフラグを立たせ、

邪魔をしていた門番が、Aに話しかけに行ったことで消えている。

という流れにしたいのですが・・・


if !getFlag("初期化したかどうか")
setFlag("初期化したかどうか", true)
setVariable("話しかけた回数", 0)

end
setVariable("話しかけた回数",
getVariable("話しかけた回数") + 1)

if
getVariable("話しかけた回数") >= 2
speak("A「アナタが無事に帰ってきてくれるのを祈ってるわ。」")

else

speak("A「こんにちわ」")
speak("B「わたし、明日には冒険に出るつもりなのよ。」")

end


上のスクリプトに

この、
setVariable("a", 2)

を、Aのイベントの実行スクリプトに組み込めば良いだけの話なんですが、
どこに入れても、その最初の1回だけ、2人の挨拶から始まって、その後は何度ゲームをやり直しても、イベント後の「アナタが~」からしか始まりません・・・

このイベントを成功させるには、どうしたらよろしいでしょうか?

よろしくお願いいたします・・・

コメントする

コメントするには、ログインする必要があります。

コメント一覧

   mini 19920613(投稿日:2012/04/11 21:14, 履歴)
if getFlag("依頼をした")
speak("任せました。")
else
speak("ドラゴン退治をお願いします。\n")
setFlag("依頼をした", true)
end

このスクリプトを応用したら出来ました;
ご迷惑おかけして申し訳ありませんでした・・・

ですが、参考までに、もし上記の質問のスクリプトを成功させるにはどうするべきかも、聞いておきたいので
よろしくお願いします。
Nyan mini rurun9(投稿日:2012/04/11 22:59, 履歴)
・wiki スクリプト/フラグ

門番が消える、という事なので
・wikiスクリプト/鍵で開ける扉イベント
も参考になるカモ

if !getVariable("話し回数")
 setVariable("話し回数",0)
end

setVariable("話し回数",getVariable("話し回数")+1)

if 2<=getVariable("話し回数")
 speak("A「アナタが無事に帰ってきてくれるのを祈ってるわ。」")
else 
 speak("A「こんにちわ」")
 speak("B「わたし、明日には冒険に出るつもりなのよ。」")
end
初期化とか無駄に変数を増やす必要は無さそうなので。
そもそも変数の初期値は、開始スクリプトに書けば安心なワケですが、敢えてゲーム中で新しい変数を用意するパターンでやります
尚、門番キャラをイベントにて設置する際に「有効条件(スクリプト)」欄には
!( 2<=getVariable("話し回数") )
とすると良いかと。
半角で!を付けると意味が反転します。「2以上ではない」には、変数"話し回数"の中身が入ってない場合も含まれるので、これで大丈夫でしょう
   mini 19920613(投稿日:2012/04/11 23:41, 履歴)
ありがとうございます!
解りやすくて参考になります^^