|

リファレンスマニュアル
(c)2004 ヅラChu@てとら★ぽっと
|
| |
1.データ作成
1.1 スクリプトの作成
1.2 画像の作成
1.3 効果音の作成
1.4 BGMの作成
1.5 動作テスト
1.6 ファイルの結合
|
| |
1.1 スクリプトの作成
スクリプトファイルは、メッセージの表示や選択肢による分岐、画像の表示や効果音、BGMの演奏など、ビジュアルノベルの進行を制御するファイルです。tutorialフォルダの“tutorial.pvn”などを参考に、メモ帳などのテキストエディタで編集して下さい。
1.1.1 拡張子、ヘッダ
スクリプトファイルの拡張子は“.pvn”である必要があります。また、スクリプトファイルの先頭に
PVSC
というヘッダを入れてください。半角大文字で、これより前に余計な文字を入れないで下さい。
ヘッダを“PVNS”または“PVN2”にすると、『P/ECE
VISUALNOVEL SYSTEM』のメッセージ表示方法でスクリプトを書くことができますが、本リファレンスでは『P/VNScripter』のメッセージ表示方法しか説明しません。『P/ECE
VISUALNOVEL SYSTEM』のメッセージ表示方法については同ソフトのリファレンスをご覧下さい。
1.1.2 メッセージの表示
全角文字で普通に文章を書いていくと、メッセージとして表示されます。表示文字数は、1行当たりで標準フォントの場合12文字、縮小フォントの場合15文字で、一画面に最大8行表示できます。詳しくはsetwin命令を参照して下さい。スクリプト中の改行はメッセージ中でも改行になりますが、空行にはならないので、空行を表示したい場合はbr命令を使用して下さい。
また、以下の特殊文字によって、メッセージ表示を制御することができます。
| @ |
Aボタンによるメッセージ送りを待ちます。 |
| \ |
Aボタンによるメッセージ送りを待ち、ページ送りします。 |
| / |
次のメッセージ表示文字が来るまで、スクリプト中の改行を無視します。 |
| _ |
次の文字について、clickstr命令の効果を無視します。 |
| !d数字 |
数字×10ms単位でウェイトをかけます。Aボタン、→で省略可。 |
| !w数字 |
数字×10ms単位でウェイトをかけます。Aボタン、→で省略不可。 |
| !s数字 |
以後、メッセージウィンドウに1文字書く毎に、数字×10ms単位でウェイトをかけます。
つまりはメッセージスピードを制御します。Aボタン、→で省略可。標準は!s0。 |
clickstr命令を使うと、特定の文字(例えば“。”など)を表示する際に自動的にAボタンによるメッセージ送りを待つことができます。詳しくはリファレンスを参照して下さい。
1.1.3 命令
画像の表示、効果音の再生やBGMの演奏、選択肢による分岐などのノベルの制御は、スクリプト中に書かれた命令によって行なわれます。命令は半角小文字で、引数をもつものもあります。詳しくは命令一覧をご覧下さい。
1.1.4 変数
『P/VNScripter』には、フラグなどの値を格納しておくための変数が存在します。変数の内容を画面に表示させたり、命令の引数として使用することができます。セーブデータごとに固有のローカル変数が256個、ゲーム全体で共通のグローバル変数が16個あります。グローバル変数は変更されると自動的にセーブファイルに保存されるので、クリアフラグなどに使うと良いでしょう。変数は整数型で、値域は-32768〜+32767です。
変数の使用方法ですが、ローカル変数は%0〜%255、グローバル変数は$0〜$15と半角文字でスクリプト中に書くことで、命令の途中なら引数として使われ、そうでなければメッセージとして表示されます。
1.1.5 ラベル
『P/VNScripter』で、スクリプトの特定位置に移動するときは、ラベルを使用します。goto命令やgosub命令の引数にラベルを与えることで、スクリプトの読み込み位置を移動させることができます。ラベルとして認識されるのは、行の先頭に“*”(アスタリスク)があるところから、半角スペースまたはタブまたは改行があるところまでです。ラベルには全角文字と半角文字の両方使えますが、半角の“,”(カンマ)、“;”(セミコロン)は入れないで下さい。
1.1.6 コメント
『P/VNScripter』では、各行の“;”(セミコロン)以降は、行末までをコメントと見なします。コメントはスクリプトの実行に何ら影響を及ぼさないので、注釈などを書いておくと後々便利です。ただし、配布するノベルでは、ファイル容量を抑えるため削除しておいたほうがいいでしょう。
|
| |
1.2 画像の作成
『P/VNScripter』で表示できる画像は、P/ECEの標準ビットマップ形式である、拡張子が“.pgd”のファイルです。Windowsの標準ビットマップファイル(拡張子“.bmp”、モノクロ4階調(立ち絵画像、スプライト画像の場合はこれに加えて透明色))を以下のツールなどで変換して作成します。
- BMPコンバータ(P/ECE開発環境に付属)
- BMP2PGD(ていこくさん)
- P/ECE Bitmap Converter for Console(じぇぬろーくさん)
画像の表示については画像表示系命令を参照して下さい。なお、『P/VNScripter』からは背景画像、立ち絵画像に加え、スプライト画像を表示できるようになりました。
|
| |
1.3 効果音の作成
『P/VNScripter』で演奏できる効果音は、P/ECEの標準PCM形式である、拡張子が“.ppd”のファイルです。Windowsの標準サウンドファイル(拡張子“.wav”、16,000Hz)を以下のツールなどで変換して作成します。なお、ADPCMにも対応しています。
- PCMコンバータ(P/ECE開発環境に付属)
- コンソール版PCMコンバータ(nsawaさん)
効果音の演奏については音楽再生系命令を参照して下さい。
|
| |
1.4 BGMの作成
『P/VNScripter』で演奏できるBGMは、P/ECEの標準音楽形式である、拡張子が“.pmd”のファイルです。P/ECE用に書いたMMLファイル(拡張子“.mml”)を以下のようなツールで変換して作成します。P/ECE用MMLの詳細は、P/ECE開発環境のドキュメントをお読み下さい。
- mucc(P/ECE開発環境に付属:\usr\PIECE\bin\mucc.exe)
- WinMucc(P/ECE開発環境に付属:\usr\PIECE\bin\WinMucc.exe)
フリーのpmdファイルを公開している方もいますので、それを利用させてもらうのもいいでしょう。
BGMの演奏については音楽再生系命令を参照して下さい。
|
| |
1.5 動作テスト
ここまでで作ったスクリプトファイル、画像、効果音、BGMファイルをP/ECEに転送し、『P/VNScripter』を起動することで、ビジュアルノベルを動作させることができます。起動したらスクリプトファイルを選んで実行します。ビジュアルノベル実行中にスクリプトにエラーがあると、ゲームの進行が止まるので、スクリプトファイルを適宜修正して再度P/ECEに転送して下さい。
|
| |
1.6 ファイルの結合
『P/VNScripter』は、ビジュアルノベルの動作に必要なファイルを1つにまとめたパッケージファイルを読み込んで動作させることもできます。パッケージファイルを用いることで、ユーザにも転送するファイルが分かりやすく、フラッシュメモリの容量を無駄にせずに済むという利点があります。『P/VNScripter』Ver1.1以降で認識できるパッケージファイルの種類、およびパッケージファイル作成ツールには以下のような物があります。
- fpk - P/ECEの標準ファイルパック形式です。
- filepack(P/ECE開発環境に付属:\usr\PIECE\bin\FilePack.exe)
- fpkTool(はらやんさん)
- コンソール版FilePackユーティリティ(nsawaさん)
- pva - pvnspackで圧縮した拡張ファイルパック形式です。使用方法についてはAppendix:pvnspackをご参照下さい。
- par - par(Yui N.さん)で圧縮した拡張ファイルパック形式です。LZSS圧縮、Zlib
Deflate圧縮、無圧縮の全てに対応しています。
これらを用いて、作成したビジュアルノベルのスクリプト、画像、効果音、BGMのファイルを1つのパックファイルにまとめます。この時、パッケージファイルのファイル名は拡張子の前までスクリプトファイルと同じファイル名にして下さい。
【例】スクリプトが“example.pvn”なら“example.fpk”。
|
|
2.命令一覧
2.1 メッセージ表示系命令
2.2 制御系命令
2.3 画面表示系命令
2.4 音楽再生系命令
2.5 変数演算系命令
※『P/VNScripter』と『P/ECE
VISUALNOVEL SYSTEM』で命令の挙動が異なる場合があります。詳しくは各命令のリファレンスをご覧下さい。
|
|
2.1 メッセージ表示系命令
2.1.1 br
【P/VNScripter新命令】メッセージ中で空行を挿入します。
br
2.1.2 clickstr
【P/VNScripter新命令】スクリプト中にキー待ち文字列が現れた時、自動的にAボタンを待ってメッセージ送りします。メッセージウィンドウの残り行数がページ送り行数以下の場合、Aボタンを待ってページ送りします。一時的に効果を解除したい場合はスクリプト内の該当文字の前に“_”を入れて下さい。
clickstr "キー待ち文字列",
ページ送り行数
キー待ち文字列 -
メッセージ送り待ちする文字の羅列。全角8文字まで。
ページ送り行数 -
メッセージウィンドウの残り行数がページ送り行数以下の場合、メッセージ送りではなくページ送りにします。
- 変数可。
【使用例】
clickstr "。!?」", 2
;
。!?」のいずれかが表示されるとき、メッセージ送り待ちする。
;
メッセージウィンドウの残り行数が2行以下ならキー待ち後ページ送りする。
2.1.3 sel
選択肢を表示してプレイヤーに選択させた結果によって、指定されたラベルに移動します。選択肢数は最大でウィンドウの行数までです。現在表示中のメッセージと選択肢数の合計がウィンドウの行数を越える場合、先にAボタンを待ち、ページ送りします。
【P/VNScripter新仕様】選択肢内で変数を使用することができます。
sel
"選択肢1", *ラベル1, "選択肢2", *ラベル2…
選択肢 -
1行に表示できる文字数以内の文字列。
2.1.4 setwin
【P/VNScripter新命令】メッセージウィンドウの設定を変更します。引数は任意に省略可能です。デフォルトは下から、3行、標準フォント、黒です。
setwin [位置] [, [行数] [, [フォント] ,
[色]]]
位置 - 0:上から、1:下から。8行の場合は無視される。 -
変数可。
行数 - 1〜8。 - 変数可。
フォント - 0:標準フォント(10×10ドット)、1:縮小フォント(8×10ドット)。
- 変数可。
色 - 0:白、1:黒。文字色はウィンドウ色と逆。 - 変数可。
【使用例】
setwin 1, 3, 0, 1 ;
下から、3行、標準フォント、黒に設定する。
setwin 0 ;
上からに設定する。
setwin , 8, , 0 ; 8行(全画面)、白に設定する。
2.1.5 font
画面に表示するフォントを変更します。標準フォント(10×10ドット)だと1行に12文字、縮小フォント(8×10ドット)だと1行に15文字表示できます。切り替えは一画面単位なので、命令実行時にメッセージウィンドウに文字が残っている場合は、先にAボタンを待ってページ送りしてから変更されます。デフォルトは標準フォントです。
【非推奨】setwin ,
, 0またはsetwin , , 1と等価です。
font フラグ
フラグ - 0:標準フォント、1:縮小フォント。 - 変数可。
2.1.6 mode
メッセージウィンドウのモードを変更します。3行ウィンドウモードだと下から3行のウィンドウ、全画面モードだと8行のウィンドウを表示します。切り替えは一画面単位なので、命令実行時にメッセージウィンドウに文字が残っている場合は、先にAボタンを待ってページ送りしてから変更されます。デフォルトは3行ウィンドウモードです。
【非推奨】setwin 1,
3またはsetwin , 8と等価です。
mode フラグ
フラグ - 0:3行ウィンドウモード、0以外:全画面モード。 -
変数可。
2.1.7 winoff
メッセージウィンドウを消去するため、メッセージを消去します。
winoff
|
|
2.2 制御系命令
2.2.1 wait
【P/VNScripter新仕様】10ms単位でウェイトをかけ、スクリプトの続きが実行されるのを待ちます。
【非推奨】メッセージ表示時は!dおよび!wを使用する方が好ましいです。
【P/ECE VISUALNOVEL SYSTEM】待ち時間が×100msとなります。
wait 待ち時間 [, フラグ]
待ち時間 - ×10ms。変数可。
フラグ -
0:待ち時間中にAボタンが押されてもウェイトを終了しない(!w相当)、1:待ち時間中にAボタンが押されたらウェイトを終了する(!d相当)。省略時は0。
- 変数可。
2.2.2 goto
指定されたラベルに移動します。
goto *ラベル
2.2.3 ongoto
変数の値に応じて、それぞれ指定されたラベルに移動します。変数の値に対応するラベルがない場合は、移動せずに続きのスクリプトを実行します。
ongoto {%|$}変数, [*ラベル0], [*ラベル1]…
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。
ラベル -
それぞれ、変数の値が0の時、1の時…の飛び先。省略可。
【使用例】
ongoto %0, *x=0, *x=1, , *x=3
2.2.4 gosub
指定されたラベルに、サブルーチンとして移動します。サブルーチンから戻るときは必ずreturn命令で帰ってくるようにして下さい。
【P/VNScripter新仕様】サブルーチン用のスタックは8個なので、9階層以上のサブルーチンはスタックオーバーでエラーになります。
gosub *ラベル
2.2.5 ongosub
変数の値に応じて、それぞれ指定されたラベルにサブルーチンとして移動します。サブルーチンから戻るときは必ずreturn命令で帰ってくるようにして下さい。変数の値に対応するラベルが書かれていない場合は、移動せずに続きのスクリプトを実行します。
【P/VNScripter新仕様】サブルーチン用のスタックは8個なので、9階層以上のサブルーチンはスタックオーバーでエラーになります。
ongosub {%|$}変数, [*ラベル0], [*ラベル1]…
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。
ラベル -
それぞれ、変数の値が0の時、1の時…の飛び先。省略可。
【使用例】
ongosub $0, *x=0, *x=1, , *x=3
2.2.6 return
gosub命令で移動した先から戻ってきます。gosub命令を使用していない場合はエラーになります。
return
2.2.7 if
変数の大小関係などの条件式について、それが真ならば行末までの以降のスクリプトを実行し、偽ならば実行せずに次の行まで移動します。&(論理積)については、if命令を2つ並べることで対応して下さい。
if 条件 スクリプト…
条件 - 変数 等号または不等号 変数 という形式。
| = |
== |
AとBが等しい |
<> |
!= |
AとBが等しくない |
| < |
|
AはBより小さい |
> |
|
AはBより大きい |
| <= |
=< |
AはB以下である |
>= |
=> |
AはB以上である |
【使用例】
if %0 == 0 変数%0はゼロです\ ;
条件に当てはまる時のみメッセージを表示する。
2.2.8 save
セーブの許可・不許可を変更します。この命令を実行する前に、savefile命令でセーブファイルを定義して下さい。セーブファイルを定義した時点では、セーブは許可されています。
save フラグ
フラグ - 0:不許可、1:許可。 - 変数可。
2.2.9 savefile
セーブファイル名を定義し、セーブを許可します。同時に、グローバル変数を読み込みます。該当する名前のファイルがない場合、新規作成します。該当する名前のファイルがあってもヘッダが異なる場合(『P/ECE
VISUALNOVEL SYSTEM』で作成したセーブファイルなど)、エラーになるので注意して下さい。【参考:Appendix
3.1】
savefile "セーブファイル名"
2.2.10 title
「最初から」と「ロード」が選択できるメニューが表示されます。savefile命令でセーブファイルを定義していない場合、「ロード」は選択できません。
title
2.2.11 end
ノベルの実行を終了します。スクリプトファイルの終端までいけば自動的に終了するので、途中で終了させたいのでなければ、明示的に書く必要はありません。
end
2.2.12 debug
【P/VNScripter新命令】デバッグモードでスクリプトを実行します。デバッグモードでは、スクリプト実行中にエラーが発生しても、終了せずにそのまま続行されます。
debug
|
|
2.3 画面表示系命令
2.3.1 bg
背景に画像を表示、もしくは背景を単色でベタ塗りします。背景画像は2bitマスク無しまたは2bitマスク付きで作成して下さい。2bitマスク無しの方がファイルサイズ的に好ましいです。画像サイズが画面より小さい場合は、画面いっぱいに敷き詰めます。
【P/VNScripter新仕様】画像ファイルの拡張子が“.pgd”の場合、拡張子を省略できます。
bg "画像ファイル名"
bg 背景色
背景色 - 0:白、1:薄灰色、2:濃灰色、3:黒。 -
変数可。
2.3.2 ld
立ち絵画像を表示します。画像は2bitマスク付きで作成して下さい。指定した位置に既に画像が表示されている場合、その画像を消去して表示します。画像は下端に固定されるように表示されます。
【P/VNScripter新仕様】画像ファイルの拡張子が“.pgd”の場合、拡張子を省略できます。
ld "画像ファイル名", 位置
位置 - 0:左、1:中央、2:右。 - 変数可。
2.3.3 cl
立ち絵画像を消去します。
cl {位置}
位置 - 0:左、1:中央、2:右。省略時は全て消去。 -
変数可。
2.3.4 zorder
立ち絵表示における奥行きを指定します。前に指定した位置から順に、表示順序が奥、中ほど、手前となります。初期状態では奥から左、右、中央となっています。
zorder 位置1, 位置2, 位置3
位置1〜3 - 0:左、1:中央、2:右。 - 変数可。
2.3.5 lsp
【P/VNScripter新命令】スプライト画像を表示状態で登録します。画像は2bitマスク付きで作成して下さい。指定したIDに画像が登録されている場合、その画像を登録解除して登録します。画像ファイルの拡張子が“.pgd”の場合、拡張子を省略できます。
lsp "画像ファイル名", ID, x座標,
y座標
ID - 0〜2。 - 変数可。
x座標, y座標 - 変数可。
2.3.6 lsph
【P/VNScripter新命令】スプライト画像を非表示状態で登録します。画像は2bitマスク付きで作成して下さい。指定したIDに画像が登録されている場合、その画像を登録解除して登録します。画像ファイルの拡張子が“.pgd”の場合、拡張子を省略できます。
lsph "画像ファイル名", ID, x座標,
y座標
ID - 0〜2。 - 変数可。
x座標, y座標 - 変数可。
2.3.7 vsp
【P/VNScripter新命令】スプライト画像の表示状態、位置を変更します。
vsp ID, [フラグ] [, [x座標] [, [y座標]]]
ID - 0〜2。 - 変数可。
フラグ - 0:非表示、1:表示。 - 変数可。
x座標, y座標 - 変数可。
【使用例】
vsp 0, 1 ;
0番のスプライトを表示設定にする。
vsp 1, , 40, 20 ; 1番のスプライトの表示位置を(20, 20)にする。
2.3.8 csp
【P/VNScripter新命令】スプライト画像を登録解除します。
csp {ID}
ID - 0〜2。省略時は全て登録解除。 - 変数可。
|
|
2.4 音楽再生系命令
2.4.1 snd
P/ECE用に変換した効果音ファイルを再生します。同時に再生できる音声は3chです。指定したchですでに効果音が鳴っている場合、それを停止して新しく指定したファイルを再生します。効果音再生終了後、同じchで効果音を再生するまではメモリ上にファイルデータが残る仕様なので、再生が終わった頃に明示的にsndstop命令を使うことを推奨します。
【P/VNScripter新仕様】画像ファイルの拡張子が“.ppd”の場合、拡張子を省略できます。
snd "効果音ファイル名",{ch}
ch - 1〜3。 -
変数可。無指定の場合はch1。
2.4.2 sndstop
効果音の演奏を停止し、メモリを解放します。
sndstop {ch}
ch - 1〜3。無指定の場合は全chを停止。 - 変数可。
2.4.3 bgm
P/ECE用に変換したBGMファイルを演奏します。すでにBGMが鳴っている場合、それを停止して新しく指定したファイルを演奏します。
【P/VNScripter新仕様】画像ファイルの拡張子が“.pmd”の場合、拡張子を省略できます。
bgm "BGMファイル名"
2.4.4 bgmstop
BGMの演奏を停止します。
bgmstop
|
|
2.5 変数演算系命令
2.5.1 set
変数に値を代入します。
set {%|$}変数, 代入する値
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。
代入する値 - 変数可。
【使用例】
set %0, 1 ; 変数%0に1を代入する。
set $0, %0 ; グローバル変数$0に変数%0の値を代入する。
2.5.2 rnd
変数に指定した範囲内の乱数を代入します。
rnd {%|$}変数, 上限
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。
上限 - 0〜(上限-1)の範囲で乱数が与えられる。 -
変数可。rnd {%|$}変数, 下限, 上限
下限、上限 - 下限〜(上限-1)の範囲で乱数が与えられる。
- 変数可。
【使用例】
rnd %0, 3 ;
変数%0に0〜2の範囲の乱数を代入する。
rnd $0, 1, 5 ;
グローバル変数$0に1〜4の範囲の乱数を代入する。
2.5.3 add
変数に値を加算します。または、2値を加算した結果を変数に代入します。
add {%|$}変数, 加算する数
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。
加算する値 - 変数可。add {%|$}変数, 加算される値, 加算する値
加算される値、加算する値 - 変数可。
【使用例】
add %0, 2 ; 変数%0に2加算する。
add $0, %1, 3 ; グローバル変数$0に%1+3の和を代入する。
2.5.4 inc
変数に値を1加算します。
inc {%|$}変数
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。
【使用例】
inc %0 ; 変数%0を1加算する。
2.5.5 sub
変数から値を減算します。または、2値を減算した結果を変数に代入します。
sub {%|$}変数, 減算する値
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。
減算する値 - 変数可。sub {%|$}変数, 減算される値, 減算する値
減算される値、減算する値 - 変数可。
【使用例】
sub %0, 2 ; 変数%0から2減算する。
sub $0, %1, 3 ; グローバル変数$0に%1−3の差を代入する。
2.5.6 dec
変数から値を1減算します。
dec {%|$}変数
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。【使用例】
dec %0 ; 変数%0から1減算する。
2.5.7 mul
変数に値を乗算します。または、2値を乗算した結果を変数に代入します。
mul {%|$}変数, 乗算する値
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。
乗算する値 - 変数可。mul {%|$}変数, 乗算される値, 乗算する値
乗算される値、乗算する値 - 変数可。
【使用例】
mul %0, 2 ; 変数%0に2乗算する。
mul $0, %1, 3 ;
グローバル変数$0に%1×3の積を代入する。
2.5.8 div
変数から値を除算します。余りは切り捨てます。または、2値を除算した結果を変数に代入します。
div {%|$}変数, 除算する値
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。
除算する値 - 変数可。div {%|$}変数, 減算される値, 減算する値
除算される値、除算する値 - 変数可。
【使用例】
div %0, 2 ; 変数%0から2除算する。
div $0, %1, 3 ; グローバル変数$0に%1÷3の商を代入する。
2.5.9 mod
変数から値を除算した余りを代入します。または、2値を除算減算した余りを変数に代入します。
mod {%|$}変数, 除算する値
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。
除算する値 - 変数可。mod {%|$}変数, 除算される値, 除算する値
除算される値、除算する値 - 変数可。
【使用例】
mod %0, 2 ;
変数%0に%0÷2の余りを代入する。
mod $0, %1, 3 ; グローバル変数$0に%1÷3の余りを代入する。
2.5.10 swap
変数に代入されている値を入れ替えます。
swap {%|$}変数1, {%|$}変数2
変数 -
%0〜%255(ローカル変数)、または$0〜$15(グローバル変数)。【使用例】
swap %0, %1 ; 変数%0と変数%1の中身を入れ替える。
|
|
3.Appendix
3.1 pvnspack
3.2 セーブファイル仕様
|
| |
3.1 pvnspack
『pvnspack』は、『P/VNScripter』および『P/ECE
VISUALNOVEL SYSTEM』Ver2.xで動作する拡張ファイルパック形式のパッケージファイルを作成するコンソールツールです。コマンドプロンプトで
> pvnspack ファイル名1 ファイル名2 …
と入力すると、指定したファイルに拡張子“.pvn”のものが含まれる場合、出力ファイル名が“(拡張子の前まで同じ名前).pva”というパッケージファイルが作成されます。ファイル名指定にはワイルドカードも使用できます。
> pvnspack *.pvn *.pgd *.ppd *.pmd
|
| |
3.2 セーブファイル仕様
セーブファイルの仕様です。サイズは1セクタ(4096bytes)です。うまく利用すると、ノベルと他のアプリを連動させるということも可能です。各構造体についてはヘッダファイルを添付しますのでご参照下さい。
※『P/VNScripter』Ver1.1のセーブファイルは、『P/VNScripter』Ver1.0、『P/ECE
VISUALNOVEL SYSTEM』Ver1.xおよび2.xとの互換性はありませんのでご注意下さい。
| 項目 |
オフセット |
サイズ |
型 |
内容 |
| グローバル |
0 |
4 |
char[4] |
ファイルヘッダ(“PVSS”) |
| 4 |
32 |
short[16] |
グローバル変数($0〜$15) |
| 36 |
220 |
|
(使用予定無し) |
| セーブ1 |
256 |
8 |
PCETIME |
セーブ時刻 |
| 264 |
1056 |
SAVE_DATA |
セーブデータ |
| 1320 |
216 |
|
(予約) |
| セーブ1 |
1536 |
8 |
PCETIME |
セーブ時刻 |
| 1544 |
1056 |
SAVE_DATA |
セーブデータ |
| 2600 |
216 |
|
(予約) |
| セーブ1 |
2816 |
8 |
PCETIME |
セーブ時刻 |
| 2824 |
1056 |
SAVE_DATA |
セーブデータ |
| 3880 |
216 |
|
(予約) |
SAVE_DATA型について
| オフセット |
サイズ |
アラインメント |
型 |
内容 |
| 0 |
8 |
|
SCRIPT_POINTER |
セーブ時のスクリプトポインタ※ |
| 8 |
64 |
|
SCRIPT_POINTER[8] |
gosub命令用スタック |
| 72 |
241 |
242 |
char[241] |
メッセージウィンドウの文字列 |
| 314 |
2 |
|
short |
メッセージスピード(1文字表示毎の待ち時間(×10ms)) |
| 316 |
17 |
18 |
char[17] |
clickstr命令のキー待ち文字列 |
| 334 |
2 |
|
short |
clickstr命令のページ送り行数 |
| 336 |
544 |
|
short[256+16] |
ローカル変数、グローバル変数(ダミー) |
| 880 |
8 |
|
WINDOW_STATE |
ウィンドウの状態 |
| 888 |
2 |
|
short |
背景色(画像の場合は-1) |
| 890 |
119 |
120 |
char[7][17] |
画像ファイル名(左、中、右、スプライト1〜3、背景) |
| 1010 |
6 |
|
short[3] |
スプライト表示フラグ |
| 1016 |
6 |
|
short[3] |
スプライトx座標 |
| 1022 |
6 |
|
short[3] |
スプライトy座標 |
| 1028 |
6 |
|
short[3] |
立ち絵画像の奥行き順 |
| 1034 |
17 |
18 |
char[17] |
BGMファイル名 |
| 1052 |
4 |
|
BOOL |
デバッグモードか否か |
※選択肢の時点でセーブした場合、スクリプトポインタはsel命令の地点になります。
SCRIPT_POINTER型について
| オフセット |
サイズ |
型 |
内容 |
| 0 |
4 |
unsigned long |
ポインタ |
| 4 |
4 |
unsigned long |
行 |
WINDOW_STATE型について
| オフセット |
サイズ |
型 |
内容 |
| 0 |
2 |
short |
ウィンドウ位置 |
| 2 |
2 |
short |
行数 |
| 4 |
2 |
short |
フォント |
| 6 |
2 |
short |
ウィンドウ色 |
|
|
|