SM Event を使ったRepeatQuestの作り方
今回は、あくまで一つの繰り返しクエをSM Event Nodeを使った方法で走らせる際のTips的なご紹介をします。
1.まずQuestを作る
ID:自分のわかりやすいIDで。
QuestName:自分のわかりやすい名前で。
Priority:優先度ですね。
Event:今回は例としてChangeLocationEventを使います。
StartGameEnable:Eventを使うとチェックできなくなります。※
AllowRepeatedStage:繰り返しクエなのでチェックを入れます。
Type:Objectiveをジャーナルなどに表示させたいならMiscellaneousがオススメです。
QuestName:自分のわかりやすい名前で。
Priority:優先度ですね。
Event:今回は例としてChangeLocationEventを使います。
StartGameEnable:Eventを使うとチェックできなくなります。※
AllowRepeatedStage:繰り返しクエなのでチェックを入れます。
Type:Objectiveをジャーナルなどに表示させたいならMiscellaneousがオススメです。
※SM Eventを使ったクエストの場合、該当Eventが起きたとき、まず登録してあるQuestのAliasを埋めに行きます。
※Aliasが埋まった場合、初めてQuestがStartします。Startするとき特に指定が無ければ、最初のStageから始まります。
※一度QuestがStartすると、StopするまでQuestは走り続けます。
※Aliasが埋まった場合、初めてQuestがStartします。Startするとき特に指定が無ければ、最初のStageから始まります。
※一度QuestがStartすると、StopするまでQuestは走り続けます。
2.SM Event Nodeに登録
今回はChangeLocationEventを使うので、その部分をWクリック。
新しいQuestNodeを作成します。
- StackedEventNode:ChangeLocationEventを右クリック>NewQuestNodeをクリック。
ID:自分にわかりやすいIDで。
Random/Stacked:今回は一つのQuestなのでStackedにチェックします。
SharesEvent:SM Eventを使う場合、大抵の場合これにチェックを入れるといいと思います。(SM Eventを階層のどこまで走らせるか制御するための物です。)
NodeConditions:ここにConditionを設定すればその条件がそろったときだけ、QuestNodeが走ります。
Random/Stacked:今回は一つのQuestなのでStackedにチェックします。
SharesEvent:SM Eventを使う場合、大抵の場合これにチェックを入れるといいと思います。(SM Eventを階層のどこまで走らせるか制御するための物です。)
NodeConditions:ここにConditionを設定すればその条件がそろったときだけ、QuestNodeが走ります。
QuestNodeができたら右クリック→Add Quest で先ほど作ったQuestを登録しましょう。
これで準備は完了です。
これで準備は完了です。
3.Aliasの設定
今回はLocationChangeを使っていますので、その情報をAliasに登録すると、Locationに関した情報を使いやすいでしょう。
上図のようにFindMatchingLocation>FromEventから簡単に情報登録できます。(LocationAliasなのに注意!)
NewLocation:Playerが入ったLocation。
OldLocation:Playerが元居たLocation。
NewLocation:Playerが入ったLocation。
OldLocation:Playerが元居たLocation。
他のReferenceAliasに対しては、上図のようなConditionを入れてあげれば、該当LocationAliasに存在するReferenceに絞り込みやすいです。
4.QuestのReset or 再稼動
QuestStagesは普通に作ってかまいませんが、CompleteQuest、FailQuestのチェックは付けてはいけません。
(これらの状態は、クエスト完了、クエスト失敗という状態にいるだけで、クエストは走っています。繰り返しクエストの場合は使えません。)
(これらの状態は、クエスト完了、クエスト失敗という状態にいるだけで、クエストは走っています。繰り返しクエストの場合は使えません。)
SM Event を使う場合、QuestをStopさせてあげれば、QuestはResetされます。
なので、クエストを完了させた時、もしくはQuestをResetさせたい時に、QuestをStopするだけでいいです。(StopのFunctionです。)
注意点としては、Objectを表示させている場合、Stopする直前にObjectも確実に非表示にする事です。(SetObjectDisplayed(xx, False))
これをしないと、Objectだけどんどん溜まってしまう場合があります。
なので、クエストを完了させた時、もしくはQuestをResetさせたい時に、QuestをStopするだけでいいです。(StopのFunctionです。)
注意点としては、Objectを表示させている場合、Stopする直前にObjectも確実に非表示にする事です。(SetObjectDisplayed(xx, False))
これをしないと、Objectだけどんどん溜まってしまう場合があります。
その他のQuest部分については特に普通に作っていいでしょう。
以上簡単なSM Eventの紹介でした。