「クイズゲーム用テンプレート」
で使用されているスクリプトコードです。
ダウンロードはこちらから
- //皐月祭翔愛祭新規クイズゲーム用テンプレート
- //Ver 5-2014-06-15_視聴覚室用
- //———————–
- // はじめに
- //———————–
- // 先頭が // で始まる行はコメントです。
- // スクリプトを実行する上では、コメントは無視されます。
- //
- // 「■■ 編集ここから ■■」~「■■ 編集ここまで ■■」
- // の間だけを書き換えてください。
- // 「★★置換:」~「:ここまで☆☆」は、
- // ★★から☆☆まで(★や☆を含みます)を、指定した内容で
- // 置き換えてください。
- //
- //
- //
- //———————–
- // スクリプト情報メモ
- //———————–
- //ゲームクエストコード[]
- //ゲームスクリプト番号[]
- //
- // クエストコードは、普通は使用しません。
- // ゲームスクリプト番号は、編集室のガイドタブに書かれている
- // スクリプト編集の[]の中身です。
- // 後々必要になる場合がありますので、コメントとして記述しておくと
- // 良いかと思います。
- //———————–
- // 変数の使いみち
- //———————–
- //たとえばlf[15]が何に使われているかをメモしておくと、
- //後で見直す際に便利です。特に、他人の作ったスクリプトを見るのには
- //このような記述があると便利なので書いています。
- //3ヶ月後の自分は「他人」です。
- //lf[0]~lf[9]は、一時領域として使用し、重要な値を保存しないこと
- //としておくと後々便利。
- //lf[0]:臨時、一時利用
- //lf[1]:臨時、一時利用
- //lf[2]:臨時、一時利用
- //lf[3]:臨時、一時利用
- //lf[5]:臨時、一時利用
- //lf[6]:臨時、一時利用
- //lf[7]:臨時、一時利用
- //lf[8]:臨時、一時利用
- //lf[9]:臨時、一時利用
- //
- //lf[15]:出際していない問題を探すのにかかった回数
- //lf[16]:出題数
- //lf[17]:正解数
- //lf[18]:間違い数
- //lf[19]:時間切れ数
- //lf[20]:(空き)
- //lf[21]~:問題を出題したかのフラグ
- Level:0
- //—————————————————————-
- //マップロック:場所や時期による、スクリプトを実行してよいかの制限
- //—————————————————————-
- Segment:40
- //編集室かどうかをチェック
- //編集室ならSegment:60に移動する(シーズンロックも飛ばしてプレイ可能にする)
- lf[0]=Avatar.checkMap:E_
- ->Segment:60;(lf[0]==1)
- //自団体の出展用多目的教室かどうかチェック
- //■■ 編集ココから: 「X02_123-01234.1」は、自団体の出展用ブース ■■
- //■■ 多目的教室をあらわす番号です。マップコードと呼びます。 ■■
- //■■ 自団体の出展用ブースのマップコードに書き換えてください。 ■■
- //■■ 判らなければ生徒会に問い合わせるか編集をお願いしてください。 ■■
- lf[0]=Avatar.checkMap:X02_123-01234.1
- //■■ 編集ココまで ■■
- //自団体の出展用ブースならSegment:50に移動する(皐月祭翔愛祭の時期か?)
- ->Segment:50;(lf[0]==1)
- //自団体の出展用ブース以外でチケットを使用した場合に表示されるメッセージです。
- //「決められた場所で使ってね」だと、どのブースに行けばよいか判らないので
- //自団体の名前、出展名などを表示したほうが親切です。
- //■■ 「」の中に公式部/同好会の名前を記入してください。 ■■
- //■■ 書いたメッセージの次に、必ず空行を入れてください。 ■■
- Message:
- 「★★置換:公式部/同好会の名前:ここまで☆☆」の多目的教室で使ってね
- ->exit
- //——————————————————————
- //シーズンロック:
- // ミニゲームは皐月祭、翔愛祭、アンコールイベント中しか遊べません
- //——————————————————————
- Segment:50
- //翔愛祭(準備)期間中か否かチェック
- //翔愛祭(準備)期間中であればミニゲームで遊べる
- lf[0]=getEnv:AUTUMNFES
- ->Segment:60;(lf[0]>=1)
- //皐月祭(準備)期間中か否かチェック
- //皐月祭(準備)期間中であればミニゲームで遊べる
- lf[0]=getEnv:SPRINGFES
- ->Segment:60;(lf[0]>=1)
- //ユーザーのアンコールイベント中か否かチェック
- //ユーザーのアンコールイベント中であればミニゲームで遊べる
- //lf[0]=getEnv:USEREVENT
- //->Segment:60;(lf[0]==1)
- Message:
- このチケットはイベント期間専用です
- ->exit
- //—————-
- //ミニゲーム開始
- //—————-
- Segment:60
- Segment:100
- //いまからミニゲームを始めるよと言う宣言
- Avatar.scriptMode
- //ついていく を解除
- Avatar.CancelJoin
- // Avatar.Menu: という命令は、プレイヤーの顔を出してメニューを表示し、
- // 提示した選択肢から一つを選んでもらうためのものです。
- //
- //
- // Avatar.Menu: <=メニューをだす命令
- // ゲームをしようかな・・・ <=プレイヤーのせりふとして表示される文章
- // <=選択肢その1 (で囲みます)
- // ->Segment:500 <=選択肢その1が選ばれたら
- // ここで指定したセグメントに飛びます
- // <=選択肢その2 (で囲みます)
- // ->Segment:150 <=選択肢その2が選ばれたら
- // ここで指定したセグメントに飛びます
- // <=選択肢その3 (で囲みます)
- // ->Segment:190 <=選択肢その3が選ばれたら
- // ここで指定したセグメントに飛びます
- //
- //
- Avatar.Menu:
- クイズをしようかな・・・
- <する>
- ->Segment:500
- <しない>
- ->Segment:150
- <ルールの説明をみる>
- ->Segment:190
- //—————————
- // やめる
- //—————————
- Segment:150
- //プレイヤーに喋らせる場合の命令です。
- //プレイヤーの顔が出る以外は、
- //Message: と同じです。
- //喋らせるメッセージの後には必ず空行が必要なのも同じです。
- Avatar:
- 今はやめておこう…
- //この上には必ず空行を書くこと
- Segment:160
- //前景消去
- EV:Blank
- //背景消去
- BG:Blank
- ->exit
- //—————————
- // ルールの説明
- //—————————
- Segment:190
- ls[0]=Avatar.myCall
- ls[1]=Avatar.callName1
- ls[2]=Avatar.callName2
- ls[3]=Avatar.callName3
- //■■ 編集ココから:必要ならクイズの説明を書いてください。 ■■
- //■■ Message:と書かれた行の次の行から、説明を書きます。 ■■
- //■■ 説明は3行まで書けます。一行は30文字程度にしてください。 ■■
- //■■ 書いた説明の後には空行を【 必ず 】入れてください。 ■■
- Message:
- このゲーム「クイズテンプレート」は、スクリプト研究所が作成しました。
- //メッセージの後には空行必須
- Message:
- 使用されている命令のほとんどは、スクリプト研究所ブログ
- (翔愛学園公式ブログ「公式部活と同好会」のなかにあります)
- で解説しています。
- //メッセージの後には空行必須
- Message:
- 「スクリプト研究所 記事一覧(目次)」から、該当記事を探してください。
- 公式部の「スクリプト研究所」に入部して、質問していただいてもかまいません。
- //メッセージの後には空行必須
- Message:
- それでは良いクイズゲームが出来ますように・・・。
- //メッセージの後には空行必須
- //■■ 編集ここまで ■■
- //表示したメッセージを消去
- Message.clear
- //2秒待機
- Wait:2000
- ->Segment:100
- //ヘルプここまで——最初のメニューに戻ります。
- Segment:500
- //■ゲーム開始・スタート部分
- //アバター名称の共通取得
- ls[0]=Avatar.myCall
- ls[1]=Avatar.callName1
- ls[2]=Avatar.callName2
- ls[3]=Avatar.callName3
- //チケットの消費
- World.useCallItem
- ->Segment:10000
- //=============================
- // クイズ終了時
- //=============================
- Segment:9000
- Message:
- おつかれさまでした。あなたの成績は
- 正解;lf[17];問、誤答;lf[18];問でした。
- //Message:1 のようにMessage:の後に数字を書くと、
- //秒単位でその数字とおなじだけ時間がたつと
- //自動的にクリックしたことになります。
- //(次の命令に進みます)
- Message:1
- さて結果は・・・・
- //ドコドコドコドコ・・・・
- //という効果音を鳴らす
- SE:drumroll01.mp3
- //2秒待つ
- wait:2000
- //正解が3問以上なら合格
- ->Segment:9100;(lf[17]>=3)
- ->Segment:9200
- //合格時
- Segment:9100
- //ファンファーレの効果音を鳴らす
- SE:fanfare01.mp3
- Message:
- おめでとう、合格です!!
- ->Segment:9500
- Segment:9200
- //
- SE:shock03.mp3
- Message:
- 残念、不合格です・・・・・。
- ->Segment:9500
- Segment:9500
- Message:
- お疲れ様でした。またの挑戦をお待ちしております。
- //ゲーム終了
- ->Segment:160
- //=============================
- //
- // ここからクイズの問題
- //
- //=============================
- //飛び先用にセグメント番号だけ用意
- Segment:10000
- //クイズ用初期化:問題を「未使用」に設定
- Segment:11000
- lf[15]=0
- lf[16]=0
- lf[17]=0
- lf[18]=0
- lf[19]=0
- lf[20]=0
- lf[21]=0
- lf[22]=0
- lf[23]=0
- lf[24]=0
- lf[25]=0
- lf[26]=0
- lf[27]=0
- lf[28]=0
- lf[29]=0
- lf[30]=0
- lf[31]=0
- ->Segment:12300
- //—————-
- //正解の場合
- //—————-
- Segment:11500
- //出題数と正解数に1を加えます
- lf[16]=flagAdd:lf[16],1
- lf[17]=flagAdd:lf[17],1
- Message:1
- 正解!
- //メッセージの後には空行必須
- //次の問題へ
- ->Segment:12000
- //—————-
- //間違えた場合
- //—————-
- Segment:11700
- //出題数と誤答数に1を加えます
- lf[16]=flagAdd:lf[16],1
- lf[18]=flagAdd:lf[18],1
- Message:1
- 残念。
- //メッセージの後には空行必須
- //次の問題へ
- ->Segment:12000
- //—————-
- //時間切れの場合
- //—————-
- Segment:11900
- //出題数と時間切れ回数に1を加えます
- lf[16]=flagAdd:lf[16],1
- lf[19]=flagAdd:lf[19],1
- Message:1
- 時間切れ・・・
- //メッセージの後には空行必須
- //次の問題へ
- ->Segment:12000
- //—————-
- //次の問題へ
- //—————-
- Segment:12000
- //未使用の問題を探した回数をリセット
- lf[15]=0
- //5問出題したら終了
- ->Segment:9000;(lf[16]>=5)
- //次の問題を探す:出題していない問題
- Segment:12030
- lf[15]=flagAdd:lf[15],1
- //問題を探すのに あまりにも時間がかかるようなら使い切ったとみなす
- ->Segment:9000;(lf[15]>10)
- Segment:12300
- //問題をランダムに選ぶ
- //■■ 編集ココから:用意した問題数が 10問より少なければ、 ■■
- //■■ 「」の行とその下の「->Segment:数字」の行を組にして ■■
- //■■ 上から用意した問題の数と同じだけ残してください。 ■■
- //■■ たとえば5問しか問題を用意しなかった場合には、下記のように ■■
- //■■ なります。 ■■
- //■■ ■■
- //■■ randmenu: ■■
- //■■ 分岐内容←この行は表示されませんが必須です ■■
- //■■ ■■
- //■■ ->Segment:12500 ■■
- //■■ ■■
- //■■ ->Segment:12510 ■■
- //■■ ■■
- //■■ ->Segment:12520 ■■
- //■■ ■■
- //■■ ->Segment:12530 ■■
- //■■ ■■
- //■■ ->Segment:12540 ■■
- //■■ ■■
- //■■ //■■ 編集ココまで ■■ ■■
- //■■ ■■
- //■■ ■■
- randmenu:
- 分岐内容←この行は表示されませんが必須です
- <1>
- ->Segment:12500
- <1>
- ->Segment:12510
- <1>
- ->Segment:12520
- <1>
- ->Segment:12530
- <1>
- ->Segment:12540
- <1>
- ->Segment:12550
- <1>
- ->Segment:12560
- <1>
- ->Segment:12570
- <1>
- ->Segment:12580
- <1>
- ->Segment:12590
- <1>
- ->Segment:12600
- //■■ 編集ココまで ■■
- //===================================
- //ここからクイズの問題:問題の書き方は以下のとおりです。
- //===================================
- //■■
- //■■ Menu:10,1というのは、制限時間10秒、選択肢をランダムに入れ替えて
- //■■ メニューを表示するという指定です。
- //■■
- //■■ Menu:10,1 を Menu:20,1 に書き換えると、
- //■■ 1問の制限時間が20秒になります。
- //■■
- //■■ 実際のメニュー文はこんなふうに書きます。
- //■■ 選択肢は6個までかけますが、必ず一番上の選択肢に
- //■■ 正解となるものを書いてください。
- //■■
- //■■ Menu:10,1
- //■■ 生徒会副会長は誰?
- //■■
- //■■ ->Segment:11500
- //■■
- //■■ ->Segment:11700
- //■■
- //■■ ->Segment:11700
- //■■
- //■■ ->Segment:11700
- //■■
- //■■ ->Segment:11700
- //■■
- //■■ ->Segment:11700
- //■■
- //■■ ->Segment:11900
- //■■ ↑
- //■■ これは時間切れになったときに実行されます。消さないでね。
- //■■
- //■■
- //■■ もし選択肢が3つしかなければ、このように書きます。
- //■■
- //■■ Menu:10,1
- //■■ 生徒会副会長は誰?
- //■■
- //■■ ->Segment:11500
- //■■
- //■■ ->Segment:11700
- //■■
- //■■ ->Segment:11700
- //■■
- //■■ ->Segment:11900
- //■■
- //■■ 選択肢の数にかかわらず、問題文の直後には必ず正解を、
- //■■ 選択肢の直後には空行をあけて「->Segment:11900」を
- //■■ それぞれ記述してください。
- //■■
- Segment:12500
- ->Segment:12000;(lf[21]==1)
- lf[21]=1
- //—-問題0
- Menu:10,1
- 翔愛学園で第二期の生徒会副会長は誰?
- <如月アリサ>
- ->Segment:11500
- <如月アサリ>
- ->Segment:11700
- <如月ナツキ>
- ->Segment:11700
- <如月ヤヨイ>
- ->Segment:11700
- ->Segment:11900
- //——————————-
- Segment:12510
- ->Segment:12000;(lf[22]==1)
- lf[22]=1
- //—-問題1
- Menu:10,1
- 翔愛学園の理事長先生。間違っているのは?
- <髪の毛が七三わけ>
- ->Segment:11500
- <話が長い>
- ->Segment:11700
- <名前は福之神ゑび蔵>
- ->Segment:11700
- <縁起の良いものが大好き>
- ->Segment:11700
- ->Segment:11900
- //——————————-
- Segment:12520
- ->Segment:12000;(lf[23]==1)
- lf[23]=1
- //—-問題2
- Menu:10,1
- 翔愛学園の理数系科目を担当している先生。間違っているのは?
- <名前は山本達矢>
- ->Segment:11500
- <若く見える>
- ->Segment:11700
- <理論派>
- ->Segment:11700
- <専門は化学>
- ->Segment:11700
- ->Segment:11900
- //——————————-
- Segment:12530
- ->Segment:12000;(lf[24]==1)
- lf[24]=1
- //—-問題3
- Menu:10,1
- 翔愛学園の柏木先生。正しいのは?
- <見た目どおりの熱血教師>
- ->Segment:11500
- <名前は寅次郎>
- ->Segment:11700
- <学生時代は陸上の選手だった>
- ->Segment:11700
- <運動が苦手>
- ->Segment:11700
- ->Segment:11900
- //——————————-
- Segment:12540
- ->Segment:12000;(lf[25]==1)
- lf[25]=1
- //—-問題4
- Menu:10,1
- 翔愛学園の夕凪先生。正しい名前は?
- <夕凪 桜>
- ->Segment:11500
- <夕凪 楓>
- ->Segment:11700
- <夕凪 椛>
- ->Segment:11700
- <夕凪 桃>
- ->Segment:11700
- ->Segment:11900
- //——————————-
- Segment:12550
- ->Segment:12000;(lf[26]==1)
- lf[26]=1
- //—-問題5
- Menu:10,1
- 購買部のお姉さん、タマちゃんの名前は?
- <玉野みるく>
- ->Segment:11500
- <玉野くるみ>
- ->Segment:11700
- <王野みるく>
- ->Segment:11700
- <王野くるみ>
- ->Segment:11700
- ->Segment:11900
- //——————————-
- Segment:12560
- ->Segment:12000;(lf[27]==1)
- lf[27]=1
- //—-問題6
- Menu:10,1
- 学園の購買部で売っていないものは?
- <コーヒー>
- ->Segment:11500
- <学園の制服>
- ->Segment:11700
- <雑巾とバケツ>
- ->Segment:11700
- <通知表>
- ->Segment:11700
- ->Segment:11900
- //——————————-
- Segment:12570
- ->Segment:12000;(lf[28]==1)
- lf[28]=1
- //—-問題7
- Menu:10,1
- 日本の首都は?
- <東京>
- ->Segment:11500
- <北京>
- ->Segment:11700
- <南京>
- ->Segment:11700
- <京都>
- ->Segment:11700
- ->Segment:11900
- //——————————-
- Segment:12580
- ->Segment:12000;(lf[29]==1)
- lf[29]=1
- //—-問題8
- Menu:10,1
- 日本の道路の、車用の信号機。一番右は?
- <赤>
- ->Segment:11500
- <黄>
- ->Segment:11700
- <青>
- ->Segment:11700
- <緑>
- ->Segment:11700
- ->Segment:11900
- //——————————-
- Segment:12590
- ->Segment:12000;(lf[30]==1)
- lf[30]=1
- //—-問題9
- Menu:10,1
- 日本でもっとも高い山は?
- <富士山>
- ->Segment:11500
- <天保山>
- ->Segment:11700
- <槍ヶ岳>
- ->Segment:11700
- <北岳>
- ->Segment:11700
- ->Segment:11900
- //——————————-
ピンバック: スクリプト研究所 記事一覧(目次) | スクリプト研究所
ピンバック: 2015翔愛祭 スライド・ミニゲーム製作者向けまとめ | スクリプト研究所