# 概要

起動しておくと適当に喋ります。しかし「作者」によって用意された台本はありません。


# やや詳しい内容

Stand システムはローカルマシン上にスクリプトを持っておらず、必要に応じてマスターサーバからスクリプトデータを取得します。マスターサーバには web からのスクリプト書き込みインターフェースがあり、そこから誰でもスクリプトデータを入力できます。つまり、誰でも何でも(普及している全クライアントを)喋らせることができる、ということです。

また、SSTP サーバ機能を有し、ネットワークを介して外部からスクリプトないしエコーデータ(コンソールメッセージ)を送信することで、汎用の文字出力デバイスとして使用できます。クライアント機能も有しているので、(それに意味があるかどうかはともかくとして)Stand 単体でサービスマシン同士が双方向に通信できます。


# 補足

本当はマスターサーバが必ずしも役に立つものとは限らない(ただ同じスクリプトを返すだけなら意味がない)ので、上記特性の大部分は実際には Stand の特性ではなくて Shinatiku MOD の特性である。





# キャラクタ


しなちく

人間界に修行に来た魔法界のプリンセスを次々と殺戮する少女。ことあるごとに差別語差別語とわめき散らす当人が差別意識丸出しという事故が幼少期のトラウマとなり、ゲームとして見たら積み上げられた糞としか言いようがない子供騙しのギャルゲーが大量生産され続ける中、江角マキコの毒にも薬にもならないにわか説教に耐えかねて 12歳で出家。廃人と呼ばれると「本当の廃人はもっと凄いよ」と何が言いたいのか判断しかねる反応をするタイプの人々が「レベル50?弱いねww」「PK あったら殺すのにwww」などと意気込む横で大阪城を完成させるなど数々の奇跡を起こす。その後カネコで「ジャッキーチェン」を制作してジャッキー本人に怒られるなど職を転々。戦後に入ってからは京都大学うどん学科で教鞭を振るい、現在に至る。代表的な著書に「初心者です。助けてください」など。





うさ

賞金首の捕獲を生業とするバウンティハンター(賞金稼ぎ)ってまたそれかよ。考え直せよ。という神託を出生と同時に受け、3歳から週刊少年ジャンプで連載を始めるが、内容がカウボーイビバップの丸パクりだったためサンライズからクレームが入り 10話で突き抜ける。その後タマちゃんを見守る会の偽善者ぶりに怯えながら屋根の上で糞 camp を始めるも、厳しい批評をすることで何か偉くなったと勘違いしているボケを真人間に更正させるのはもはや不可能と判断。そのショックから飛行形態への変形が可能となり、長年に渡り正義のヒーローとして手前の幼稚な善悪観を基準に人を殺しまくった。現在は執筆活動に専念、代表的な著書に「土龍閃の秘密」「お前のネトゲプレイ日記誰も見てない」など。




# システムの基本操作


画面上に出るウインドウは大体ドラッグ&ドロップで移動できます。各ウインドウの位置は保存され、次回起動時も復元されます。

いわゆる GUI はありません。制御はコンソールからコマンドを打ち込むことで行います。

CTRL+ALT+SPACE もしくは CTRL+SHIFT+SPACE でコンソールを開閉できます。

CTRL+ALT+ENTER もしくは CTRL+SHIFT+ENTER で最小化/復元できます。

コンソールにカーソルがある時、カーソルキーの上下でヒストリ参照、TAB キーで補完ができます。UNIX 系のまともなシェルには付き物のアレ。例

ex と入力して TAB を押すと、exit が提示される。
sa と入力して TAB を押すと、say sayhttp saynext が順番に提示される。
何も入力しないで上キーを押すと、1つずつ古いヒストリを遡る。
sa と入力して上キーを押すと、ヒストリの中で sa で始まるものが順番に提示される。ない場合は何も出ない。





# コマンド


シェルで入力することで実行される関数。ホワイトスペースを区切りとして複数の引数を取る。引数自体がホワイトスペースを含む場合はシングルクォートする。例

say 'this is a pen'


  • exit
  • quit

    プロセスを終了する。

  • break

    現在再生中のスクリプトを破棄し、即座に通常状態に戻る。

  • hide

    コンソールを隠す。

  • home

    GUI フォームの位置をデフォルト位置に戻す。

  • setguiattribute [interfaceID] [attrID] [value]

    interface ID で示される GUI パーツの attrID で示される要素に value に設定する。

    定義されている interface ID 値は、console、scriptor、texture の 3つで、それぞれ、コンソールフォーム、スクリプタフォーム、テクスチャフォームを示す。

    現在定義されている attrID 値は alpha のみ。alpha アトリビュートはアルファ値を表し、value を 0〜255 で指定する。255 が実体、0 が完全に透明。255 を指定した時、Stand GUI は多く場合透過ファンクション自体を切断するので、描画の高速化が望める。なおアルファを 0 付近に設定してフォーカスを失うと制御不能に近い状態になるので注意すること。

  • reload

    マスターサーバからマスタースクリプトを取得する。

  • restart

    SSTP サーバモジュールを現在の設定でリスタートする。

  • changetextureset [value]
  • changescriptortextureset [value]
  • changeemotiontextureset [value]

    上から、テクスチャセット、スクリプタテクスチャセット、エモーションテクスチャセットを value に切り替える。

  • pause

    Pause 状態に入る。Pause 中は Automatic Say および Automatic Reload が行われない。Pause 状態の時に再度コマンドすると状態解除される。

  • say [script]

    [script] をスクリプタに送る(喋る)。

  • sayhttp [url]

    [url] からドキュメントを取得し、それをスクリプタに送る(喋る)。url がバイナリを指している場合の動作は不定。

  • saynext

    マスタースクリプトリストからスクリプトを発言し、ポインタを 1進める。

  • sendsstp [ip] [port] [script] [echostring]

    ip で指定されたサーバの port で指定されたポートに接続し、SSTP データを送信する。script が Script ヘッダに、echostring が Echo ヘッダにセットされる。Sender は sv_sstpsender 変数の値が用いられる。

  • timeleft

    次の Automatic Say および Automatic Reload までの時間を表示する。

  • loadtexture [tID] [filename]

    filename で指定されるビットマップファイルをテクスチャ ID tID にロードする。

  • registertexturealias [tyID] [fID] [alias] [tID]

    タイプ tyID のスコープ fID の表情語エイリアス alias にテクスチャID tID のテクスチャを関連付ける。タイプ ID は 0 がテクスチャフォーム、1 がスクリプタフォーム、2 がエモーションフォームを表す。スコープ ID は 0 が本体、1 が相方を表す。それぞれ別個にエイリアスリストが保持される。

  • settexture [tyID] [fID] [tID]

    タイプ tyID のスコープ fID にテクスチャ tID をセットする。<t> タグのコア関数。手打ちで使う場合は主に初期化に使用。

  • registeranimation [apID] [filename]

    filename で指定されたアニメーション定義ファイルをアニメーションパイプライン apID にロードする。パイプライン ID はそのテクスチャセットが持つ全アニメーションについて一意な値であり、重複できない。

  • registerguioffset [typeID] [tID] [x] [y]

    typeID が予約語 emotion だった場合、テクスチャ tID がテクスチャフォームに表示された際のエモーションフォームとの位置関係を表すオフセット値を (x,y) に設定する。





    # システム変数


    シェルで入力すると現在の変数の内容が出る。第一引数に値を与えるとその値に変更される。


  • sv_masterurl

    マスターサーバの URL。

  • sv_proxyhost
  • sv_proxyport
  • sv_proxyusername
  • sv_proxypassword

    上から順に、HTTP リクエストに用いるプロクシサーバの IP アドレス、ポート、ユーザ名、パスワード。全部空文字列ならプロクシを使用しない。認証のないプロクシでは後者 2つを空文字列にする。

  • sv_sstpserverport

    SSTP サービスを行うポート。0 をセットするとサービスしない。変更を反映するには restart が必要。

  • sv_sstpserverquiet

    SSTP サービス関連のシステムログを表示するかどうかのフラグ。0 の場合、通信ヘッダを含めた全てのログが表示されるが、Echo によって送られてくるリモートコンソールメッセージはシステムログに埋もれて非常に見づらくなる。1 の場合、SSTP サーバはシステムログをほとんど出さないので、Echo によって送られてくるリモートコンソールメッセージは見やすくなる。変更を反映するには restart が必要。

  • sv_sstpsender

    SSTP クライアントとしてデータを送信する際の Sender ヘッダの値。

  • sv_saypointer

    マスタースクリプトリスト上での現在位置を指すポインタ。マスターサーバへの http リクエストの際 st パラメータとして付与される。ローカルコピー上での現在位置を指すポインタではないことに注意(つまりマスターサーバが st パラメータを処理できなければこの変数は無意味)。

  • sv_scriptorclosetime

    スクリプト再生終了後自動でスクリプタフォームを hide するまでの時間。単位ミリ秒。

  • sv_textureauthor
  • sv_scriptortextureauthor
  • sv_emotiontextureauthor

    上から、カスタムテクスチャセット、カスタムスクリプタテクスチャセット、カスタムエモーションテクスチャセットの作者名。





    # スクリプトインラインコマンドタグ


  • <c,[sID]>

    コントロールスコープ(カレントキャラクタ)を sID 番に切り替える。0 が本体、1 が相方。-1 は特殊で、ブロードキャストスコープとなり、以降の文字やコマンドが全スコープに同時に影響を及ぼす(同時に喋る)。

  • <n>

    改行する。

  • <w,[time]>

    time ミリ秒ウエイトを入れる。ミリ秒単位で指定できるが精度は低い(50〜100ms 程度)。

  • <t,[tALIAS]>

    テクスチャを tALIAS で指定されたテクスチャに切り替える。感情情報。

    代表的な tALIAS 値

    normal
    標準の表情(微笑がスタンダード)
    smile
    笑っている表情
    angry
    怒っている表情
    surprised
    驚いている表情

    全ての感情情報が全てのテクスチャセットで有効であるとは限らない。

  • <e,[eALIAS]>

    eALIAS で指定されたエモーションアイコンを出す。こちらも感情情報。

    代表的な eALIAS 値

    ex
    exclamation

    感嘆
    que
    question

    疑問
    fun
    楽しい
    love
    ハート
    press
    不安
    firework
    ひらめき
    angry
    怒り
    money
    silence
    沈黙

  • <clear>

    スクリプタフォームをクリアする。文字は全て消され、カーソル位置が (0,0) に戻る。

  • 戻る