2019年9月29日日曜日

VA-11 Hall-Aスクリプト基礎


使用している原文は公式で行われた2017年人気投票の記事より。

フォントが対応している文字なら全て表示可能です。



■事前準備
(VA-11 Hall-Aのインストールされているフォルダ)\script\eng\
このフォルダにある、anna_script.txtのバックアップを取得します。(リネームでも問題ありません)
次に、メモ帳(慣れているテキストツールがあるなら読み替えて下さい)を開き
[E:1]
と記述して保存します。

注:anna_script.txtはゲーム内では本編1日前のエピソードで発売当初は無料でダウンロードできる「スペシャルデモ」として公開されていた部分です。

■基本的なスクリプト

[XS:jilltalk,1][C:13]Jill:[C:C] G'evening.[STOPLIP:]

ジルの来店挨拶から。組合せ毎に記述します。

[XS:jilltalk,1][STOPLIP:]
VA-11 Hall-Aでは登場人物が喋る度に「ペポペポ」音がしますが、このスクリプトはそれを発生させ、終了を表します。ちなみに、[XS:jilltalk,0]にした場合、ジルの効果音が停止します。[STOPLIP:]で代用できるので、本編でも途中から使われなくなってます。

(参考)各キャラクターの会話音指定
[XS:almatalk,1] アルマ
[XS:antalk,1] アンナ
[XS:arttalk,1] アート
[XS:bettytalk,1] ベティ
[XS:briantalk,1] ブライアン
[XS:dantalk,1] ダナ
[XS:dealtalk,1] ディール
[XS:dtalk,1] ドノヴァン
[XS:dorotalk,1] ドロシー
[XS:gabytalk,1] ギャビィ
[XS:giltalk,1] ギル
[XS:jamietalk,1] ジェイミー
[XS:intalk,1] イングラム
[XS:jesstalk,1] ジェス
[XS:jilltalk,1] ジル
[XS:kimtalk,1] キム
[XS:mariotalk,1] マリオ
[XS:lexitalk,1] レキシー
[XS:mikitalk,1] *キラ*ミキ
[XS:nachotalk,1] ナチョ
[XS:normatalk,1] ノーマ
[XS:seitalk,1] セイ
[XS:steltalk,1] ステラ
[XS:streamtalk,1] ストリーミングちゃん
[XS:taylortalk,1] タイラー
[XS:vellatalk,1] ヴェラ
[XS:virgiliotalk,1] ヴァージリオ
[XS:tomtalk,1] トムキャット
[XS:essentiatalk,1] エッセンティア
[XS:casstalk,1] キャス
[XS:radtalk,1] スバシバ

注:音は基本的に男女でしかわかれていないと思われます。(つまり2種類)

[C:13][C:C]
テキストに色を付けます。13番はジルの名前表示に青い色をつけます。[C:C]までの間が色の適用範囲です。

(参考)各キャラクターの色指定
C:12 ドロシー
C:13 ジル
C:14 アルマ
C:15 ダナ
C:16 ステラ
C:17 セイ
C:18 ドロシー
C:19 ギル
C:20 ドノヴァン
C:21 イングラム
C:22 キム
C:23 ジェイミー
C:24 ベティ
C:25 ディール
C:26 アート
C:27 ストリーミングちゃん
C:28 タイラー
C:29 ヴァージリオ
C:30 ブライアン
C:31 欠番
C:32 スバシバ
C:33 ノーマ
C:34 マリオ
C:35 ナチョ
C:36 レキシー
C:37 ジェス
C:38 トムキャット
C:39 ヴェラ
C:40 エッセンティア
C:41 アンナ
C:42 *キラ*ミキ
C:43 ギャビィ

注:プロローグの犬達は含まれておりません。興味あったらスクリプトでご確認ください。ドロシーが2つ指定されている理由は謎です。

G'evening.

これが台詞本文です。

例えば、長文であったとします。

Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore, While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. "'T is some visiter," I muttered, "tapping at my chamber door — Only this, and nothing more."

こんな感じの文章を入れると横にどこまでも伸びてしまいます。そのため改行コードを入れる必要があります。

改行コードは#です。等幅では無いので、文字数で入れてしまうか、スクリーンで目視しながら入れる必要があります。一度に3行程度に収める必要があります。4行も可能な場合(フォントによる)もありますが、基本3行に収めておいた方が無難です。

■立ち絵表示

[SHOW:185,sprite_gil][XS:giltalk,1][C:19]Gillian:[C:C] Oh, hey guys![STOPLIP:]

最初以外は「基本的なスクリプト」で記述したのと同じです。

SHOW 画像表示コマンド
185 表示位置
sprite_gil 対象立ち絵

185の位置にギルの立ち絵を表示する。という意味になります。
ちなみに185はバー店内のちょうど真ん中あたりになるはずです。
数字が減ると左寄りに、増えると右寄りになります。
本編では多くの場合、一人では、185、二人では、120(左)、280(右)が使用されます。

(参考)各キャラクターの表示コマンド
[SHOW:185,sprite_alma] アルマ
[SHOW:185,sprite_anna] アンナ
[SHOW:185,sprite_art] アート
[SHOW:185,sprite_betty] ベティ
[SHOW:185,sprite_brian] ブライアン
[SHOW:185,sprite_brien] ブライアン
[SHOW:185,sprite_cass] キャス
[SHOW:185,sprite_dana] ダナ
[SHOW:185,sprite_danamask] ダナ(ヘルメット)
[SHOW:185,sprite_deal] ディール
[SHOW:185,sprite_donovan] ドノヴァン
[SHOW:185,sprite_doro] ドロシー
[SHOW:185,sprite_essentia] エッセンティア
[SHOW:185,sprite_gaby] ギャビィ
[SHOW:185,sprite_gil] ギル
[SHOW:185,sprite_ingram] イングラム
[SHOW:185,sprite_jamie] ジェイミー
[SHOW:185,sprite_jess] ジェス
[SHOW:185,sprite_jill] ジル
[SHOW:185,sprite_kim] キム
[SHOW:185,sprite_lexi] レキシー
[SHOW:185,sprite_mario] マリオ
[SHOW:185,sprite_miki] ミキ
[SHOW:185,sprite_nacho] ナチョ
[SHOW:185,sprite_norma] ノーマ
[SHOW:185,sprite_rad] スバシバ
[SHOW:185,sprite_sei] セイ
[SHOW:185,sprite_seimask] セイ(ヘルメット)
[SHOW:185,sprite_seiwound] セイ(包帯)
[SHOW:185,sprite_stella] ステラ
[SHOW:185,sprite_stream] ストリーミングちゃん
[SHOW:185,sprite_taylor] タイラー
[SHOW:185,sprite_tomcat] トムキャット
[SHOW:185,sprite_vella] ヴェラ
[SHOW:185,sprite_virgilio] ヴァージリオ

■立ち絵非表示

[XS:giltalk,1][C:19]Gillian:[C:C] OK, fine...[XS:gilhide,1][STOPLIP:]

[XS:gilhide,1]以外は「基本的なスクリプト」で記述したのと同じです。

gilhide ギル非表示コマンド
1 実行

非表示を実行しないで、別な立ち絵を表示すると重なって表示されてしまいます。基本的に表示順に「後ろ側」に描画されるようです。
(*キラ*ミキのシーンを思い出していただけるとわかりやすいかと)

(参考)各キャラクターの非表示コマンド
[XS:almahide,1] アルマ
[XS:anhide,1] アンナ
[XS:arthide,1] アート
[XS:bettyhide,1] ベティ
[XS:brianhide,1] ブライアン
[XS:casshide,1] キャス
[XS:danhide,1] ダナ
[XS:dealhide,1] ディール
[XS:donhide,1] ドノヴァン
[XS:dorohide,1] ドロシー
[XS:essentiahide,1] エッセンティア
[XS:gabyhide,1] ギャビィ
[XS:gilhide,1] ギル
[XS:inghide,1] イングラム
[XS:inhide,1] イングラム
[XS:jamiehide,1] ジェイミー
[XS:jesshide,1] ジェス
[XS:jillhide,1] ジル
[XS:kimhide,1] キム
[XS:lexihide,1] レキシー
[XS:mariohide,1] マリオ
[XS:mikihide,1] *キラ*ミキ
[XS:nahide,1] ナチョ
[XS:normahide,1] ノーマ
[XS:radhide,1] スバシバ
[XS:seihide,1] セイ
[XS:stelhide,1] ステラ
[XS:streamhide,1] ストリーミングちゃん
[XS:taylorhide,1] タイラー
[XS:tomhide,1] トムキャット
[XS:vellahide,1] ヴェラ
[XS:virgiliohide,1] ヴァージリオ


■立ち絵表情変化

[XS:seiface,smile][XS:seitalk,1][C:17]Sei:[C:C] Yeah! That's it![STOPLIP:]

最初以外は「基本的なスクリプト」で記述したのと同じです。

セイ(最近知りましたが、「星」なのだそうで。朝霧星?)の表情変化。

seiface セイの立ち絵を選択
smile 笑顔

立ち絵が表示されていればいつでも変更可能です。例えば、発言中でも表情変化を入れる事が可能です。…まぁ大変なのでスペシャルデモ以外ではほぼ使用されておりませんが。

表情を変化させた後に表情を戻すには、コマンドを使用します。
変更するまで次の会話に行っても表情は変化しません。

[XS:seiface,] セイの表情を戻すコマンド

(参考)各キャラクターの表情コマンド

アルマ
[XS:almaface,]
[XS:almaface,concern]
[XS:almaface,confused]
[XS:almaface,drunk]
[XS:almaface,drunkconcern]
[XS:almaface,seiours]
[XS:almaface,serious]
[XS:almaface,sigh]
[XS:almaface,smile]
[XS:almaface,smug]
[XS:almaface,worried]

アンナ
[XS:anface,]
[XS:anface,away]
[XS:anface,awayclosed]
[XS:anface,awayhalf]
[XS:anface,happy]
[XS:anface,sad]
[XS:anface,sadclosed]
[XS:anface,sadhalf]
[XS:anface,smug]
[XS:anface,smugsmile]

アート
[XS:artface,]
[XS:artface,sigh]
[XS:artface,sight]

ベティ
[XS:bettyface,]
[XS:bettyface,drunk]
[XS:bettyface,grumpy]
[XS:bettyface,sigh]

ダナ
[XS:danaface,]
[XS:danaface,closedsmile]
[XS:danaface,eee]
[XS:danaface,intensify]
[XS:danaface,worry]

ドノヴァン
[XS:donface,]
[XS:donface,shitgrin]
[XS:donface,smile]

ドロシー
[XS:doroface,]
[XS:doroface,angry]
[XS:doroface,cat]
[XS:doroface,concern]
[XS:doroface,confused]
[XS:doroface,cry]
[XS:doroface,dogs]
[XS:doroface,drunk]
[XS:doroface,heart]
[XS:doroface,pachi]
[XS:doroface,sad]
[XS:doroface,sigh]
[XS:doroface,smug]
[XS:doroface,think]
[XS:doroface,wah]

ギャビィ
[XS:gabyface,]
[XS:gabyface,angry]
[XS:gabyface,pain]
[XS:gabyface,sad]
[XS:gabyface,shy]
[XS:gabyface,shyclosed]
[XS:gabyface,shysad]
[XS:gabyface,shysmile]
[XS:gabyface,smile]
[XS:gabyface,surprise]

ギル
[XS:gilface,]
[XS:gilface,angry]
[XS:gilface,cods]
[XS:gilface,fucked]
[XS:gilface,surprise]

ジェイミー
[XS:jamieface,]
[XS:jamieface,shy]
[XS:jamieface,surprise]

ジル
[XS:jillface,]
[XS:jillface,baka]
[XS:jillface,sad]
[XS:jillface,smile]
[XS:jillface,surprise]
[XS:jillface,think]
[XS:jillface,uh]

キム
[XS:kimface,]
[XS:kimface,mad]
[XS:kimface,murder]
[XS:kimface,sad]
[XS:kimface,sleep]

マリオ
[XS:marioface,]
[XS:marioface,nothet]
[XS:marioface,smile]
[XS:marioface,surprise]

*キラ*ミキ
[XS:mikiface,]
[XS:mikiface,edgelord]
[XS:mikiface,edgy]
[XS:mikiface,smile]

セイ
[XS:seiface,]
[XS:seiface,drunk]
[XS:seiface,happy]
[XS:seiface,pain]
[XS:seiface,sad]
[XS:seiface,sleepy]
[XS:seiface,smile]
[XS:seiface,sorry]
[XS:seiface,worried]

ステラ
[XS:stelface,]
[XS:stelface,baka]
[XS:stelface,concern]
[XS:stelface,happy]
[XS:stelface,pain]
[XS:stelface,sad]
[XS:stelface,surprise]

ストリーミングちゃん
[XS:streaface,]
[XS:streamface,]
[XS:streamface,drunk]
[XS:streamface,drunkex]
[XS:streamface,ex]
[XS:streamface,pout]

ヴァージリオ
[XS:virgilioface,]
[XS:virgilioface,dissapoint]
[XS:virgilioface,serious]
[XS:virgilioface,smug]

■表示ウェイト

発言時の速度にウェイトを付けることができます。

[P:30]

P 停止
30 x10ミリ秒?

数字を大きくするほど大きなウェイトがかかります。

H[P:30]e[P:30]l[P:30]l[P:30]o[P:30].

こんな感じで使用するとゆっくりとHelloと発言します。本編では会話の溜めに使用され、概ね20~30が使用されています。

■エフェクト類

効果音や画面効果コマンド類です。

[BANG:] 銃声
[BOOM:] 爆発音
[CRASH:] 衝突音
[SILENCE:] 静寂
[SHAKE:] 画面揺らし


これで本編での会話は大体表現可能です。(今回、移動、フェイド等は説明を省きました)これ以上の再現を行うなら、スクラッチでGMSで組んだ方が早いでしょう。



0 件のコメント:

コメントを投稿