スプリクト/会話

最終投稿者:    mini suzune555 更新:2010/09/23 11:12:17
会話イベントで、x回目に話しかけるとイベントが変わるスプリクトは次のようにします
 
if !getFlag("初期化したかどうか")
 setFlag("初期化したかどうか", true)
 setVariable("話しかけた回数", 0)
end

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

if getVariable("話しかけた回数") >= x
  speak("イベント後")
else
  speak("イベント前")
end


「x」と書いてある場所を変更すれば、話しかけた回数が変わります

例 5回話しかけるとき
   if getVariable("話しかけた回数") >= x
                       ↑ここに数字を入れます
使い方を変えればこういうこともできます
  • speak("イベント前")を別の関数にする。giveItem(15)
この場合、giveItem(15)を3回実行すると代わります

コメントする

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

コメント一覧

User icon mini 退会したユーザー(投稿日:2009/11/21 09:32, 履歴)
修正ありがとうございます

Zararu128x128 mini dycoon(投稿日:2009/11/19 21:36, 履歴)
このスクリプトの例だと、"話しかけた回数"がx回になったところで
"イベント後"が実行されますが、そのあとは"イベント前"が実行されます。
以下のように書いたほうがよいかもしれません。
if getVariable("話しかけた回数") >= x


一応、ご注意ください。
User icon mini 退会したユーザー(投稿日:2009/11/19 19:35, 履歴)
一応、例として挙げたので、変えることも可能です。
      mini shirosaboten(投稿日:2009/11/19 17:44, 履歴)
例のところの続きで
if getVariable("話しかけた回数")==5
speak("イベント後")
else
giveItem(15)
end
だと思ってました^^;了解です。ありがとうございます

User icon mini 退会したユーザー(投稿日:2009/11/19 12:24, 履歴)
この場合、イベント前、つまり、
if getVariable("話しかけた回数") == x
「x」の値にたどり着くまで、giveItem(15)を実行できるということです。
「x」の値を超すと、speak("イベント後")が実行されgiveItem(15)が起こらなくなります
わかりにくくてすみません
      mini shirosaboten(投稿日:2009/11/19 08:30, 履歴)
すみません、giveItem(15)を5回、ですよね?スクリプトに詳しくないので良く分かりませんが。