太閤立志伝5イベントソース //イベント名「百花繚乱絡繰扉」 //作者名 わたわた //ver1.00 2009-12-02 公開。 //月の下旬に武士の奥さんを訪れると20パーセントの確率で発生。 //姫を登場させての「コードブレイカー」か「記憶力ゲーム」で遊ぶことができます(1回につき10ゲームまで)。 //概要と使用変数などは末尾に。 チャプター:{ イベント:百花繚乱絡繰扉{ 属性:何度でも|ひかえめ 発生契機:室内画面表示後(無効,無効) 発生条件:{ 代入人物B:(MP主人) //旦那 調査:(人物::人物B)!=(人物::主人公) //自宅を除く 調査:(人物::人物B.所属勢力タイプ)==(大名家) //武士 調査:(人物::人物B.奥さん)!=(無効) //奥さんがいる 調査:(発生施設)!=(評定の間) //評定を避ける 調査:(状況::日)>(20) //下旬 調査:(Rnd100)<(20) //20パーセント } スクリプト:{ //導入部START 代入人物A:(人物::人物B.奥さん) 会話:(人物A,主人公)[[あぁ、忙しい、忙しい……]] 調査:(イベントフラグ::百花繚乱絡繰扉−承前)!=(成立) 分岐:(真){//説明を聞いていない 会話:(人物A,主人公)[[まったく……どうしてこう\n{人物B.名前}は使いもしない物をあれこれ\n買い込んでくるのでございましょう]] 会話:(人物A,主人公)[[あまり価値の高くない物は、そのうち\n売ってしまうといたしましょう]] 会話:(主人公,人物A)[[(身につまされるな……)]] 会話:(人物A,主人公)[[あら、失礼……\nお客さまでございましたか]] 会話:(主人公,人物A)[[何なら、今ここで{一人称}が、不要な物を\n買い取りたいと思うの{だ}が\nいかが{であろう}か]] 会話:(主人公,人物A)[[多少は安くして{もらう}が、わざわざ\n商人を呼んだり町へ売りに行ったり\nするのも面倒{であろう}]] 会話:(人物A,主人公)[[そうでございますね……\n{一人称}はそれでも\nよろしいのでございますが……]] 会話:(人物A,主人公)[[{一人称}、片付けにも飽きてきたところで\n少し気分転換でもいたしたく……]] 会話:(人物A,主人公)[[{一人称}がお出しする問題にお答えいただき\n成績に応じて賞品をお渡しするという\nお遊びはいかがでございましょう]] 会話:(人物A,主人公)[[その際に少しずつ遊戯料を頂いて\nそちらをお渡しする品の代金と\nいうことにするのでございます]] 会話:(主人公,人物A)[[なるほど、それは面白そう{だ}]] 会話:(主人公,人物A)[[しかし、{一人称}が良い成果を出し続けると\n{二人称}が少々困ることになるのでは?]] 会話:(人物A,主人公)[[なかなかおっしゃいますね……\nですが逆に、遊戯料を取られ続けるだけに\nなるかもしれませんよ? うふふ]] 更新:(イベントフラグ::百花繚乱絡繰扉−承前)(成立) } 分岐:(偽){//説明を聞いた 会話:(人物A,主人公)[[あら、こんにちは]] 会話:(人物A,主人公)[[よろしかったら、少し貴重品整理の\nお手伝いをしていただけませんか]] 会話:(人物A,主人公)[[価値3や4の品がお得に\n獲得できるかもしれませんよ?]] 会話:(主人公,人物A)[[それでは稼がせていただくと{しよう}]] 会話:(人物A,主人公)[[うふふ、頑張ってくださいませ]] } //導入部END 会話選択:(人物A,主人公)[[どの遊戯でお遊びになりますか?]] 選択:([[やめる]][[姫看破]][[姫記憶]]) 分岐:([[やめる]]){ 会話:(人物A,主人公)[[あら、おやめになるのですか?]] 会話:(人物A,主人公)[[それでは、また次の機会に\nよろしくお願いいたしますね]] } 分岐:([[姫看破]]){//コードブレイカー //前説START 会話:(人物A,主人公)[[『姫看破』でございますね]] 会話可否選択:(人物A,主人公)[[遊戯内容のご説明をいたしましょうか?]] 分岐:(可){ 会話:(主人公,人物A)[[よろしくお願い{いたす}]] 会話:(人物A,主人公)[[それではご説明いたします]] 会話:(人物A,主人公)[[こちらに当家の五人の姫がおります]] SEスタート:(鼓の音) 会話:(菊姫,人物A)[[菊でございます]] SEスタート:(鼓の音) 会話:(愛姫,人物A)[[愛でございます]] SEスタート:(鼓の音) 会話:(義姫,人物A)[[義でございます]] SEスタート:(鼓の音) 会話:(豪姫,人物A)[[豪でございます]] SEスタート:(鼓の音) 会話:(初姫,人物A)[[初でございます]] 会話:(主人公,人物A)[[ここにいるはずのない姫ばかりのような\n気がするの{だ}が……]] 会話:(人物A,主人公)[[いえいえ、みな当家の姫でございますよ]] 会話:(人物A,主人公)[[他人の空似はわりにあることでございます]] 会話選択:(主人公,人物A)[[いや、しかし、名前まで……]] ウェイト:(0.4) 会話:(人物A,主人公)[[さて、このうちお三方が\n『1の扉』『2の扉』『3の扉』に\n隠れますので]] 会話:(主人公,人物A)[[……………………]] 会話:(人物A,主人公)[[{二人称}は隠れていると思われる姫を\n順にお選びください\n{一人称}が正解か否を判定いたします]] 会話:(人物A,主人公)[[初回は手がかりがございませんので\n勘で答えていただくことになりますが\n以降は手がかりをお伝えいたします]] 会話:(人物A,主人公)[[姫も扉も正解ならば『当たり』\n姫がいて、扉が違うなら『かすり』\nと、お答えいたします……例えば]] 会話:(人物A,主人公)[[解答が『菊姫』『愛姫』『義姫』の順で\n正解が『菊姫』『義姫』『豪姫』ならば\n菊姫で1当たり、義姫で1かすり、です]] 会話:(主人公,人物A)[[なるほど]] 会話:(人物A,主人公)[[2回目以降はそれまでの選択と結果も\n表示いたしますのでご参考までに]] 会話:(人物A,主人公)[[例えば、先ほどの結果は\n『1菊義豪…◎1○1』\nと表示いたします]] 会話:(人物A,主人公)[[『1菊義豪…◎1○1』の先頭は挑戦回数\n菊義豪は菊姫、義姫、豪姫の略\n◎は当たり数、○はかすり数を表します]] 会話:(人物A,主人公)[[つまり『1初菊愛…◎1○2』なら\n初姫、菊姫、愛姫と答えて\n当たり1、かすり2、ということになります]] 会話:(人物A,主人公)[[内容の説明は以上でございます]] } 分岐:(否){ 会話:(人物A,主人公)[[内容の説明はよろしいのですね]] } 会話可否選択:(人物A,主人公)[[賞品についてご説明をいたしましょうか?]] 分岐:(可){ 会話:(人物A,主人公)[[先に申し上げたとおり、まずは遊戯代\n……というより代金でございますが\n5貫を頂きます]] 会話:(人物A,主人公)[[最大で5回挑戦していただいて\n早く正解なさいますほど\n価値の高い賞品をお渡しいたします]] 会話:(人物A,主人公)[[見事1回目で正解なさいましたら\n『価値4の貴重品』を差し上げます]] 会話:(人物A,主人公)[[2回目で正解なら『価値3の貴重品』\n3回目で正解なら『価値2の貴重品』\n4回目で正解なら『価値1の貴重品』]] 会話:(人物A,主人公)[[そして最後、5回目で正解の場合には\nはじめの5貫をお返しいたします]] 会話:(人物A,主人公)[[ただし、残念ながら5回挑戦しても\n正解されなかった場合は失敗と\nさせていただき……]] 会話:(人物A,主人公)[[はじめの5貫も没収とさせていただきます\n大抵は大丈夫でございましょうが……]] 会話:(人物A,主人公)[[なお、お渡しするはずの品をすでに\n上限までお持ちの場合も5貫、元返しと\nさせていただきます、ご注意を]] 会話:(人物A,主人公)[[賞品の説明は以上でございます]] } 分岐:(否){ 会話:(人物A,主人公)[[賞品の説明はよろしいのでございますね]] } //前説END 代入g:(10) //全体の挑戦回数 //所持金チェック 条件ブロック:(人物::主人公.所持金)<(5){//5貫ない 会話:(主人公,人物A)[[({おや}、今は持ち合わせが……)]] 会話:(人物A,主人公)[[どうかなさいましたか?]] 会話:(主人公,人物A)[[{すまん}、やはりまたの機会に……]] 会話:(人物A,主人公)[[あら、そうでございますか]] 会話:(人物A,主人公)[[では、またいらしてください]] 代入g:(0) //終了 } ループ:{//複数回挑戦ループSTART 調査:(g)<=(0) ブロック脱出:(真) 会話:(人物A,主人公)[[それでは始めるといたします]] BGM変更:(ミニゲーム) 会話:(人物A,主人公)[[まず5貫をいただきます]] SEスタート:(コイン) 所持金変更:(-5) //変数不可 //ゲーム個別の設定 代入l:(0) //正解一人目(人物番号) 代入m:(0) //正解二人目(同上) 代入n:(0) //正解三人目(同上) 代入x:(0) //解答一人目(人物番号) 代入y:(0) //解答二人目(同上) 代入z:(0) //解答三人目(同上) 代入h:(0) //ヒット(0〜3) 代入o:(0) //ブロー(0〜3) 代入k:(0) //正解設定時の乱数(0〜4) 代入u:(0) //賞品アイテムの個数管理 代入s:(1) //解答した回数(1〜5) 代入r:(0) //解答選択中フラグ(0、1) 代入t:(1) //結果表示時の扉(1〜3) 代入i:(1) //結果確認時、解答の扉(1〜3) 代入j:(1) //結果確認時、正解の扉(1〜3) 代入p:(0) //結果確認時、解答の姫(人物番号) 代入q:(0) //結果確認時、正解の姫(同上) //以下の初期値は正解設定時用、人物Aは出題者(会話の相手)のため使わない 代入人物B:(人物::愛姫) //結果表示時、人物の判定にも使用 代入人物C:(人物::義姫) //終了時、正解一人目の表示にも使用 代入人物D:(人物::豪姫) //終了時、正解二人目の表示にも使用 代入人物E:(人物::初姫) //終了時、正解三人目の表示にも使用 文字列設定:(文字列A)[[]] //プレイヤーの解答を表示 文字列設定:(文字列B)[[]] //これまでの結果(手がかり)を表示 代入アイテムA:(アイテム::無効) //賞品 //正解設定START //5人の中から「1の扉」へ 代入k:(Rnd)%(5) 条件ブロック:(k)==(0){ 代入l:(人物::菊姫.人物番号) } 条件ブロック:(k)==(1){ 代入l:(人物::愛姫.人物番号) 代入人物B:(人物::菊姫) } 条件ブロック:(k)==(2){ 代入l:(人物::義姫.人物番号) 代入人物B:(人物::菊姫) 代入人物C:(人物::愛姫) } 条件ブロック:(k)==(3){ 代入l:(人物::豪姫.人物番号) 代入人物B:(人物::菊姫) 代入人物C:(人物::愛姫) 代入人物D:(人物::義姫) } 条件ブロック:(k)==(4){ 代入l:(人物::初姫.人物番号) 代入人物B:(人物::菊姫) 代入人物C:(人物::愛姫) 代入人物D:(人物::義姫) 代入人物E:(人物::豪姫) } //4人(人物Bから人物E)の中から「2の扉」へ 代入k:(Rnd)%(4) 条件ブロック:(k)==(0){ 代入m:(人物::人物B.人物番号) } 条件ブロック:(k)==(1){ 代入m:(人物::人物C.人物番号) 代入人物C:(人物::人物B) } 条件ブロック:(k)==(2){ 代入m:(人物::人物D.人物番号) 代入人物D:(人物::人物C) 代入人物C:(人物::人物B) } 条件ブロック:(k)==(3){ 代入m:(人物::人物E.人物番号) 代入人物E:(人物::人物D) 代入人物D:(人物::人物C) 代入人物C:(人物::人物B) } //3人(人物Cから人物E)の中から「3の扉」へ 代入k:(Rnd)%(3) 条件ブロック:(k)==(0){ 代入n:(人物::人物C.人物番号) } 条件ブロック:(k)==(1){ 代入n:(人物::人物D.人物番号) } 条件ブロック:(k)==(2){ 代入n:(人物::人物E.人物番号) } //正解設定END ループ:{//挑戦ループSTART //正解するか5回目が終わった時点で脱出 調査:(s)>(5) ブロック脱出:(真) 代入r:(0) //解答選択を終了する場合は1に ループ:{//解答選択ループSTART //3人選んで確定で脱出、選び直しも可能 調査:(r)!=(0) ブロック脱出:(真) //正解設定時に使用したため初期化 代入人物B:(人物::愛姫) 代入人物C:(人物::義姫) 代入人物D:(人物::豪姫) 代入人物E:(人物::初姫) 会話選択:(人物A,主人公)[[1の扉を選んでください\n<文字列B>]] 選択:([[菊姫]][[愛姫]][[義姫]][[豪姫]][[初姫]]) 分岐:([[菊姫]]){ 代入x:(人物::菊姫.人物番号) 文字列設定:(文字列A)[[1菊姫]] } 分岐:([[愛姫]]){ 代入x:(人物::愛姫.人物番号) 代入人物B:(人物::菊姫) 文字列設定:(文字列A)[[1愛姫]] } 分岐:([[義姫]]){ 代入x:(人物::義姫.人物番号) 代入人物B:(人物::菊姫) 代入人物C:(人物::愛姫) 文字列設定:(文字列A)[[1義姫]] } 分岐:([[豪姫]]){ 代入x:(人物::豪姫.人物番号) 代入人物B:(人物::菊姫) 代入人物C:(人物::愛姫) 代入人物D:(人物::義姫) 文字列設定:(文字列A)[[1豪姫]] } 分岐:([[初姫]]){ 代入x:(人物::初姫.人物番号) 代入人物B:(人物::菊姫) 代入人物C:(人物::愛姫) 代入人物D:(人物::義姫) 代入人物E:(人物::豪姫) 文字列設定:(文字列A)[[1初姫]] } 会話選択:(人物A,主人公)[[<文字列A>、続いて2の扉です\n<文字列B>]] 選択:([[(人物B)]][[(人物C)]][[(人物D)]][[(人物E)]]) 分岐:([[(人物B)]]){ 文字列設定:(文字列A)[[<文字列A>、2(人物B)]] 代入y:(人物::人物B.人物番号) } 分岐:([[(人物C)]]){ 文字列設定:(文字列A)[[<文字列A>、2(人物C)]] 代入y:(人物::人物C.人物番号) 代入人物C:(人物::人物B) } 分岐:([[(人物D)]]){ 文字列設定:(文字列A)[[<文字列A>、2(人物D)]] 代入y:(人物::人物D.人物番号) 代入人物D:(人物::人物C) 代入人物C:(人物::人物B) } 分岐:([[(人物E)]]){ 文字列設定:(文字列A)[[<文字列A>、2(人物E)]] 代入y:(人物::人物E.人物番号) 代入人物E:(人物::人物D) 代入人物D:(人物::人物C) 代入人物C:(人物::人物B) } 会話選択:(人物A,主人公)[[<文字列A>、そして3の扉は?\n<文字列B>]] 選択:([[(人物C)]][[(人物D)]][[(人物E)]]) 分岐:([[(人物C)]]){ 文字列設定:(文字列A)[[<文字列A>、3(人物C)]] 代入z:(人物::人物C.人物番号) } 分岐:([[(人物D)]]){ 文字列設定:(文字列A)[[<文字列A>、3(人物D)]] 代入z:(人物::人物D.人物番号) } 分岐:([[(人物E)]]){ 文字列設定:(文字列A)[[<文字列A>、3(人物E)]] 代入z:(人物::人物E.人物番号) } 会話可否選択:(人物A,主人公)[[<文字列A>でよろしいですか?\n<文字列B>]] 分岐:(可){ SEスタート:(画面転換音) 会話:(人物A,主人公)[[<文字列A>\nそれでは、このお答えで確認いたします]] 会話:(人物A,主人公)[[<文字列A>\nそれでは、このお答えで確認いたします\nさて、結果は…………]] 代入r:(1) //脱出 } 分岐:(否){ 会話:(人物A,主人公)[[それでは、選びなおしてください]] } }//解答選択ループEND //結果確認ループSTART 代入h:(0) //当たり 代入o:(0) //かすり 代入i:(1) 条件ループ:(i)<=(3){//x,y,zを順次代入 条件ブロック:(i)==(1){//1の扉(解答) 代入p:(x) } 条件ブロック:(i)==(2){//2の扉(解答) 代入p:(y) } 条件ブロック:(i)==(3){//3の扉(解答) 代入p:(z) } 代入j:(1) 条件ループ:(j)<=(3){//l,m,nを順次代入 条件ブロック:(j)==(1){//1の扉(正解) 代入q:(l) } 条件ブロック:(j)==(2){//2の扉(正解) 代入q:(m) } 条件ブロック:(j)==(3){//3の扉(正解) 代入q:(n) } //以下結果確認メイン 条件ブロック:(p)==(q){//pとqが同じなら 調査:(i)==(j) //扉を比較 分岐:(真){//扉も同じなら当たり 代入h:(h)+(1) } 分岐:(偽){//扉が違うならかすり 代入o:(o)+(1) } } 代入j:(j)+(1) } 代入i:(i)+(1) } //結果確認ループEND //結果表示部START //正解するか5回失敗で抜ける 調査:(h)>=(3) //当たりが3以上 分岐:(真){//賞品を授与して次へ、失敗の場合は偽で処理 SEスタート:(コンボ札獲得音) 会話:(人物A,主人公)[[すべての扉を正解なされました\nおめでとうございます!]] ブロック開始:{ 条件ブロック:(s)==(5){//5回目、賞品はなし 会話:(人物A,主人公)[[<s>回目で的中です\n危ないところでございましたね]] 会話:(人物A,主人公)[[それでははじめの5貫をお返しいたします]] SEスタート:(コイン) 会話:(人物A,主人公)[[次は貴重品を目指して頑張ってくださいませ]] 所持金変更:(5) } 調査:(s)==(5) ブロック脱出:(真) 会話:(人物A,主人公)[[それでは回数に応じた賞品を\nお渡しいたします]] //4回以下はまとめて処理 代入u:(5)-(s) //1回目なら価値4、4回目なら価値1 SEスタート:(成功音) コンテナ設定:(アイテム,無効,無効) コンテナソート:(アイテム,アイテム番号,昇順) コンテナ選抜:(残す,300) //自作アイテムを除外 コンテナ絞り込み:(アイテム,価値,u) //賞品候補 コンテナ除外:(アイテム,アイテムタイプ,酒) //酒を除外 コンテナ除外:(アイテム,アイテムタイプ,薬) //薬を除外 コンテナ除外:(アイテム,所有個数,99) //99個所持アイテムを除外 コンテナソート:(無効,シャッフル,昇順) コンテナ選択:(アイテムA,先頭) 分岐:(真){ 条件ブロック:(s)==(1){ SEスタート:(賭場スペシャルB) 会話:(人物A,主人公)[[何と、<s>回目で的中でございます!]] } 条件ブロック:(s)==(2){ SEスタート:(鼓の音) 会話:(人物A,主人公)[[<s>回目で的中です\n素晴らしい結果でございますね]] } 条件ブロック:(s)==(3){ SEスタート:(鼓の音) 会話:(人物A,主人公)[[<s>回目で的中でした\nなかなかの結果でございますよ]] } 条件ブロック:(s)==(4){ SEスタート:(鼓の音) 会話:(人物A,主人公)[[<s>回目で的中でございます\n通常はこのくらいでございましょうか]] } 会話:(人物A,主人公)[[それでは、価値<u>の貴重品の中から\n<アイテムA>でございます]] 代入u:(アイテム::アイテムA.所有個数)+(1) //価値から個数に 更新:(アイテム::アイテムA.所有個数)(u) スチル表示:(アイテム,アイテムA,無効,無効,フェード) 調査:(s)<=(2) 分岐:(真){//2回目まで 会話:(人物A,主人公)[[おめでとうございます!]] } 分岐:(偽){ 会話:(人物A,主人公)[[おめでとうございます]] } スチル消去:(フェード) } 分岐:(偽){//アイテムがいっぱい 会話:(人物A,主人公)[[あら、{二人称}も手持ちがいっぱいで\nございますね]] SEスタート:(コイン) 会話:(人物A,主人公)[[それでは最初にお預かりした5貫を\nお返しいたします]] 所持金変更:(5) 代入t:(0) //終了 } } 代入s:(5) //正解後は5回目とみなして終了 } 分岐:(偽){//4回目までは手がかり表示、5回目なら失敗 SEスタート:(バー上昇) 会話:(人物A,主人公)[[今回は当たりが<h>、かすりが<o>でした]] 調査:(s)<(5) //回数 分岐:(真){//4回目まではこれまでの結果表示 条件ブロック:(h)==(2){//当たり2 会話:(人物A,主人公)[[ああっ、惜しい!]] } 条件ブロック:(h)==(1){//当たり1で 調査:(o)==(2) 分岐:(真){//かすり2 会話:(人物A,主人公)[[あと少しでございますよ]] } 分岐:(偽){//かすり1以下 会話:(人物A,主人公)[[迷うところでございますね]] } } 条件ブロック:(h)==(0){//当たり0で 調査:(o)==(3) 分岐:(真){//かすり3 会話:(人物A,主人公)[[何とまあ……ですが\n後は扉を当てるだけでございますね]] } 分岐:(偽){//かすり2以下 会話:(人物A,主人公)[[まだ遠そうですね……]] } } 会話:(人物A,主人公)[[それでは、これまでの結果を表示します\nお考えが決まりましたら\n次へ進んでください]] //回数表示 条件ブロック:(s)==(1){//1回目 文字列設定:(文字列B)[[<s>]] } 条件ブロック:(s)==(2){//2回目は1回目の後に 文字列設定:(文字列B)[[<文字列B>、<s>]] } 条件ブロック:(s)==(3){//3回目は次の行に 文字列設定:(文字列B)[[<文字列B>\n<s>]] } 条件ブロック:(s)==(4){//4回目は3回目の後に 文字列設定:(文字列B)[[<文字列B>、<s>]] } 代入t:(1) //tは扉 条件ループ:(t)<=(3){//結果表示ループ 条件ブロック:(t)==(1){//1の扉 代入人物B:(0)+(x) } 条件ブロック:(t)==(2){//2の扉 代入人物B:(0)+(y) } 条件ブロック:(t)==(3){//3の扉 代入人物B:(0)+(z) } //型をそろえるため人物Bを使用 条件ブロック:(人物::人物B)==(人物::菊姫){ 文字列設定:(文字列B)[[<文字列B>菊]] } 条件ブロック:(人物::人物B)==(人物::愛姫){ 文字列設定:(文字列B)[[<文字列B>愛]] } 条件ブロック:(人物::人物B)==(人物::義姫){ 文字列設定:(文字列B)[[<文字列B>義]] } 条件ブロック:(人物::人物B)==(人物::豪姫){ 文字列設定:(文字列B)[[<文字列B>豪]] } 条件ブロック:(人物::人物B)==(人物::初姫){ 文字列設定:(文字列B)[[<文字列B>初]] } 代入t:(t)+(1) //次の扉 } //続いて当たりとかすりの追加 文字列設定:(文字列B)[[<文字列B>…◎<h>○<o>]] 会話:(人物A,主人公)[[なお、姫は菊愛義豪初の5人です\n<文字列B>]] } 分岐:(偽){//5回目なので終了 SEスタート:(残念な音) 会話:(人物A,主人公)[[あら、残念…………\n今回はここまでです]] 会話:(人物A,主人公)[[難しかったでございましょうか……\n次は頑張ってくださいませ]] } } //結果表示部END 代入s:(s)+(1) //解答回数加算 }//挑戦中ループEND BGM変更:(デフォルト) //正解姫登場 代入人物C:(0)+(l) 代入人物D:(0)+(m) 代入人物E:(0)+(n) 会話:(人物A,主人公)[[今回の正解は……]] SEスタート:(鼓の音) 変名会話:(人物C,人物A,[[]],[[(人物A)]])[[1の扉は<人物C>]] SEスタート:(鼓の音) 変名会話:(人物D,人物A,[[]],[[(人物A)]])[[2の扉は<人物D>]] SEスタート:(鼓の音) 変名会話:(人物E,人物A,[[]],[[(人物A)]])[[3の扉は<人物E>]] 会話:(人物A,主人公)[[……でした]] //以下はゲーム自体を終えるかどうか処理 代入g:(g)-(1) //残り回数マイナス1 調査:(g)>(0) 分岐:(真){//続ける? 会話可否選択:(人物A,主人公)[[まだ、お続けになりますか?]] 分岐:(可){ 会話:(人物A,主人公)[[心得ました、では……]] 条件ブロック:(人物::主人公.所持金)<(5){//持ち合わせがない 会話:(主人公,人物A)[[(しまった、もう持ち合わせが……)]] 会話:(主人公,人物A)[[{すまん}、やはりもうそろそろ……]] 会話:(人物A,主人公)[[あら、そうでございますか……]] 会話:(主人公,人物A)[[それでは、またそのうち……]] 会話:(人物A,主人公)[[はい、お疲れ様でした]] 代入g:(0) //終了 } } 分岐:(否){ 会話:(人物A,主人公)[[おやめになるのでございますね]] 会話:(人物A,主人公)[[お疲れ様でした\nそれでは、また……]] 代入g:(0) //残り回数0に } } 分岐:(偽){//規定回数終了 会話:(人物A,主人公)[[あら、もうこんな時間……]] 会話:(人物A,主人公)[[申しわけございませんが\n今回はこれまでということで……]] 会話:(主人公,人物A)[[{はい}、時のたつのは早いもの{だ}{な}]] 会話:(人物A,主人公)[[よろしかったら、またいらしてください]] 会話:(人物A,主人公)[[それでは、ごきげんよう……]] } }//複数回挑戦ループEND 外に出す: //遊んだ場合のみ外へ }//コードブレイカーEND 分岐:([[姫記憶]]){//記憶力ゲーム //前説START 会話:(人物A,主人公)[[『姫記憶』でございますね]] 会話可否選択:(人物A,主人公)[[遊戯内容のご説明をいたしましょうか?]] 分岐:(可){ 会話:(主人公,人物A)[[よろしくお願い{いたす}]] 会話:(人物A,主人公)[[それではご説明いたします]] 会話:(人物A,主人公)[[こちらはその名のとおり\n姫を記憶していただく遊戯です]] 会話:(人物A,主人公)[[『1の扉』から『10の扉』までが順番に\n開かれますので、そのわずかな間に\n彼女たちの名を覚えてください]] 会話:(人物A,主人公)[[その後、各扉につき五つの選択肢から\n順次選んでいただき\n正解数で賞品を決定いたします]] 会話:(人物A,主人公)[[どのような感じで出題されるか\nまずは実際にご覧いただきましょう]] 会話:(主人公,人物A)[[{はい}]] 会話:(人物A,主人公)[[始めますよ……]] コンテナ設定:(人物,性別,女) コンテナソート:(人物,人物番号,昇順) コンテナ検索:(人物,人物番号,1016) コンテナ選抜:(ポインタ,以上) コンテナ検索:(人物,人物番号,1045) コンテナ選抜:(ポインタ,以下) コンテナ除外:(人物,人物番号,1018) コンテナソート:(無効,シャッフル,昇順) //問題 コンテナ選抜:(残す,10) 代入a:(0) 条件ループ:(a)<(コンテナカウンタ){ 更新:(コンテナポインタ)(a) コンテナ選択:(人物B,ポインタ) 代入a:(a)+(1) SEスタート:(鼓の音) 会話選択:(人物B,人物A)[[<a>の扉、(人物B.名)でございます]] ウェイト:(0.1) } 会話:(主人公,人物A)[[ええええええええええええええええええええ]] 会話:(人物A,主人公)[[さあ、お答えください]] 会話:(主人公,人物A)[[……………………]] 会話:(人物A,主人公)[[あら、いい表情ですこと……\nまあ、今のは余興でございます]] 会話:(人物A,門番)[[{二人称名前}、今日も調子は\nよろしいようでございますね]] 会話:(門番,人物A)[[はっ、もちろん{だ}!\n扉の開閉ならこの天下一門番にお任せを!]] 会話:(主人公,人物A)[[(天下一門番……?)]] 会話:(人物A,主人公)[[本番はもう少し余裕がございますので\nご安心ください]] 会話:(主人公,人物A)[[しかし、他家の姫が大勢いたように\n見えるの{だ}が……]] 会話:(人物A,主人公)[[いえいえ、まごうことなき\n当家の姫でございますよ]] 会話:(人物A,主人公)[[ただ、顔と名前がよく似た方が\nいらっしゃるらしいとは聞いたことが……]] 会話:(主人公,人物A)[[いや、しかし……]] 会話:(人物A,主人公)[[ただ、顔と名前がよく似た方が]] 会話:(人物A,主人公)[[いらっしゃるらしいとは聞いたことが]] 会話:(主人公,人物A)[[…………………………]] 会話:(人物A,主人公)[[内容の説明は以上でございます]] } 分岐:(否){ 会話:(人物A,主人公)[[内容の説明はよろしいのですね]] } 会話可否選択:(人物A,主人公)[[賞品についてご説明をいたしましょうか?]] 分岐:(可){ 会話:(人物A,主人公)[[まずは遊戯代5貫を頂きます\nこちらは賞品のお代と考えていただければ]] 会話:(人物A,主人公)[[10人のうち、何人正解されたかで\n賞品の価値を決定いたします]] 会話:(人物A,主人公)[[ただし最低6人は正解して\nいただかなければなりません]] 会話:(人物A,主人公)[[正解人数がそれ以下ですと、5貫は\n没収とさせていただきます]] 会話:(主人公,人物A)[[それでも結構厳しい気がする{だ}が]] 会話:(人物A,主人公)[[まあ、慣れでございますよ、慣れで]] 会話:(人物A,主人公)[[正直なところを申しますと、記憶力よりも\nむしろ集中力の方が重要かもしれません]] 会話:(主人公,人物A)[[ふむ……]] 会話:(人物A,主人公)[[6人で元返しとなり、以降は正解が1人増えるごとに賞品の価値も1段階ずつ上がります]] 会話:(人物A,主人公)[[7人で『価値1の貴重品』\n8人で『価値2の貴重品』\n9人で『価値3の貴重品』]] 会話:(人物A,主人公)[[見事全員正解なさいますと\n『価値4の貴重品』でございます]] 会話:(人物A,主人公)[[なお、お渡しするはずの品をすでに\n上限までお持ちの場合も5貫、元返しと\nさせていただきます、ご注意を]] 会話:(人物A,主人公)[[賞品の説明は以上でございます]] } 分岐:(否){ 会話:(人物A,主人公)[[賞品の説明はよろしいのでございますね]] } //前説END 代入g:(10) //全体の挑戦回数 //所持金チェック 条件ブロック:(人物::主人公.所持金)<(5){//5貫ない 会話:(主人公,人物A)[[({おや}、今は持ち合わせが……)]] 会話:(人物A,主人公)[[どうかなさいましたか?]] 会話:(主人公,人物A)[[{すまん}、やはりまたの機会に……]] 会話:(人物A,主人公)[[あら、そうでございますか]] 会話:(人物A,主人公)[[では、またいらしてください]] 代入g:(0) //終了 } ループ:{//複数回挑戦ループSTART 調査:(g)<=(0) ブロック脱出:(真) 会話:(人物A,主人公)[[それでは始めるといたします]] BGM変更:(ミニゲーム) 会話:(人物A,主人公)[[まず5貫をいただきます]] SEスタート:(コイン) 所持金変更:(-5) //変数不可 //ゲーム個別の設定 代入a:(0) //現在の扉およびコンテナポインタ(1〜10) 代入d:(0) //その回の正解数(0〜10) 代入x:(0) //正解人物(人物番号) 代入y:(0) //選択肢1の人物(同上) 代入z:(人物::人物A.人物番号) //出題者(同上) 代入b:(0) //選択肢表示時、正解人物の選択肢(0〜4) 代入c:(0) //選択肢表示時、コンテナポインタ(0〜4) 代入v:(0) //選択肢表示後、選択した解答(0〜4) 代入e:(0) //正解した姫の記録(10桁の二進数、0〜1024) 代入f:(0) //上記計算の補助 代入h:(0) //同上 代入u:(0) //賞品授与時のアイテム価値と個数(1〜4、0〜99) //選択肢表示用、人物Aは出題者(会話の相手)と使い回し 代入人物B:(人物::無効) //選択肢2の人物および出題時の人物 代入人物C:(人物::無効) //選択肢3の人物 代入人物D:(人物::無効) //選択肢4の人物 代入人物E:(人物::無効) //選択肢5の人物 文字列設定:(文字列A)[[]] //解答表示用、全体の結果 文字列設定:(文字列B)[[]] //解答表示用、各扉の○× 代入アイテムA:(アイテム::無効) //賞品 //問題作成START コンテナ設定:(人物,性別,女) コンテナソート:(人物,人物番号,昇順) コンテナ検索:(人物,人物番号,1016) コンテナ選抜:(ポインタ,以上) コンテナ検索:(人物,人物番号,1045) コンテナ選抜:(ポインタ,以下) コンテナ除外:(人物,人物番号,1018) コンテナ除外:(人物,人物番号,人物A) コンテナソート:(無効,シャッフル,昇順) //シャッフルして コンテナ選抜:(残す,10) //10人残す //問題作成END //出題START 代入a:(0) 条件ループ:(a)<(コンテナカウンタ){ 更新:(コンテナポインタ)(a) コンテナ選択:(人物B,ポインタ) 代入a:(a)+(1) SEスタート:(鼓の音) 会話選択:(人物B,人物A)[[<a>の扉、(人物B.名)でございます]] ウェイト:(1.0) } //出題END 会話:(人物A,主人公)[[それでは1の扉から順にお答えください]] 代入a:(0) ループ:{//挑戦ループSTART コンテナ複写:(退避) //正解保存 更新:(コンテナポインタ)(a) //aは扉マイナス1 コンテナ選択:(人物A,ポインタ) //(出題者を上書き)正解人物の 代入x:(人物::人物A.人物番号) //番号を保存して コンテナ除外:(人物,人物番号,人物A) //コンテナから除外 コンテナソート:(無効,シャッフル,昇順) //残りの9人をシャッフル //以下はすべて正解以外の人物 代入c:(0) 更新:(コンテナポインタ)(c) コンテナ選択:(人物A,ポインタ) 代入c:(1) 更新:(コンテナポインタ)(c) コンテナ選択:(人物B,ポインタ) 代入c:(2) 更新:(コンテナポインタ)(c) コンテナ選択:(人物C,ポインタ) 代入c:(3) 更新:(コンテナポインタ)(c) コンテナ選択:(人物D,ポインタ) 代入c:(4) 更新:(コンテナポインタ)(c) コンテナ選択:(人物E,ポインタ) 代入b:(Rnd)%(5) 調査:(b)==(0) 分岐:(真){//1番目 代入人物A:(0)+(x) } 分岐:(偽){ 調査:(b)==(1) 分岐:(真){//2番目 代入人物B:(0)+(x) } 分岐:(偽){ 調査:(b)==(2) 分岐:(真){//3番目 代入人物C:(0)+(x) } 分岐:(偽){ 調査:(b)==(3) 分岐:(真){//4番目 代入人物D:(0)+(x) } 分岐:(偽){//(b)==(4)、4番目 代入人物E:(0)+(x) } } } } コンテナ複写:(復帰) //正解に戻す //人物AからEに正解を含む五人が入った 代入a:(a)+(1) //加算および扉表示用 代入y:(人物::人物A.人物番号) //1番目の選択肢を退避 代入人物A:(0)+(z) //出題者に戻す 会話選択:(人物A,主人公)[[それでは、<a>の扉はどなた?]] 代入人物A:(0)+(y) //1番目の選択肢復帰 選択:([[(人物A)]][[(人物B)]][[(人物C)]][[(人物D)]][[(人物E)]]) 分岐:([[(人物A)]]){ 代入v:(人物::人物A.人物番号) //答えた人物の番号(以下同) } 分岐:([[(人物B)]]){ 代入v:(人物::人物B.人物番号) } 分岐:([[(人物C)]]){ 代入v:(人物::人物C.人物番号) } 分岐:([[(人物D)]]){ 代入v:(人物::人物D.人物番号) } 分岐:([[(人物E)]]){ 代入v:(人物::人物E.人物番号) } 代入人物A:(0)+(z) //出題者に戻す //答え合わせ、(x)==(v)なら正解 調査:(x)==(v) 分岐:(真){//正解 SEスタート:(成功音) 会話:(人物A,主人公)[[<a>の扉、正解でございます!]] 代入d:(d)+(1) //正解不正解の保存(全問正解なら1111111111) 代入f:(a) //現在の扉(桁)に2の(f-1)乗をプラス 代入h:(1) //プラスする数、最小は1 条件ループ:(f)>(1){//2の(f-1)乗ループSTART 代入h:(h)*(2) //2倍して 代入f:(f)-(1) //判定回数減算 }//2の(f-1)乗ループEND 代入e:(e)+(h) } 分岐:(偽){//不正解 SEスタート:(失敗音) 会話:(人物A,主人公)[[<a>の扉、不正解でございます……]] } 調査:(a)>=(10) //10回答えたら抜ける ブロック脱出:(真) }//挑戦ループEND SEスタート:(画面転換音) 会話:(人物A,主人公)[[以上で終了でございます\nさて結果は……]] ウェイト:(1.0) 会話:(人物A,主人公)[[以上で終了でございます\nさて結果は……<d>人正解でございます]] 条件ブロック:(d)==(10){ SEスタート:(賭場スペシャルB) 会話:(人物A,主人公)[[何と、全員正解でございますか!]] } 条件ブロック:(d)==(9){ SEスタート:(鼓の音) 会話:(人物A,主人公)[[ああっ、何と惜しい!\nあと少しでございました]] } 条件ブロック:(d)==(8){ SEスタート:(鼓の音) 会話:(人物A,主人公)[[なかなかの成績でございますよ]] } 条件ブロック:(d)==(7){ SEスタート:(鼓の音) 会話:(人物A,主人公)[[ここまで来たなら\n次はもっと上を目指せますよね?]] } 条件ブロック:(d)==(6){ SEスタート:(鼓の音) 会話:(人物A,主人公)[[ぎりぎり合格、でございますね]] } コンテナ複写:(退避) //正解の保存 調査:(d)>=(7) 分岐:(真){//賞品を授与して次へ 会話:(人物A,主人公)[[それでは正解された人数に応じて\n賞品をお渡しいたします]] 代入u:(d)-(6) //7人なら価値1、10人なら価値4 SEスタート:(成功音) コンテナ設定:(アイテム,無効,無効) コンテナソート:(アイテム,アイテム番号,昇順) コンテナ選抜:(残す,300) //自作アイテムを除外 コンテナ絞り込み:(アイテム,価値,u) //賞品候補 コンテナ除外:(アイテム,アイテムタイプ,酒) //酒を除外 コンテナ除外:(アイテム,アイテムタイプ,薬) //薬を除外 コンテナ除外:(アイテム,所有個数,99) //99個所持アイテムを除外 コンテナソート:(無効,シャッフル,昇順) コンテナ選択:(アイテムA,先頭) 分岐:(真){ 会話:(人物A,主人公)[[価値<u>の貴重品の中から\n<アイテムA>でございます]] 代入u:(アイテム::アイテムA.所有個数)+(1) //価値から個数に 更新:(アイテム::アイテムA.所有個数)(u) スチル表示:(アイテム,アイテムA,無効,無効,フェード) 調査:(d)>=(8) 分岐:(真){//8人以上 会話:(人物A,主人公)[[おめでとうございます!]] } 分岐:(偽){ 会話:(人物A,主人公)[[おめでとうございます]] } スチル消去:(フェード) } 分岐:(偽){//アイテムがいっぱい 会話:(人物A,主人公)[[あら、{二人称}も手持ちがいっぱいで\nございますね]] SEスタート:(コイン) 会話:(人物A,主人公)[[それでは最初にお預かりした5貫を\nお返しいたします]] 所持金変更:(5) 代入t:(0) //終了 } } 分岐:(偽){ 会話:(人物A,主人公)[[残念ながら今回は賞品を\nお渡しすることができません]] 条件ブロック:(d)==(6){//6人正解、元返し 会話:(人物A,主人公)[[ただし元返しとなりますので\nはじめの5貫はお返しいたします]] SEスタート:(コイン) 所持金変更:(5) } 会話:(人物A,主人公)[[次は貴重品目指して頑張ってくださいね]] } //賞品授与END BGM変更:(デフォルト) コンテナ複写:(復帰) //正解リスト 会話:(人物A,主人公)[[なお、今回登場した姫と結果は……]] ループ:{ コンテナ選択:(人物B,先頭) ブロック脱出:(偽) 代入a:(11)-(コンテナカウンタ) //扉 コンテナ選抜:(削る,1) 代入h:(e)%(2) //現在の桁(扉)は1か0か 代入e:(e)/(2) //次の桁(扉)の判定用 調査:(h)==(1) 分岐:(真){//正解した扉 文字列設定:(文字列B)[[(人物B.名)○]] } 分岐:(偽){//間違えた扉 文字列設定:(文字列B)[[(人物B.名)×]] } 代入h:(a)%(4) OR調査:{ 調査:(h)==(2) 調査:(h)==(3) } 分岐:(真){//2番目と3番目は読点をつける 文字列設定:(文字列A)[[<文字列A>、<文字列B>]] } 分岐:(偽){ 調査:(h)==(0) 分岐:(真){//4番目は読点と改行をつける 文字列設定:(文字列A)[[<文字列A>、<文字列B>\n]] } 分岐:(偽){//1番目なら何もつけない 文字列設定:(文字列A)[[<文字列A><文字列B>]] } } SEスタート:(鼓の音) 変名会話:(人物B,人物A,[[(人物A.姓)]],[[(人物A.名)]])[[<文字列A>]] } 会話:(人物A,主人公)[[<文字列A>…でした]] //以下はゲーム自体を終えるかどうか処理 代入g:(g)-(1) //残り回数マイナス1 調査:(g)>(0) 分岐:(真){//続ける? 会話可否選択:(人物A,主人公)[[まだ、お続けになりますか?]] 分岐:(可){ 会話:(人物A,主人公)[[心得ました、では……]] 条件ブロック:(人物::主人公.所持金)<(5){//持ち合わせがない 会話:(主人公,人物A)[[(しまった、もう持ち合わせが……)]] 会話:(主人公,人物A)[[{すまん}、やはりもうそろそろ……]] 会話:(人物A,主人公)[[あら、そうでございますか……]] 会話:(主人公,人物A)[[それでは、またそのうち……]] 会話:(人物A,主人公)[[はい、お疲れ様でした]] 代入g:(0) //終了 } } 分岐:(否){ 会話:(人物A,主人公)[[おやめになるのでございますね]] 会話:(人物A,主人公)[[お疲れ様でした\nそれでは、また……]] 代入g:(0) //残り回数0に } } 分岐:(偽){//規定回数終了 会話:(人物A,主人公)[[あら、もうこんな時間……]] 会話:(人物A,主人公)[[申しわけございませんが\n今回はこれまでということで……]] 会話:(主人公,人物A)[[{はい}、時のたつのは早いもの{だ}{な}]] 会話:(人物A,主人公)[[よろしかったら、またいらしてください]] 会話:(人物A,主人公)[[それでは、ごきげんよう……]] } }//複数回挑戦ループEND 外に出す: //遊んだ場合のみ外へ }//記憶力ゲームEND }//スクリプトEND }//イベントEND }//チャプターEND //☆ルール、報酬等 //「姫看破(コードブレイカー)」 //目的−5人の中から3つの扉に隠れた姫を、ヒントから推測して当てる。 //料金−5貫。 //報酬−1回目で当てれば価値4の貴重品。以下価値3、価値2、価値1となり、5回目で元返し(5回目で外したらアウト)。 //備考−「数当てゲーム」「MOO」「マスターマインド」「Hit & blow」「Cow & Bull」などさまざまな名称あり。 //備考−しかし、某ゲームのファン的にはやはり「コードブレイカー」で。 //「姫記憶(記憶力ゲーム)」 //目的−10の扉に隠れた10人の姫を記憶する。 //料金−5貫。 //報酬−10人で価値4、以下一人間違えるごとに価値3、価値2、価値1。6人正解で元返し。 //☆使用変数 //★人物関連 //人物A 人物Bの奥さん(出題者) //人物B 旦那(MP主人)※通常は使わない //★共通 //g 残りゲーム数(0〜10) ※最大値は設定次第 //★以下はゲームごと //★「姫看破(コードブレイカー)」用 //l 正解一人目(人物番号) //m 正解二人目(同上) //n 正解三人目(同上) //x 解答一人目(人物番号) //y 解答二人目(同上) //z 解答三人目(同上) //h ヒット(0〜3) //o ブロー(0〜3) //k 正解設定時の乱数(0〜4) //r 解答選択中フラグ(0、1) //t 結果表示時の扉(1〜3) //i 結果確認時、解答の扉(1〜3) //j 結果確認時、正解の扉(1〜3) //p 結果確認時、解答の姫(人物番号) //q 結果確認時、正解の姫(同上) //s 解答した回数(1〜5) //u 賞品アイテムの価値(1〜4)と個数(0〜99) //人物B 選択肢、および結果表示時の人物判定 //人物C 選択肢、および正解表示用の一人目 //人物D 選択肢、および正解表示用の二人目 //人物E 選択肢、および正解表示用の三人目 //文字列A プレイヤーの解答を表示 //文字列B これまでの結果(手がかり)を表示 //アイテムA 賞品 //★「姫記憶(記憶力ゲーム)」用 //a 現在の扉およびコンテナポインタ(1〜10) //x 正解人物(人物番号) //y 選択肢1の人物(同上) //z 出題者(同上) //b 選択肢表示時、正解人物の選択肢(0〜4) //c 選択肢表示時、コンテナポインタ(0〜4) //v 選択肢表示後、選択した解答(0〜4) //d 正解数(0〜10) //u 賞品アイテムの価値(1〜4)と個数(0〜99) //e 正解した姫の記録(10桁の二進数) //f 上記計算の補助 //h 同上 //人物A 選択肢1の人物、および出題者 //人物B 選択肢2の人物、および出題時の正解人物 //人物C 選択肢3の人物 //人物D 選択肢4の人物 //人物E 選択肢5の人物 //文字列A 全体の結果を表示 //文字列B 上記の一時処理用 //アイテムA 賞品 //☆イベントフラグ //イベントフラグ::百花繚乱絡繰扉−承前