index
ゲーム情報
@gname @ginfopic @ginfoletter @gmaker @gcodeシステム設定
@startfile @screensize @fontname @fontcolor @fontsize @fontstyle位置設定
@msgwinset @selwinset @novwinset @keywaitset @chrpicset.x / chrpicset @chrpicset.y画像の透過・αチャンネル設定
@setalphach @keycolor履歴関連の設定
@setsbar選択肢の設定
@seltype @setselected @selcol @setreadselect表示補助・ルビ振り設定
@dotwaitspeed @wordwrap @settextextent @setemoji @setmsg @novelcolメディア系設定
@voicebgmdown @setmusic @setsound @setvoice多言語情報ファイル設定
@setlanguageサブルーチン設定
@subroutinefile初期値ファイル設定
@setinitfileその他の設定
@EffectData @setfontsizearea @setsavepointmode @SetSaveCfgゲーム設定ファイルについて
Game.Infoとは
ADVRUNのゲーム開発を行う上で、初期設定などを統括ファイルとしてGame.Infoというファイルを用意しています。このファイルは、通常のスクリプトとは違った独自の命令体系を持ち、ゲームの動作に関する基本設定を行うことが出来ます。このファイルは、ゲームの識別などを行うための重要なファイルとなっています。
編集の仕方
通常のプレーンテキストファイルですので、テキストエディタで編集が可能です。
編集例
ゲーム設定情報の実際の記述例をご紹介します。テンプレートに記述されている内容も、実際に使用できる状態となっています。
Game.Infoの例:
@gname("ADVRUN リファレンススクリプト 公開版")
@gcode("5555!iei!banzai!")
@gmaker("497/buin2gou software production")
@startfile("DEMOstart.SNF")
@ginfopic("information.png")
@ginfoletter("このソフトウェアは、日本国著作権法によって保護されています。")
@screensize(640,480)
@msgwinset("sys_window3.PIZ",20,320,30,335,580,130)
@selwinset("sys_Select.PIZ",55,170,65,180,500,100)
@novwinset(10,10,620,460,10,10,10,10)
@keywaitset("sys_waitmark.PIZ",580,430,20,True,0)
@keycolor(0,255,0)
@chrpicset(0,180,380)
@fontname("MS ゴシック")
@fontsize(17)
@fontcolor(255,255,255)
@fontstyle(0)
@setmusic(1000,True)
@setsound(1000,True)
@setvoice(1000,True)
@voicebgmdown(True)
@UseCD(False)
@seltype(5)
@dotwaitspeed(0,0)
@devautorun(False)
@setalphach(True,True,False,True,True,True,True,False,True)
@setselected(0,0,255)
@setfontsizearea(10,20)
@setemoji("絵文字.BMP",True,16)
@WordWrap("、、。,.・?!゛゜ヽヾゝゞ々ー〜)]}」』!),.:;?]}。」、・ー゙゚ぁぃぅぇぉっゃゅょァィゥェォッャュョ","([{「『([{「")
//言語ファイル
//@SetLanguage("ADVRUN.ENG","")
@EffectData(20000,3)
@settextextent(0,6,0,6,0)
//キャラ情報
@setchrinfo(0,"info_chr1.jpg","部員 にい","たぶん男","45","無職",true,0,200,255)
@setchrinfo(1,"info_chr2.jpg","部員 さん","たぶん女","35","フリーター",true,255,100,100))
@setsbar("sys_sbar3.bmp",20,25,18,20,20,0,0,0,160)
//サブルーチンの定義
@subroutinefile("SubRoutines.SNF")
@setinitfile("subroutinesinit.snf")
//GUI拡張設定
//@setmainmenu(True)
パッケージ後のGame.Infの取り扱い
パッケージ化を行うと、このファイルはGame.Infというファイル名に変更されます。このファイルは、ADVRUNがゲームを実行するときに自動的に読み込むファイルとなりますのでゲームと一緒に必ず配布しなくてはいけません。
このファイルは暗号化されていますので、中身はテキストエディタ等で編集することが出来ません。
ゲーム情報
@gname(ゲーム名)
解説
ゲームの正式名称を指定してください。
引数
ゲーム名 : ゲームの名称を記述してください。 例
@gname("勇者の大冒険")
@ginfopic(ゲーム情報用画像)
解説
ゲーム情報で表示する画像を指定してください。
引数
ゲーム情報用画像 : ソフトウェア情報に表示する画像(380x180)を指定してください。 例
@ginfopic("sys_infopic.jpg")
@ginfoletter(ゲーム情報用著作権文章)
解説
ゲーム情報で表示する著作権注意事項説明を指定してください。
引数
ゲーム情報用著作権文章 : ソフトウェア情報に表示するコメントを指定してください。 例
@ginfoletter("このソフトウェアは、日本国著作権法によって保護されています。")
@gmaker(製作者名)
解説
製作者の名前を指定します。ゲームには直接は使われません。出所を明らかにするためにも必ず指定しておくことをお勧めします。
引数
製作者名 : 製作したグループの名称や個人を記述してください。 例
@gmaker("Buin2gou Laboratories")
@gcode(ゲーム用ランダムコード)
解説
ゲームの暗号化に利用するランダムなコードを指定してください。コードは文章で適当で構いません。
この暗号は、シナリオファイルを暗号化する際に使われます。この暗号コードが変更されると、シナリオファイルを読み込むことができなくなりますのでご注意ください。
ゲームごとにランダムコードを決めた場合は、絶対に途中で変更してはいけません。
引数
ゲーム用ランダムコード : 暗号化のためのランダムな文字列を指定します。 例
@gcode("5555!iei!banzai!")
システム設定
@startfile(シナリオファイル名)
解説
スタートさせるシナリオファイルを指定してください。
引数
シナリオファイル名 : 自動開始シナリオファイルを指定します。 例
@startfile("DEMOstart.SNF")
@screensize(スクリーンサイズW,H)
解説
ゲームの実行ウィンドウ・スクリーンサイズを指定します。640x480か800x600,1024x768等の標準サイズを指定してください。
引数
スクリーンサイズW,H : ゲーム画面のサイズを指定します 例
@screensize(640,480)
@fontname(フォント名)
解説
メッセージ表示のときのフォントを指定します。
引数
フォント名 : ウィンドウズに標準で搭載されているフォント名を基本的に指定します。 例
@fontname("MS 明朝")
@fontcolor(R,G,B)
解説
メッセージ表示のときのフォント色を指定します。
引数
R,G,B : フォントの色を設定します。Rは赤、Gは緑、Bは青です。値の範囲は、0〜255を指定します。 例
@fontcolor(255,255,255)
@fontsize(フォントサイズ)
解説
メッセージ表示のときのフォントサイズを指定します。
引数
フォントサイズ : フォントサイズを指定します。標準は18程度の値です。 例
@fontsize(17)
@fontstyle(フォントスタイル番号)
解説
フォントの装飾を設定します。
引数
フォントスタイル番号 : フォントのタイプの初期設定番号を指定します。 フォントスタイル番号
0 : 標準 1 : 縁取り 2 : 影 3 : X方向ガタガタ 4 : Y方向ガタガタ 5 : XY方向ガタガタ 例
@fontstyle(0)
位置設定
@msgwinset(画像ファイル名,ウィンドウ位置X,Y,文章描画位置X,Y,サイズW,H)
解説
メッセージウィンドウの位置や画像ファイル、文章の表示位置を決めます。
引数
画像ファイル名 : メッセージウィンドウの画像を指定します。 ウィンドウ位置X,Y : メッセージウィンドウの表示位置を指定します(絶対位置) 文章描画位置X,Y : メッセージの表示位置を指定します(絶対位置) サイズW,H : メッセージ表示エリアのサイズを指定します(絶対位置) 例
@msgwinset("sys_window3.PIZ",20,320,30,335,580,130)
@selwinset(画像ファイル名,ウィンドウ位置X,Y,文章描画位置X,Y,サイズW,H,センタリングスイッチ,囲み幅スイッチ)
解説
選択肢ウィンドウの位置や画像ファイル、文章の表示位置を決めます。
引数
画像ファイル名 : メッセージウィンドウの画像を指定します。 ウィンドウ位置X,Y : メッセージウィンドウの表示位置を指定します(絶対位置) 文章描画位置X,Y : メッセージの表示位置を指定します(絶対位置) サイズW,H : メッセージ表示エリアのサイズを指定します(絶対位置) センタリングスイッチ : 選択肢表示の際に、真中に文字をあわせたい場合はTrueを指定します。 囲み幅スイッチ : 選択肢表示で、囲む範囲をテキスト内だけにするかどうか。テキスト内囲みはTrue、全体はFalseです。 例
@selwinset("sys_Select.PIZ",55,170,65,180,500,100)
@novwinset(文章描画位置X,Y,サイズW,H,文字表示位置調整X,Y,文字表示範囲調整X,Y)
解説
ノベルモードの位置や文章の表示位置を決めます。
文字表示位置調整は、半透明表示位置からさらに何ドットずらして文字を表示するか決めます。
文字表示範囲調整は半透明サイズから文字表示スペースを空けるためにどれくらいの範囲のドットを減らすかを設定します。
引数
文章描画位置X,Y : メッセージの表示位置を指定します(絶対位置) サイズW,H : メッセージ表示エリアのサイズを指定します(絶対位置) 文字表示位置調整X,Y : ノベルウィンドウ描画位置から文章描画位置を何ドットずらすか指定します。 文字表示範囲調整X,Y : ノベルウィンドウのサイズから何ドット病床の表示範囲を縮めるか指定します。 例
@novwinset(10,10,620,460,10,10,10,10)
@keywaitset(画像ファイル名,表示位置X,Y,表示間隔時間,表示位置非固定スイッチ,アニメ処理番号)
解説
キーウェイトのマーク画像や表示位置、間隔を決めます。
引数
画像ファイル名 : キーウェイト画像ファイルを指定します。 表示位置X,Y : 表示させたい位置を指定します。表示位置非固定スイッチをTrueの場合無視されます。 表示間隔時間 : アニメーションの表示間隔をミリ秒で指定します。 表示位置非固定スイッチ : 文章の後にキーウェイと画像を表示させる場合はTrueを指定します。Trueの場合、表示位置は無視されます。 アニメ処理番号 : アニメーションの処理方法を指定します。0は1→8→1という処理、1は1→8,1→8という処理になります。 例
@keywaitset("sys_waitmark.PIZ",580,430,20,True,0)
@chrpicset.x(キャラ表示位置Xバッファ0,1,2,3・・・・10)
@chrpicset(キャラ表示位置Xバッファ0,1,2,3・・・・10)解説
前景キャラクタバッファの表示位置の初期値、X方向を決めます。
引数
キャラ表示位置Xバッファ0,1,2,3・・・・10 : 指定キャラバッファ番号のキャラ初期表示位置X方向を指定します。 例
省略
@chrpicset.y(キャラ表示位置Yバッファ0,1,2,3・・・・10)
解説
前景キャラクタバッファの表示位置のY方向を決めます。
引数
キャラ表示位置Yバッファ0,1,2,3・・・・10 : 指定キャラバッファ番号のキャラ初期表示位置Y方向を指定します。 例
省略
画像の透過・αチャンネル設定
@setalphach(メッセージ画像スイッチ,選択肢画像スイッチ,キーウェイト画像スイッチ,キャラクタ画像スイッチ,キャラクタ目アニメ画像スイッチ,パーツ画像スイッチ,名前ウィンドウ画像スイッチ,情報ウィンドウ,RTEスイッチ,選択肢スイッチ)
解説
各機能において、αチャンネルを使用する(True)か、色透過・通常転送を使用する(False)かを決めるスイッチです。
引数
メッセージ画像スイッチ : αチャンネルを使用する場合はTrue、標準透過を使用する場合はFalseを指定します。 選択肢画像スイッチ : キーウェイト画像スイッチ : キャラクタ画像スイッチ : キャラクタ目アニメ画像スイッチ : パーツ画像スイッチ : 名前ウィンドウ画像スイッチ : 情報ウィンドウ : RTEスイッチ : 選択肢スイッチ : 例
@setalphach(True,True,False,True,True,True,True,False,True)
@keycolor(R,G,B)
解説
透過色を指定します。
引数
R,G,B : 色透過機能の基準色を設定します。Rは赤、Gは緑、Bは青です。通常は、(0,255,0)を指定します。 例
@keycolor(0,255,0)
履歴関連の設定
@setsbar(スクロールバー画像,パーツ正方形サイズ,横開始位置,縦開始位置,フォントサイズ,行間隔,背景塗りつぶし色R,G,B,α値)
解説
スクロールバーの設定と履歴の表示設定を行います。
引数
スクロールバー画像 : スクロールバーの画像ファイルを指定します。 パーツ正方形サイズ : スクロールバーの▲▼のサイズの1辺の長さを指定します。 横開始位置 : 履歴文章の表示開始位置を設定します。 縦開始位置 : 履歴文章の表示開始位置を設定します。 フォントサイズ : 履歴文章のフォントサイズを指定します。 行間隔 : 履歴文章の表示間隔を設定します。 背景塗りつぶし色R,G,B : ゲーム画面を塗りつぶす色を指定します。暗い色を推奨します。 半透明値 : 履歴表示時のゲーム画面にかぶせる色の透過率を設定します。0〜255で指定します。0が透明、128が半透明、255が不透明です。 例
@setsbar("sys_sbar3.bmp",20,25,18,20,20,0,0,0,160)
選択肢の設定
@seltype(選択肢の表示タイプ番号)
解説
選択肢の種類番号を指定します。選択肢の選択部分の表示が変更可能です。
引数
選択肢の表示タイプ番号 : 選択肢の表示タイプ番号を指定します。 選択肢の表示タイプ番号
0 : 半透明長方形 1 : 文字の色変化 2 : アンダーライン 3 : 強調 4 : 直線囲み 5 : アンダーバーと半透明 6 : 反転 例
省略
@setselected(R,G,B)
解説
選択済みの選択項目のフォント色を指定します。
引数
R,G,B : 色を設定します。Rは赤、Gは緑、Bは青です。 例
@setselected(0,0,255)
@selcol(R,G,B)
解説
選択肢での選択中の項目を囲む色を決めます。
引数
R,G,B : 色を設定します。Rは赤、Gは緑、Bは青です。 例
省略
@setreadselect(使用しないスイッチ)
解説
選択肢記録を行わないようにするにはTrue。するにはFalseを指定します。この命令を書かない場合は選択肢記録されます。
引数
使用しないスイッチ : 使用しない場合はtrueを指定します。 例
省略
表示補助・ルビ振り設定
@dotwaitspeed(”、”のときの待ち時間,”。”のときの待ち時間)
解説
文章表示中に、”。”や”、”があるときウェイトをかけて読みやすくする機能のスイッチです。
引数
”、”のときの待ち時間 : 句点が表示されたとき、ウェイトを置く時間を指定します。ミリ秒を指定してください。 ”。”のときの待ち時間 : 読点が表示されたとき、ウェイトを置く時間を指定します。ミリ秒を指定してください。 例
@dotwaitspeed(0,0)
@wordwrap(行頭禁則指定文字,行末禁則指定文字)
解説
メッセージ表示で、体裁を綺麗にするために禁則文字を指定します。
引数
行頭禁則指定文字 : 行の頭に表示することを禁止する文字を指定します。 行末禁則指定文字 : 行の末尾で表示することを禁止する文字を指定します。 例
@WordWrap("、、。,.・?!゛゜ヽヾゝゞ々ー〜)]}」』!),.:;?]}。」、・ー゙゚ぁぃぅぇぉっゃゅょァィゥェォッャュョ","([{「『([{「")
@settextextent(文字間隔幅,高さ,\wの初期相対高さ,\lの初期相対高さ,\cと\dの初期相対高さ)
解説
文章表示で、ルビ振り用に文字間隔を制御します。
引数
文字間隔幅 : 引数解説 \wの初期相対高さ : ADVウィンドウでの文章表示の初期高さの調整を行います。 \lの初期相対高さ : ノベル画面での文章表示の初期高さの調整を行います。 \cと\dの初期相対高さ : フリーライト画面での文章表示の初期高さの調整を行います。 例
@settextextent(0,6,0,6,0)
@setemoji(絵文字画像ファイル,自動拡大縮小許可,絵文字の正方形基準サイズ)
解説
絵文字機能を使って絵文字を表示するための設定を行います。絵文字画像ファイルは縦横ともに16マスで256コのチップを作ることができます。
引数
絵文字画像ファイル : 絵文字画像ファイルを指定します。 自動拡大縮小許可 : フォントサイズに合わせて絵文字を自動的にサイズ変更するか設定します。 絵文字の正方形基準サイズ : 1パターンのサイズの1辺の長さを指定します。 例
@setemoji("絵文字.BMP",True,16)
@setmsg(メッセージウィンドウのウィンドウフェードイン表示時間)
解説
\1-5/\e命令用の、フェードイン時間を指定します。
引数
メッセージウィンドウのウィンドウフェードイン表示時間 : メッセージウィンドウのフェード時間をミリ秒で指定します。 例
@setmsg(3000)
@novelcol(R,G,B,透明値)
解説
ノベルモードのときの文字裏の半透明下地の色を決めます。また半透明の度合いの数値を指定します。
引数
R,G,B : 色を設定します。Rは赤、Gは緑、Bは青です。 透明値 : 0〜255の範囲の値を指定します。0で透明、128で半透明、255で不透明です。 例
@novelcol(0,10,20,128)
メディア系設定
@voicebgmdown(使用するスイッチ)
解説
音声再生中は音楽の音量を自動で下げるかどうか指定するスイッチです。
引数
使用するスイッチ : 自動で音量を下げる設定にする場合はtrueを設定します。 例
@voicebgmdown(True)
@setmusic(音量,音楽を使うかスイッチ)
解説
音楽を使用するか、音量はどうするかを決めます。
引数
音量 : 音量を指定します。値は1〜1000です。1は無音、1000は最大音量です。 音楽を使うかスイッチ : 使用する場合はTrueを指定します。 例
@setmusic(1000,True)
@setsound(音量,効果音を使うかスイッチ)
解説
効果音を使用するか、音量はどうするかを決めます。
引数
音量 : 音量を指定します。値は1〜1000です。1は無音、1000は最大音量です。 効果音を使うかスイッチ : 使用する場合はTrueを指定します。 例
@setsound(1000,True)
@setvoice(音量,音声を使うかスイッチ)
解説
音声を使用するか、音量はどうするかを決めます。
引数
音量 : 音量を指定します。値は1〜1000です。1は無音、1000は最大音量です。 音声を使うかスイッチ : 使用する場合はTrueを指定します。 例
@setvoice(1000,True)
@usecd(音楽CDを使うかスイッチ)
解説
音楽CDを使用するかどうか決めます。
引数
音楽CDを使うかスイッチ : 使用する場合はTrueを指定します。 例
@UseCD(False)
キャラ情報表示設定
@setchrinfo(キャラクタ番号,キャラクタ顔画像ファイル名,名前,性別,歳,説明文章,音声の使用,キャラクターの色R,G,B)
解説
キャラクター情報を登録します。この命令は、@voice.setchr命令等やキャラ別音声再生や色変更等の機能と連動します。
引数
キャラクタ番号 : キャラクタデータの通し番号を設定します。 キャラクタ顔画像ファイル名 : 128x128のキャラクタの顔画像を指定します。αチャンネルには対応しておりません。 名前 : キャラクターの名前を指定します。 性別 : キャラクターの性別を指定します。省略が可能です。 歳 : 年齢を表示します。省略も可能です。 説明文章 : キャラクタの説明を記述できます。省略も可能です。 音声の使用 : 音声の再生許可・不許可の設定が出来るようにする場合はTrueを指定します。 キャラクターの色R,G,B : キャラクターのメッセージ色の初期値を指定します。この色は、>!キャラ番号<の命令で使用できます。 例
@setchrinfo(0,"info_chr1.jpg","部員 にい","たぶん男","45","無職",true,0,200,255)
多言語情報ファイル設定
@setlanguage(言語ファイル名,言語用フォント名)
解説
メニューの名称などを他の言語へ変更します。
引数
言語ファイル名 : 言語ファイルは、ADVRUN.EXEと同じフォルダ内に置いてください。 言語用フォント名 : フォント名はシステム関係の名称を他言語にしたとき、文字化けを防ぐために標準の他言語用フォントを指定してください。 例
@SetLanguage("ADVRUN.ENG","")
サブルーチン設定
@subroutinefile(サブルーチンスクリプトファイル名)
解説
サブルーチンスクリプトを設定します。これを設定すると、ラベル名が関数名となり、サブルーチンの動作が行われます。
!ラベル名〜@returnまでの命令内容がそのまま関数として、”@sub.ラベル名”で実行できます。
詳しくは、サンプルスクリプトのSubRoutines.SNFを参照下さい。
引数
サブルーチンスクリプトファイル名 : サブルーチンファイルを指定します。 例
@subroutinefile("SubRoutines.SNF")
初期値ファイル設定
@setinitfile(初期値スクリプトファイル名)
解説
変数の指定のみの処理を行わせる事ができます。この関数を指定すると、変数が初期化されたあとに自動で呼び出されて初期値を復旧させます。
引数
初期値スクリプトファイル名 : 初期値ファイルを指定します。 初期値スクリプトファイルの例
//表示位置フラグ初期化用
#sub_swt_chr0=0
#sub_swt_chr1=0
#sub_swt_chr2=0
例
@setinitfile("init.snf")
その他の設定
@EffectData(ズームフェード最大倍率,トランジションのエフェクト幅)
解説
エフェクトの初期データを入れます。倍率は、100%以上とします。
初期値は150です。大きくすると派手になります。
トランジションのエフェクト幅は、1〜8の指定となります。変化幅を設定します。初期設定は4です。
引数
ズームフェード最大倍率 : ズームフェードエフェクト(背景エフェクト)の倍率を設定します。通常は150%(1.5倍) トランジションのエフェクト幅 : トランジション(背景エフェクト)の移動幅を設定します。1〜8です。 例
@EffectData(20000,3)
@setfontsizearea(フォントサイズ最小値,最大値)
解説
設定ウィンドウのフォントサイズの範囲を指定できます。
ウィンドウサイズ・文章の平均長さによって最大値の大きさが異なります。大きな範囲を指定させることはやめてください。
引数
最小値 : フォントサイズの最小値を設定します。 最大値 : フォントサイズの最大値を設定します。 例
@setfontsizearea(10,20)
@setsavepointmode(セーブポイントの使用)
解説
「*セーブラベル」を使用して、セーブポイントを限定するか設定します。シナリオのアップデートによるセーブデータ破壊が起きにくいというメリットがあります。
引数
セーブポイントの使用 : 手動によるセーブポイント設定をオンにするか設定します。 注意事項
・セーブポイントは、「次の選択肢までジャンプ」にも使用されます。そのため、セーブポイントの間隔が短かったりする場合はジャンプ機能にも影響が出ます。
・セーブポイントを使用するようにした場合は、必ずシナリオファイルの先頭や選択肢の直前、必要個所にたくさんのセーブポイントを指定してください。
・メッセージ1つ毎にセーブポイントを設定することを推奨します。
・セーブポイントモード以外で保存したセーブデータは、セーブポイントモードのデータとしては移行できません。(ロードは可能ですが、セーブポイントを記録していないためにシナリオの展開でセーブポイントを通過せずに保存するとエラーとなります)
例
@setsavepointmode(False)
@SetSaveCfg(セーブ画面の画像表示スイッチ,上書きチェック省略スイッチコメント省略スイッチ)
解説
コンフィグウィンドウで設定できるセーブ関連設定の初期値を設定することが出来ます。この設定は、ゲームプレイ中にユーザーが自由に変更できます。
引数
画像表示スイッチ : セーブ画面で、保存時のサムネイル画像を表示しないようにする場合にはTrueを指定します。 上書きチェックスイッチ : 上書き時に警告のウィンドウを表示しないようにする場合にはTrueを指定します。 コメント省略スイッチ : コメントの入力を求めないようにするにはTrueを指定します。
例
@setsavecfg(False)