会話(質問掲示板

投稿: Aaaaaaa mini sakatagin 投稿:2009/10/05 14:01:05(最新:2009/10/05 21:07:05)
例えば配置したキャラクターと、初めに会話をすると、
(ドラゴンをたおしてください。)としていて、
二回目以降に会話をすると、
(任せましたぞ。)と、二回目以降に会話の内容を変えるには、どうしたらいいのですか?

コメントする

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

コメント一覧

User icon mini 退会したユーザー(投稿日:2009/10/05 21:07, 履歴)
ありがとうございます
Zararu128x128 mini dycoon(投稿日:2009/10/05 20:54, 履歴)
すみません、はみ出してしまいましたのでもう一度書きます。

setVariable, getVariableなどを使うのがよいかと思います。
たとえば3回目で話す内容が変わる場合です。

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

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

if getVariable("話しかけた回数") == 3
  speak("おお、ようやく聞こえた。")
else
  speak("すまんがもう一度頼む。")
end


getVariableを使うためには、それより前にsetVariableを呼んで値が
設定されている必要があるため、"初期化したかどうか"フラグが
設定されていない場合は"話しかけた回数"を0で初期化しています。
その後
setVariable("話しかけた回数", 
    getVariable("話しかけた回数") + 1)

で話しかけた回数を増やしています。
最後に話しかけた回数が3になったかどうかで
話す内容を変えています。

よろしくお願いします。

Zararu128x128 mini dycoon(投稿日:2009/10/05 20:53, 履歴)
setVariable, getVariableなどを使うのがよいかと思います。
たとえば3回目で話す内容が変わる場合です。

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

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

if getVariable("話しかけた回数") == 3
  speak("おお、ようやく聞こえた。")
else
  speak("すまんがもう一度頼む。")
end


getVariableを使うためには、それより前にsetVariableを呼んで値が
設定されている必要があるため、"初期化したかどうか"フラグが
設定されていない場合は"話しかけた回数"を0で初期化しています。
その後
setVariable("話しかけた回数", getVariable("話しかけた回数") + 1)

で話しかけた回数を増やしています。
最後に話しかけた回数が3になったかどうかで
話す内容を変えています。

よろしくお願いします。

User icon mini 退会したユーザー(投稿日:2009/10/05 18:35, 履歴)
横からすみません
10回目に話しかけると会話が変わるという感じのイベントは作れますか?
Aaaaaaa mini sakatagin(投稿日:2009/10/05 15:06, 履歴)
ありがとうございます!
User icon mini rmake(投稿日:2009/10/05 14:55, 履歴)
Rmakeの使用ありがとうございます。

たとえばこんな感じに書くことで実現できるかと思います。

if getFlag("依頼をした")
  speak("任せました。")

else
  speak("ドラゴン退治をお願いします。\n")
  setFlag("依頼をした", true)

end


getFlagはキー(ここでは"依頼をした")に対応したフラグの値を取得します。setFlagではキーに対応したフラグの値を設定します。
setFlagが呼ばれる前l、getFlagはfalseを返すため、
else以降が実行されます。
else以降ではsetFlagでtrueを指定しているため
if getFlag("依頼をした") から else までの間を
実行します。

よろしくお願いします。