MAKOTOについて

MAKOTOって何?

どんなことができるの?

つかってみる

ただ変換するだけなら簡単。

  1. The Giftさんの伺か関連倉庫から「Makoto "Basic"」をダウンロードしてくる
  2. makoto.dllとmakoto0.lstとmakoto1.lstを好きなシェル、又はゴーストのmasterフォルダにいれる
  3. \0側の口調を変えたいならmakoto0.lstを、\1ならmakoto1.lstをテキストエディタで開く
    makoto0.lstをテキストエディタで開く。
    (「Makoto "Basic"」はサクラスクリプトの「\0」「\1」を「\h」「\u」と記述されていないと両方のキャラにmakoto0.lstが適応されてしまう。現在「\h」「\u」で記述されているゴーストはほぼ無し。 両キャラ別々に変換設定したい場合他のMAKOTOの使用を推奨)
  4. [SAKURA]の下の行に、 「です。」を「ですわ。」に変換したいなら「です。,ですわ。」と書く。 変換前が左、変換後が右。「,」で区切り。
    一つの単語ごとに改行。
[SAKURA]
です。,ですわ。
です!,ですわ!
ます。,ますわ。
ます!,ますわ!
ですか?,ですの?
私,わたくし

上から順番に変換されていく。
一度変換した単語を下の定義でまた変換…ということもありうるので短い単語は下の方に書くとよさげ。

・単語の途中にサクラスクリプト(ウェイトとか)が入ってると上手く変換できない。
SSPだと「右クリック>機能>スクリプトログ」で実際送信されてるサクラスクリプトが見れるので そこからコピーして変換したい箇所を探すと楽。
(サクラスクリプトがわからない人はDisc-2のSakuraScriptを参照)

・追加シェルの中にある音声ファイルを再生する場合は\_v[..\..\shell\追加シェルフォルダ名\ファイル名]で可能。
同じようにバルーンに画像を貼り付ける事も可能。

・他の人が作ったゴーストにMAKOTOを使った追加シェルとして配布する場合、あまりにも口調を元ゴーストから変えていたら公開する前に作者に確認した方が無難かも。

・makotoのファイル名がmakoto.dllじゃない場合はdescript.txtに「makoto,ファイル名」を記述
複数使う場合はmakoto,[ファイル名,ファイル名]

誤変換対策

例えば「ます。」を「ますわ。」に変換したいけど 「おはようございます。」は「おはようございますわ。」に変換したくないとき。

[SAKURA]
おはようございます。,おはようございま\す。
ます。,ますわ。

単語の間に半角の「\」を入れて変換を防ぐ。\は実際のトーク上では表示されない。

又は

[SAKURA]
ます。,ますわ。
おはようございますわ。,おはようございます。

変換で「おはようございますわ。」になっちゃったものをその下で「おはようございます。」に修正。
1文字単語の変換は上の方法が使えないのでこっちで。
拡張makoto.dllではこの方法は使えない。

現在配布されてるMAKOTO

MAKOTO

Makoto "Basic"
変換単語数が多くても軽い。ただし不具合があるため相方がいてスコープ移行スクリプトが「\0」「\1」で記述されているゴーストには使えない。
拡張makoto.dll
単語のランダム選択ができるらしいですよ。
裏真琴
音声、動画ファイル再生。SSPとの相性が悪いらしい。
狐に真珠
SAORI Call Adapter
SAORI非対応SHIORIでSAORIをつかう。

SAORIとしてもMAKOTOとしても使えるもの

葉梨
発声。hanasi (+manual)
トークを電子音声で喋る。
デフォルトのままでは漢字が喋れないので漢字の読みがな設定が大変。(ひらがな/カタカナしかしゃべらないゴースト、セリフの少ないゴーストなら楽)
moa.dll
単語にゆらぎを与える。
例えば「青」「蒼」「藍」という単語で1グループ作った場合、トーク中に「青」か「蒼」か「藍」の中のどれかの単語があるとそれを「青」か「蒼」か「藍」のどれかにランダムに変換する。

SHIORIとしてもSAORIとしてもMAKOTOとしても使えるもの

里々
毎回OnMakotoだけが呼ばれる/カッコが展開される/自動ウェイトは(送られてきたスクリプトに対しては)付加されることはない(公式テキストより)
 
satori.dllをMAKOTOとして定義し、同じディレクトリにdic(適当な名前).txtを置き、その中に以下のように記述する。
*OnMakoto
(R0)
このイベントは本体ゴーストがどんなトークをしても呼ばれる。(R0)はトーク本文。
satori_conf.txtも同梱してそこでSAORI設定すればssu.dllも使える。他のSAORIも多分使える。
文字変換する場合は里々のOnTranslateの使い方を参考にすると良いと思う。replace.txtも使えるかも。
「>」によるイベントジャンプは使用不可、(現在年)(現在月)(現在日)〜等の里々独自変数は使用可。ssuのif等を使えば条件分岐もできるかもしれない。
他は興味のある方が試してみてください。
AYA as MAKOTOを使用する事によって可。文の機能がつかえる。SAORIも使用可。
元がSHIORIだけあって高機能。特殊な追加シェルを作れる。
ただし少し重いらしい。

AYA as MAKOTO

「文」をMAKOTOとして使用できるセット。
サクラスクリプトを変換する場合変換前の単語の「\」「[」「]」の前に「\」を付けてエスケープする必要があります。(例『'\\s\[0\]','\s[1]'』)

変換単語数が極端に多いと重いです。他のMAKOTOと多重定義しても環境によっては重くなるようです。

これを導入し実際配布されているシェルはこちら。
AYA as MAKOTOを使ってるシェル
 

時間帯によって外見が変化するシェル
AYA as MAKOTO使用例サンプル。
時間帯以外にも季節によって変化するシェル、シェル起動回数によって変化するシェル、メモリ使用量に応じて変化するシェル といったものも作成可能。
外見だけでなく口調変化も可能。
Osuwari
AYA as MAKOTOを使いシェル側からSAORI「Osuwari」を使うパックが配布中。
ウィンドウに座ったりぶらさがったりするシェルを作れる。

makoto.dicの「_result=FUNCTIONEX('osuwari.dll'〜」の箇所を書き換えると設定変更可能。
以下簡易説明。詳しくは公式説明書を。
_result=FUNCTIONEX('osuwari.dll','START',sakurahwnd,/
'【追尾対象】','【位置原点】','【x座標差分】','【y座標差分】','【更新間隔】','【オプション】','【位置取得失敗時指定】','【見切れマージン】')
【追尾対象】
シェルが貼りつくところ。
「ACTIVE」アクティブウィンドウ
「FIX」画面全体もしくはワークエリア(画面からタスクバー等の領域 を除いた部分)
「@***」ウィンドウタイトルに***(文字列を記入)が入ったウィンドウ
「#***」ウィンドウハンドルが***(数値を記入)のウィンドウ
【位置原点】
貼りつく位置。
「TL」左上隅 / 「TR」右上隅 / 「BL」左下隅 / 「BR」右下隅
【x座標差分】 (px単位・半角数値)
位置原点から横方向への座標のずれ
数値のみだと右方向。「-」を付けると左方向。
【y座標差分】 (px単位・半角数値)
位置原点から縦方向への座標のずれ
数値のみだと下方向。「-」を付けると上方向。
【更新間隔】(半角数値)
短くすると位置移動の動きがスムーズになりますが、重くなります。長くするとコマ落ちしますが軽いです。
迷ったら100〜200ぐらい。
【オプション】
以下をスペース区切りで。指定しなくても可。
「XMOVE」横方向に移動可能 / 「YMOVE」縦方向に移動可能 / 「NOCLIP」見切れ判定無し
【位置取得失敗時指定】
追尾対象「FIX」で矩形取得に失敗した時貼りつく位置。
シェルが見切れた時貼りつく位置。
(1)と(2)をスペース区切り指定。
(1)対象
「DESKTOP」デスクトップ / 「WORKAREA」ワークエリア(デスクトップからタスクバー領域を除いた部分)
(2)仮想矩形
どの部分を貼りつくウィンドウとして判断するか。
「CENTER」(1)で指定した部分そのまま
「TOP」(1)で指定した部分の上側(ぶら下がる場合ここが適切)
「LEFT」(1)で指定した部分の左側
「RIGHT」(1)で指定した部分の右側
「BOTTOM」(1)で指定した部分の下側(座る場合ここが適切)
【見切れマージン】 (px単位・半角数値)
シェルが見切れと判定される位置。何も指定しない場合シェルが1pxでも画面の外にはみ出た場合見切れと判断される。
左、上、右、下を「10 20 15 30」のように数値を半角スペースか「_」で区切って指定。

関連サイト

MAKOTOを説明してるとこ

MAKOTOのつかいかた一例

各MAKOTOの更新履歴

MAKOTOを使ってるゴースト/シェル

最近増えてきたので(特に追加シェル方面)探せばもっとあると思います。

戻る