このドキュメントはいもうとデスクトップのキャラクタ作成,特にスクリプトの記述に関する簡易メモです. 自分でキャラクタを作成してみたいひとが,最初から一通り動作するキャラクタを作成するまでを想定しています. 本体にもspec.txtおよびreference.txtが付属しているので,それらの補完になればいいなぁ,と.
1章の"キャラクタ作成編"では,新規にキャラクタを作成し,いもうとデスクトップ本体に読み込ませて動作させるまでを記述します.2章の"スクリプト応用編"では,スクリプトを編集して,条件に応じて柔軟な対応をさせるための方法を記述します.
各キャラクタは自身のフォルダを本体の\client\characters\
以下に持っています.フォルダ名は(おそらく)自由につけられますが,標準セットのキャラクタはすべて名前をフォルダ名にしています.
キャラクタフォルダの内容は以下のように構成されます.
┬ images(フォルダ)─ 立ち絵ファイル ├ scripts(フォルダ)─ スクリプトファイル ├ character.xml └ profile.xml
images
フォルダは立ち絵に使用される画像を格納するフォルダです.ファイル名はsurface + ID + .png
とし,このID
でスクリプト上で画像を識別します.ファイル名に大文字,小文字の区別はありません.ID
には,0
以上2147483647
以下の整数を使用します.ただし,デフォルトで読み込まれるため,ID
が0
のファイルは必ず存在していなければなりません(ファイル名はsurface0.png
).ファイル名に指定するID
に負値を使用することはできません.複数の画像ファイルを使用する場合,ID
は互いに連続している必要はありません.
surface15.png
(この場合,ID
は15
)ID
に負値を使用しても,本体側が負値のついたファイル名に対応してないので使用されることはありません.scripts
フォルダにはキャラクタの応答パターンを記述したスクリプトファイルを格納します.スクリプトの書き方については3節以降で記述します.
character.xml
はキャラクタの初期設定を記述するファイルです.次節で内容について解説します.
profile.xml
はキャラクタ使用時に変更した設定内容などが保存されるファイルです.ファイルがなければキャラクタ使用時に生成されるので,あらかじめ作成しておく必要はありません.
ここでは,あらかじめ用意しておいたフォルダを使用して実演を行います.このマニュアルのtemplate
フォルダに入っているnadeshiko
フォルダを,本体の\client\characters\
フォルダにコピーしてください.nadeshiko
フォルダには,images
フォルダ,scripts
フォルダおよび,character.xml
が入っていることを確認してください.このフォルダには起動に必要な最低限のセットがそろっているため,この時点で本体を起動するとキャラクタの選択肢に"なでしこ"が追加されていると思います.
キャラクタの初期設定は"character.xml"に記述します.デフォルトの「さくら」の場合は以下のようになっています.
<?xml version="1.0" encoding="utf-8"?> <Character> <Name>さくら</Name> <ID>{F3EC60A3-C5FB-443a-B05E-C3345AB37269}</ID> <Description>新デフォルト</Description> <Age>12</Age> <TsundereLevel>3</TsundereLevel> </Character>
<Character>の中の項目は順番に,キャラクタの名前,識別用ID,キャラクタに関する説明文,初期年齢,初期ツンデレレベルです.識別用IDにはGUID
と呼ばれる形式の値が使用されています.このIDは本体が使用するもので,スクリプトでは使用しません.ほかのキャラクタ(あるいはバルーン)と重複しないGUID
ならば値に制限はないと思われます.キャラクタに関する説明文ですが,これもスクリプトでは使用しません.初期ツンデレレベルは,1
から9
までのいずれかの整数値で,値が小さいほど性格がツンよりになることが期待されるという値です.スクリプトの関連してくる値は初期年齢,初期ツンデレレベルです.
tool
フォルダにGUID生成ツールを同梱しておきました.では,実際にキャラクタの初期設定を変更してみましょう.先ほどコピーして作成したnadeshiko
フォルダ内のcharacter.xml
を,右クリックして編集を選択します.一般的な環境ではファイルがメモ帳で開かれると思います.名前や年齢など,適当に変更してみてください.変更内容を保存後,本体を起動してキャラクタ名や初期設定が変わっていることを確かめてください.初期設定は右クリックメニューの「機能」-「オプション」のなかの「いもうと」の項目で確認できます.「いもうと」の項目は,現在選択されているキャラクタの設定の確認と変更ができます.
キャラクタの立ち居振る舞いはscripts
フォルダ内にあるスクリプトファイルによって決められています.フォルダ内には,スクリプトファイルのほか,imouto.ini
ファイルと,imouto_vars.txt
ファイルがあります.スクリプトファイルは必要な数だけ置くことができます.スクリプトファイルの名前は拡張子を含め,(おそらく)決まりはありません.
imouto.ini
は使用するスクリプトファイルを指定するファイルです.このファイルに登録していないファイルは本体に読み込まれません.ファイルの指定にはパスを使用可能なため,scripts
フォルダ内にサブフォルダを作成し,そこにスクリプトファイルをおくこともできます.
imouto_vars.txt
は,スクリプトで使用されたグローバル変数の値を格納するファイルです.必要に応じて自動生成されるため,作成しておく必要はありません.
なでしこのscripts
フォルダを開いてください.imouto.ini
とtemplate.txt
というファイルがあると思います.このうち,template.txt
がスクリプトファイルになります.imouto.ini
を開いてください.dictionaryで始まる中括弧{}
の中に,template.txt
が書かれていると思います.今後,スクリプトファイルを追加する場合には,下の例のように,中括弧の中に,1行に1ファイルずつ名前を追加していきます.
dictionary { template.txt newScript.txt }
基本的な情報はreference.txtを参照してください.ここでは,スクリプトを作成,編集するのに必要な項目について記述していきます.スクリプトファイルはプリプロセスおよび(複数の)関数で構成されています.プリプロセスと関数は,いずれも名称を記述した行から開始し,次の関数の始まる行の前の行で終わります.プリプロセスは#
で始まる要素で,関数の実行条件をファイルごとにまとめるのに使用されています.プリプロセスはあってもなくても構いません.プリプロセスについては3章3節で触れます.関数は$
で始まる要素で,キャラクタの振る舞いを記述するための要素です.そのほか,//
で始まる行はコメント行で,この行は本体からは無視されます.また,空白行も本体からは無視されます.
template.txt
を開いてください.このファイルの最初の要素は$OnBoot
です.プリプロセスはファイルの冒頭になければならないため,このファイルにはプリプロセスはないことになります.
関数には0個以上の命令が所属します.命令は1行で1命令という数え方をします.命令には単純な文字列から,他の関数の呼び出しや条件分岐までさまざまなものがありますが,最終的には文字列をひとつ生成します.この生成された文字列が,本体に表示されるメッセージになります.
スクリプトは本体へのコマンド入力に対しての振る舞いを記述するものですが,コマンドの入力内容とその実行結果により,本体から呼び出される関数が異なります.この,本体側から直接呼び出される可能性のある関数をイベント関数と(勝手に)呼んでいます.たとえば,コマンドとして「接続」を入力した場合,本体がサーバへの接続を試行し,結果により,$OnLogined
,$OnConnectFailure
,$OnIncorrectPassword
のいずれかが呼び出されます.イベント関数の一覧と対応する呼び出しイベントの条件はspec.txtを参照してください.キャラクタ作成者は基本的にすべてのイベント関数を実装しておく必要があります.ただし,実装されていない関数が呼ばれた場合でも,メッセージがなしになるだけで,エラーにはなりません.
template.txt
をみると,$OnBoot
に所属する命令は,"こんにちは。"の1行だけです.コメント行や空白行はカウントしません.このため,$OnBoot
が呼び出された場合,必ず"こんにちは。"が表示されることになります.一方,$OnClose
のは"さよなら。"と"それじゃ。"の2行が所属しています.この場合,$OnClose
が呼び出されるたびに,いずれかひとつの命令が実行されることになります.テンプレートの"なでしこ"はほとんどの関数がセリフを1つしかもっていないため,かなり単調で冷淡な対応になります.それぞれの関数のセリフを好みのものに書き換え,バリエーションを増やすことで,オリジナルのキャラクタができていきます.
ページの最上段へ移動