まめフラスコ version1.2における里々記法のサポートについて
里々って?
http://www.geocities.jp/poskoma/satori.html
どんな感じ?
櫛ケ浜やぎさまのC++のコードを部分的にActionScript3に移植したものなので、一定の互換性がありますが、実装をしていない機能も多く、
また、まめフラスコの内部構造が伺かのそれとは(とうぜん、おおきく)異なり、栞システムを持っていないため、里々そのものではありません。
1.5.4での状況もご確認ください(ssu関係が改善しています)
つかいかた
descript.txt内に
mmflask.shiori,satori
と記述してください。この一行がない場合は、辞書ファイルをミニ華和梨エンジンで解析します(sentence:, ${}などを用いた記法)。
例:
デフォルトキャラクターの辞書 を見てもらうと、「できること」については、わかるひとにはわかりやすいかもしれません。
できること(と、できないこと)
基本的なこと
- dic~.txtによる複数辞書ファイル
- dicAnchor~.txtによる自動アンカー
- replace.txt, replace_after.txtによる置換
- ×: satori_conf.txtによる初期化はできません
- 「*」をもちいたランダムトークの記述。採用条件も付帯されられます。
- 「*トーク名」をもちいたイベントトークの記述(イベントは「初回」「起動」「終了」「OnFirstBoot」「OnBoot」「OnClose」のみです。
「OnSatoriLoad」「OnMinutesChange」,「OnGhostChange」なんかもありません)
- 「@」による単語群の登録
- 「()」によるサーフェスの切り替え、単語群、変数の呼び出し。()の入れ子もできます。
- 「>」によるジャンプ。条件も付帯させられます。
- 「:」によるスコープの切り替え
- 「$」による変数の代入・削除
- 「φ」によるエスケープ
- さくらスクリプトの直接記述(ただし、まめフラスコで対応しているさくらスクリプトは非常に少ないです)
基本的にまったくできないこと
- ×: 内部関数、ssuの使用(単語の追加、バイト値、calc, if, when, iflist, call, set, loopなど)
- ×: 特殊変数の設定による挙動の変更(ほぼすべての変数は、ただのユーザ変数として扱われます)
変数について
- 変数の設定はほぼすべてただのユーザ変数として扱われます。代入、計算式での計算結果の代入もできます。
- $変数名【タブ】での削除ができます。
- 情報取得変数は(現在年)(現在月)(現在日)(現在曜日)(現在時)(現在分)(現在秒)(起動回数)(ユーザ名)(ユーザ誕生月)(ユーザ誕生日)が読み取られることが可能です。
- (ユーザ名)等設定パネルから入力する項目は、上書きしてもパネルに反映されません。
- ○: (デフォルトサーフェス0)(デフォルトサーフェス1)(サーフェス加算値0)(サーフェス加算値1)(会話時サーフェス戻し)(乱数○~△)が使えます。
- ×: ほかは、(次のトーク)(~の重複回避)(~の存在)(R○)(A○)(H○)(辞書フォルダ)(自動挿入ウェイト~)などすべて機能しません。
- 変数の保存は左上×ボタンが押されたときにされます。(手動セーブ)や(自動セーブ間隔)などは設定しても機能しません。
計算について
- ランダムトークの採用条件や、ジャンプの条件、変数の代入に計算式を書けます。()の入れ子もできます。使用可能な演算子は里々に準じます。
文、単語群の選択条件について
- 文はすべて「起動中」「有効」の重複回避です。
- 単語群はすべて「トーク中」「有効」の重複回避です。
- これらは変更できませんし、そのため文や単語ごとの設定もできません。
こんご
「できないこと」はむずかしいから、でなく、(とりあえず重要度低いだろうとの独断のもと)やってないから、なので、そのうちやるかもしれません。
現状
内部関数,ssu
- "set"○
- "nop"○
- "freeze"○
- "call"○
- "単語の追加"○
- "sprintf"×
- "calc"○
- "calc_float"×
- "if"○
- "unless"○
- "nswitch"○
- "switch"○
- "iflist"○
- "substr"×
- "split"×
- "join"○
- "replace"○
- "replace_first"○
- "erase"○
- "erase_first"○
- "count"○
- "compare"×
- "compare_head"×
- "compare_tail"×
- "length"×
- "is_empty"×
- "is_digit"×
- "is_alpha"×
- "zen2han"×
- "han2zen"×
- "hira2kata"×
- "kata2hira"×
- "reverse"×
- "at"×
- "choice"○
はんぱですみません…