スクリプトを書く(3)

◆ 複数のイベントをつなげる

大きな物語を描きたい場合、導入・本編・結末、というように、 いくつかのイベントに分けて作成することもできます。

2回目以降のイベントの発生条件に、 イベントが発生済みかどうかを加えます。
下記の書式を使います。


発生条件:{
	調査:(イベント::○○○○)==(発生済み)
}


◎「○○○○」にイベント名(イベント識別子)を入れます。
◎「発生済み」を「未発生」にすると、発生していないことを条件にできます。

例:秀吉とまつが町で出会う

太閤立志伝5イベントソース
//★秀吉とまつ
//秀吉とまつ01清洲で会う
//秀吉とまつ02京で会う

チャプター:{
	イベント:秀吉とまつ01清洲で会う
		属性:一度だけ|ひかえめ
		発生契機:拠点内画面表示後(清洲の町)
		発生条件:{
			調査:(人物::主人公)==(人物::豊臣秀吉)
		}
		スクリプト:{
			会話:(まつ,豊臣秀吉)[[あ、(主人公.姓)さま!]]
			会話:(豊臣秀吉,まつ)[[これはまつ殿、奇遇じゃのう]]
			会話:(まつ,豊臣秀吉)[[お仕事中ですか?]]
			会話:(豊臣秀吉,まつ)[[まあ、そんなところじゃ]]
			会話:(まつ,豊臣秀吉)[[頑張ってくださいな]]
			会話:(豊臣秀吉,まつ)[[まつ殿も、道中気をつけて]]
		}
	}

	イベント:秀吉とまつ02京で会う
		属性:一度だけ|ひかえめ
		発生契機:拠点内画面表示後(京の町)
		発生条件:{
			調査:(イベント::秀吉とまつ01清洲で会う)==(発生済み)
		}
		スクリプト:{
			会話:(まつ,豊臣秀吉)[[あら? (主人公.姓)さま]]
			会話:(豊臣秀吉,まつ)[[これはまつ殿、また会いましたな]]
			会話:(まつ,豊臣秀吉)[[またお仕事中ですか?]]
			会話:(豊臣秀吉,まつ)[[うむ、そんなところじゃ]]
			会話:(まつ,豊臣秀吉)[[頑張ってくださいな]]
			会話:(豊臣秀吉,まつ)[[まつ殿も、道中気をつけて]]
		}
	}
}

◎ 最初に全てのイベント名をコメントで書いておくと、整理しやすくなります。

◆ イベントフラグを使う

「イベントフラグ」を使うと、イベント中の ユーザーの行動や選択を記憶させることができます。 「イベントフラグ」は好きな名前を付けられます。
ただし記憶できるのは「成立」「不成立」の2つだけです。


	更新:(イベントフラグ::○○○○)(成立)


◎ 「○○○○」に、好きな言葉を入れます。
◎ イベントフラグに行動を記憶させるには、「更新」を使います。
◎ あとでイベントフラグを調べるには、下記のように「調査」を使います。


	調査:(イベントフラグ::○○○○)==(成立)


◎ 上記の書式を、発生条件に入れたり、「分岐」で使ったりします。

例:秀吉、まつに団子をおごる?

太閤立志伝5イベントソース
//★秀吉とまつ
//秀吉とまつ01清洲で会う
//秀吉とまつ02自宅に帰る

チャプター:{
	イベント:秀吉とまつ01清洲で会う
		属性:一度だけ|ひかえめ
		発生契機:拠点内画面表示後(清洲の町)
		発生条件:{
			調査:(人物::主人公)==(人物::豊臣秀吉)
			調査:(人物::主人公.奥さん)==(人物::ねね)
		}
		スクリプト:{
			会話:(まつ,豊臣秀吉)[[あ、(主人公.姓)さま!]]
			会話:(豊臣秀吉,まつ)[[これはまつ殿、奇遇じゃのう]]
			ひとりごと選択:[[茶店にでも誘ってみるか…?]]
			選択:([[茶店に誘う]][[このまま別れる]])
			分岐:([[茶店に誘う]]){
				会話:(豊臣秀吉,まつ)[[茶店で団子でもご馳走しよう]]
				会話:(まつ,豊臣秀吉)[[あら、うれしい]]
				ナレーション:[[団子を食べて、まつと別れた]]
				更新:(イベントフラグ::まつにおごる)(成立)
				//まつを誘うと「まつにおごる」フラグが成立
			}
			分岐:([[このまま別れる]]){
				会話:(豊臣秀吉,まつ)[[では、道中気をつけて]]
				会話:(まつ,豊臣秀吉)[[はい、それでは…]]
			}
		}
	}

	イベント:秀吉とまつ02自宅に帰る
		属性:一度だけ|ひかえめ
		発生契機:室内画面表示後(無効,自宅)
		発生条件:{
			調査:(イベント::秀吉とまつ01清洲で会う)==(発生済み)
		}
		スクリプト:{
			会話:(豊臣秀吉,ねね)[[帰ったぞー]]
			会話:(ねね,豊臣秀吉)[[お帰りなさいませ]]
			調査:(イベントフラグ::まつにおごる)==(成立)
			分岐:(真){
				//「まつにおごる」フラグが成立した場合
				会話:(ねね,豊臣秀吉)[[あら? 香のにおい…]]
				会話:(豊臣秀吉,ねね)[[香じゃと?]]
				会話:(ねね,豊臣秀吉)[[{二人称}、どこかで女子に会ってきましたね?]]
				会話:(豊臣秀吉,ねね)[[な、誤解じゃ!]]
			}
			分岐:(偽){
				//「まつにおごる」フラグが成立していない場合
				会話:(ねね,豊臣秀吉)[[清洲の町でまつ殿と\nお会いになったそうですね]]
				会話:(豊臣秀吉,ねね)[[ああ、よく知っておるな]]
				会話:(ねね,豊臣秀吉)[[{二人称}のことなら\n何でも知っていますよ]]
				会話:(豊臣秀吉,ねね)[[こ、怖いのう…]]
			}
		}
	}
}

◎ 上記の例では、秀吉がまつにおごったかどうかをフラグにしています。
◎ フラグが成立していると、ねねに怒られます。


表紙に戻るスクリプトを書く(4)コンバートする