らくだ屋/里々から華和梨への移行ガイド
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
里々から華和梨への移行ガイド。里々に慣れていれば華和梨の...
----
#contents
#br
*なぜ移行するのか [#b081fdc1]
-同時に3体以上のキャラを使う
-自動ウェイト挿入や頭に挟まれるサーフェス戻し、自動改行が...
-記述内容を一行にしたい、コンパクトにまとめたい、スリムに...
-さくらスクリプト主体でトークを書きたい
-一度設定した変数は必ず保存されてめんどい
-命令が全角半角入り混じっていて覚えにくい
こういうとき里々はキツい。管理はできなくはないけど超めん...
なら里々と表記ルールの近い華和梨がオススメよ、というのが...
#br
#br
*このガイドを読むにあたって必要なもの [#g47f5df0]
-&color(blue){里々の使用経験};
--内部関数やssu、SAORIの基本的な使い方までは知っておきたい
-&color(blue){栞イベントの実装経験};
--OnBootとかOnGhostChangedとリファレンス、(R0)とか(...
#br
*里々の特殊性の理解 [#i6e08d02]
-華和梨に限らず基本的に&color(red){全角数字は演算や計算に...
--全角は文字列としてならともかく計算は不可。数字は半角で...
-トークは さくらスクリプト が全ての基本
--トークの終わりには必ず \e を
--里々は辞書で書いた改行がそのままトークでも改行になる(...
#br
*華和梨の基礎用語 [#y112b8a9]
-&color(blue){【エントリ】};
--変数のこと。使い方も意味もまったく同じだと考えてOK
--文もトークも単語群も書ける
-&color(blue){【kis】};
--Kawari Inline Scriptの略
--華和梨内部に組み込まれているsaoriみたいなもので、里々で...
-&color(blue){華和梨がシステム的に使う文字};
--里々が全角かっこ【()】で囲まれた変数を呼び出して置換...
---&color(red){【,】}; 半角コンマ。単語の区切り。
---&color(red){【:】}; 半角コロン。エントリ定義文につかう。
---&color(red){【${}】}; エントリ呼び出し。
---&color(red){【$[]】}; 演算式。この間は改行やタブが使い...
---&color(red){【$()】}; kis。この間は改行やタブが使い放...
---&color(red){【()】}; ブロック。この間は改行やタブ、半...
---&color(red){【""】}; エスケープ。クォート文字使用。
--順次説明していきます。
#br
*華和梨の表記ルールの要点 [#e02cfe26]
**里々との違いから学ぶ華和梨の基本 [#d4dd1a4a]
***基本トーク [#xde94692]
#---- 里々でこう書いたものは
*OnBoot
>起動
*起動
:(0)ちゃす。
#---- 華和梨ではこう書く
OnBoot : ${起動}
起動 : \0\s[0]ちゃす。\e
-違いは、里々の > が ${} に置き換わっていて、 # や数字...
#br
***基本単語 [#e865f0bd]
里々
*食べ物のトーク
:(0) 昨日、(おかず)がなくてさー。
:(10)……。
@おかず
納豆
カレー
うなぎパイ
華和梨
食べ物のトーク : \0\s[0]昨日、${おかず}がなくてさー。\1\...
おかず : 納豆 , カレー , うなぎパイ
-この二つの例で華和梨の記法の基本はだいたい揃っとります
-&color(blue){半角コロン【:】の前がエントリで、後ろが単語...
-基本的に一行で済ませる、途中で改行を入れるとエラー
-里々では単語表記を * や @ と分けているが、華和梨はコン...
#br
***単語の書き方 [#u0ace6c7]
-単語群の書き方の派生形
-下の例はどれを書いても一緒
おかず : 納豆
おかず : カレー
おかず : うなぎパイ
おかず : 納豆 , カレー
おかず : うなぎパイ
おかず : 納豆 , カレー , うなぎパイ
#br
**こうしたらどうなるの?的な例をチェック [#ycdee546]
***展開の展開の展開の、、、 [#w83922c3]
-展開先のエントリもさらに展開される
トークする : ${sentence}
灼熱のファイヤーダンス : \0\s[5]コンパイルっ!\e
sentence : ${Track.1}
Track.1 : ${灼熱のファイヤーダンス}
>トークする の実行結果
>さくら「コンパイルっ!」
#br
***単語の単語の、、、 [#l5fb97e0]
-一つのエントリの中に複数の単語があっても展開に不備は起こ...
Aトーク : スマブラしよう。
Aトーク : テトリスしよう。
Aトーク : ドリラーしよう。
Bトーク : 寝る。
Bトーク : 眠い。
Cトーク : でかける。
トークえらび : ${Aトーク} , ${Bトーク} , ${Cトーク}
トークする : \0\s[0]${トークえらび}\e
>トークする の実行結果
>さくら「スマブラしよう。」 ※確率により変化
#br
***重ねたらどうなる?(入れ子) [#z04cbbf7]
-里々と同じく、華和梨でも&color(blue){内側にあるものから...
-利用価値が高いので書き方と使い方を覚えておくと便利です
今日の機嫌 : まあまあ
トークする : ${トーク.${今日の機嫌}}
トーク.まあまあ : \0\s[5]ハウルの動く尻って映画見てきた...
トーク.それなり : \0\s[0]部屋に篭ってゲーム漬け。\1\s[10...
トーク.さいあく : \0\s[0]……。\e
>トークする の実行結果
>さくら「ハウルの動く尻って映画見てきたよ!」
>うにゅう「……!」
#br
#br
*( ~ ) ... ブロック [#z38fb669]
半角かっこを使った記法。
-見づらいから一行で収めたくない時に。この中では改行やタブ...
食べ物のトーク : (
\0\s[0]昨日、
${おかず}が
なくてさー。
\1\s[10]……。
\e
)
-&color(blue){華和梨はタブを文字列として認識しない};ので...
#br
**ブロックで単語を書くときは? [#a2b67504]
-既に説明した通り、上のルールを単語を書くときコンマ【,】...
おかず : (
納豆 , カレー , うなぎパイ
)
>さくら「と。
>昨日、納豆 , カレー , うなぎパイがなくてさー。」
>うにゅう「……。」
-とか喋りやがることに。
-この場合、括弧を一度閉じてから【,】で区切るしかありません
おかず : (
納豆
) , (カレー) , (
うなぎパ
イ
)
-見た目は色々変だけど大丈夫。ただここまでするなら単語定義...
#br
**エントリ登録時の特殊ブロック表記 [#ef919ba8]
-この表記はコロン【:】を使わずにエントリを定義する記法で...
-文章を省略できる性質上、関数定義とかでよく使われます
-普通はあえて使うまでもない(というか逆に華和梨のルールが...
おかず (
納豆,
カレー,
うなぎパイ
)
-改行し放題、前後の半角スペースやタブ文字を無視する、は共通
-違うのはコンマ【,】が単語区切りに使えるという点。どうに...
#br
*" ~ " ... エスケープ [#t996fc19]
ダブルクォーテーションによるエスケープ
-&color(red){ダブルクォーテーション【"】でくくった部分は...
-里々におけるφと似たようなもの
-ポイントとして、「何がなんでも」文字列にするので、普段は...
-例
>\![change,ghost,ゴースト名]
-このさくらスクリプトにはコンマが含まれているので、そのま...
>\![change
>ghost
>ゴースト名]\e
-の、3つの単語として分割して解釈されてしまう
-そこでダブルクォーテーションの出番
ランダムチェンジする : \![change","ghost","random]\e
ランダムチェンジする : \!["change,ghost,random"]\e
ランダムチェンジする : "\![change,ghost,random]\e"
-こんな感じで、コンマをダブルクォーテーション内に収めると...
#br
-もちろんブロックを使うのもあり。
ランダムチェンジする : (
\![change,ghost,random]\e
)
-ブロックの中では、コンマやコロンを文字として扱ってくれる...
-ちなみにここからさらにダブルクォーテーションでくくっても...
#br
**ダブルクォーテーションで ${} をくくると? [#z3d7352d]
-当然、エントリを呼ばずに文字列になります。つまり…
トークする : "\0\s[7]地球のみんな!オラに${パワー}を分け...
パワー : 元気 , 太陽光 , ぱんつ
>トークする の実行結果
>さくら「地球のみんな!オラに${パワー}を分けてくれ!」
-文字列になってしまうので、${パワー}エントリは展開されず...
-特にさくらスクリプト内にエントリ呼び出しを使う場合は気を...
#br
**ダブルクォーテーションは文字列にできる? [#lc7f7096]
-もちろん可能です。そのための第二のエスケープも用意されて...
トークする : \0\s[0]ダブルクォーテーションを出力 → '"' \e
トークする : \0\s[0]ダブルクォーテーションを出力 → \" \e
>トークする の実行結果
>さくら「ダブルクォーテーションを出力 → " 」
-参考/[[華和梨ユーザーズマニュアル 3.2. クォート文字列:h...
#br
*$[ ~ ] ... 演算式 [#k08e229d]
-華和梨では、四則演算(加減乗除、+-×÷)、比較演算、ビッ...
#br
**里々と華和梨の違いから学ぶ計算式 [#k6913d9d]
-参考/[[華和梨 ユーザーズマニュアル 6. 演算式:http://kaw...
里々の場合
*トークする
$計算結果=1+1
:(0)1足す1は、(計算結果)。
華和梨
トークする : \0\s[0]1足す1は、${計算結果}。\e
計算結果 : $[ 1 + 1 ]
縮めると
トークする : \0\s[0]1足す1は、$[ 1 + 1 ]。\e
-一目瞭然ながら&color(red){ $[] で囲まれた部分が演算式};...
-特徴と注意は下記の通り。
--&color(blue){数字と演算子は半角しか使えない};
--&color(blue){$[] に囲まれた部分であればいくら改行やタブ...
--&color(blue){一般的な数学のルールが成り立ち、+ - より *...
#br
***色々な書き方 [#h8385129]
-上の注意点に則っているので以下のような書き方をしてもエラ...
$[(1+1)*2]
$[ 100 % 3 ]
$[ ${お前のものは} != おれのもの ]
$[ ${気温} < 10 ]
-いずれの場合にしても、$[ から ] までの部分が計算結果に置...
#br
**中身消滅にご用心 [#ff705a6e]
-0で割る、もしくは空っぽ(のエントリ)と乗算や除算をする...
トークする : \1わいは$[ ${クッキーの数} / 2 ]つ貰うで。\...
クッキーの数 : ""
>トークする の実行結果
>うにゅう「わいはつ貰うで。」
#br
*$( ~ ) ... kis [#tab67c9c]
-Kawari Inline Script 略して kis
-使う上で外せない華和梨の生命線で、saoriを使う場合もkisを...
#br
-誤解を恐れずに書いてしまうなら里々にとっての内部関数&ss...
--違い
---ssuは里々に付随する単体のSAORI(さおりなので登録が必要)
---kisは華和梨に最初から組み込まれている
#br
**里々と華和梨の比較から学ぶkis「set」 [#h89357b3]
-以下の結果になるものを作る
-ここでは里々の内部関数と華和梨のkisに共通して存在する「s...
>トークする の実行結果
>さくら「うー、宿題がどっさりだ。」
里々
*トークする
:(set,宿題量,どっさり)(0)うー、宿題が(宿題量)だ。
華和梨
トークする : $(set 宿題量 どっさり)\0\s[0]うー、宿題が${...
-&color(red){ $() で囲まれたものがkis};
-里々のsetではコンマで区切っていたのに対して、華和梨のkis...
-間違えないように
#br
***半角スペースが区切りということは [#o70c76fb]
-半角スペースが区切りであるという事は。。。
*トークする
:(set,今の心境,み な ぎ っ て き た)(7)(今の心境)...
-上の例のように、セットしたい文字列に半角スペースが含まれ...
-里々のこれを華和梨で実現するからといって、単純に
トークする : $(set 今の心境 み な ぎ っ て き た)\0\s[7]...
-こんな風に書くのは厳禁。変な結果が戻ってきます
-じゃあどうするかといえばダブルクォーテーションの出番、こ...
トークする : $(set 今の心境 "み な ぎ っ て き た")\0\s[...
#br
**里々と華和梨の比較から学ぶkis「if」 その1 [#a27fa89b]
-これも里々のssuに共通して存在するコマンド「if」こと条件...
-華和梨を使う際、setなどと並んで最も多用すると思われるkis
>共通前提条件
>変数「満腹度」 = 10
>変数「満腹度」が20以下でトークが分岐する
>トーク の実行結果
>さくら「う~、はらへった。」
里々
*トーク
:(0)う~、(if,(満腹度)<20,はらへった。,まだ我慢。)
華和梨
トーク : \0\s[0]う~、$(if $[ ${満腹度} < 20 ] "はらへっ...
-いきなり $() $[] ${} の三種類が複合する厄介なもの……かと...
-色をつけて見やすくしてみると、
--\0\s[0]う~、&color(red){$(if };&color(green){$[ ${満腹...
-構造は里々の例とそっくりさん
--里々 ... &color(red){(if , };&color(green){条件式};&...
--華和梨 ... &color(red){$(if };&color(green){条件式};&co...
-すごく、、、にています
-里々の「&color(blue){間違ってた時の文};」が省略できるよ...
-条件式には、ここでは比較演算式を使っているので、演算式で...
-里々のifを使えるのであればこちらもすぐに使えるはず
#br
**里々と華和梨の比較から学ぶkis「if」 その2 [#q3606e6c]
-里々で有名なif(条件分岐)といったら外せないコレ↓
*トークする
>だが断る (好感度)<100
:(5)おっはー。
:(10)古っ…。
*だが断る
:(7)やなこった!
-これを華和梨で似たような表記として再現するのは不可能なので
-少し砕く
トークする : $(if $[ ${好感度} < 100 ] ${だが断る} else ...
あいさつ : \0\s[5]おっはー。\1\s[10]古っ…。
だが断る : \0\s[7]やなこった!
-前の例のようにそのまま文を書いてもいいけど、こうしてエン...
-ポイントとして、この例のifの後には \e がある。これで、${...
#br
**kisまとめ [#g9cd1d2c]
-kisの基本的な説明はここまでです
-具体的に何ができるかとかそういうのは本家のマニュアルが詳...
-参考/[[華和梨インラインスクリプト リファレンス:http://k...
-当然、全部を覚える必要はないので、暇な時ににらめっこして...
#br
**kisの補足みたいなもの、練習みたいなもの [#g94225d7]
#---- 単語を設定するkis
$(set caramel ウッウーウマウマ)
#---- 文字数をかぞえるkis
$(length ${caramel})
-マニュアルを読んでいると、「kisにはエントリ名を ${} でく...
--まずkisをざっくり分類
---&color(blue){1 ... エントリ名を指定して、そのエントリ...
---&color(blue){2 ... 文字列を指定して、その文字列を操作...
---&color(blue){3 ... それ以外、構文コマンドとか};
---&color(blue){4 ... それ以外、わけのわからないもの};
--マニュアルのコマンド一覧にある「辞書操作」のkisは1、「...
-1に書くkisのエントリには ${} を使わない。エントリを直接...
-2に書くものは文字列なので、エントリの中身を使うなら ${} ...
#br
#br
-挙動の例題
トークする : $(set ${空模様} ${天気予報})\0\s[0]うーん…$...
空模様 : "今日の天気"
天気予報 : "どんより曇り"
>トークする の実行結果
>さくら「うーん…どんより曇り。」
-答え
--${空模様} が 今日の天気 になる
--${天気予報} が どんより曇り になる
-結果
$(set "今日の天気" "どんより曇り")
-になる
-すなわち、${今日の天気} エントリに「どんより曇り」が代入...
#br
*エントリ名に使える文字 [#zcc74927]
-エントリ名に使える文字を列挙しておきます
--&color(blue){全角文字};
--&color(blue){英数字【A~Z a~z 0~9】};
--&color(blue){アットマーク【@】};
--&color(blue){クエスチョンマーク【?】};
--&color(blue){ピリオド【.】};
--&color(blue){アンダーバー【_】};
#br
*華和梨ではとても身近にある「配列」 [#obd3b72f]
-難しい名前ですが、要するに同じエントリの何番目の単語を呼...
おかず : 納豆 , カレー , うなぎパイ
トークする : \0\s[0]えー!? また$おかず[0]なの!?\e
>トークする の実行結果
>さくら「えー!? また納豆なの!?」
-この例では2つの疑問が浮かんだはず
--今までエントリの呼び出しは ${} だったのに、ここでは何故...
---{} のないこの単語呼び出しは、&color(red){配列で呼び出...
---特殊な書き方なので違和感あるかも知れませんが、そういう...
--うしろに [0] とかついている
---[0] とは配列を示す番号のこと。&color(blue){「この単語...
---&color(red){この番号は0から始まる};ので、先頭1番目の単...
この例では、
>$おかず[0] → 納豆
>$おかず[1] → カレー
>$おかず[2] → うなぎパイ
ってわけで~
この書き方を使えば、単語をランダムでなく選んで呼び出せる
-ちなみに、この配列番号は先頭から順に割り振られるので、以...
おかず : 納豆 , カレー , うなぎパイ
おかず : 納豆
おかず : カレー , うなぎパイ
*ちょっとしたまとめと補足 [#va6f4111]
-里々は単語・内部関数・ssu・SAORIを全て () で済ませてい...
--&color(blue){${} ... 単語群(エントリ)の呼び出しと展開...
--&color(blue){$[] ... 演算式。演算結果へと置換される。こ...
--&color(blue){$() ... kis。戻り値へと置換される。この中...
--&color(blue){() ... ブロック。この中は改行や半角スペー...
-いずれも、内側にあるものから順に展開
-注意しなければならないのは、''括弧の閉じ忘れ''そして''閉...
#br
-華和梨が「半角スペースを文字列として認識しない」箇所
--&color(blue){コロン【:】の前(エントリ名のあと)};
--&color(blue){コロン【:】の後(単語の直前)};
--&color(blue){コンマ【,】の前後};
--&color(blue){文の末尾};
--&color(blue){$[] 、 $() の中};
-以上の条件ならば入れ放題
-例
おかず : 納豆
おかず:カレー ,うなぎパイ
今の心境 : "み な ぎ っ て き た"
セッティング : $(set 好感度
9999 )
トークする : (
\0\s[0]$おかず[0]! $おかず[1]!
$おかず[2]!\n
${今の心境}! ${セッティング}! ${好感度}!
)
>トークする の実行結果
>さくら「納豆! カレー! うなぎパイ!
>み な ぎ っ て き た! ! 9999!」
-んま入れ放題ってだけでこんな使い方はしません。。。
#br
*栞イベントのリファレンス値はどうやって参照すんの? [#tf9...
-ゴースト制作においてとても重要。必須項目
-結論から言えば華和梨ではイベントが通知されるごとに ${Sys...
-例
>栞イベント: OnOtherGhostClosed
>(SSP専用イベント。他のゴーストが終了した時に通知)
>リファレンス0 = 終了したゴーストの名前
里々
*OnOtherGhostClosed
>(R0)が終了した
*Emilyが終了した
:(5)あ、お芋みっけ♪
華和梨
OnOtherGhostClosed : ${${System.Request.Reference0}が終...
Emilyが終了した : \0\s[5]あ、お芋みっけ♪
-つまり&color(red){栞イベントが来ると ${System.Request.Re...
-数字の順番も(全角と半角の違いはあれ)里々の時と同じ
余談ですが、上の書き方はエントリ名として使えない文字が含...
#br
*リファレンスが長くて書きづらい! [#oc784a9f]
-めんどくせえなあこうしちまえばいいじゃんよ
R0 : ${System.Request.Reference0}
R1 : ${System.Request.Reference1}
R2 : ${System.Request.Reference2}
R3 : ${System.Request.Reference3}
R4 : ${System.Request.Reference4}
R5 : ${System.Request.Reference5}
R6 : ${System.Request.Reference6}
R7 : ${System.Request.Reference7}
R8 : ${System.Request.Reference8}
R9 : ${System.Request.Reference9}
-こういう書き方ができるのも華和梨の特徴。よって、
里々のこれは
*OnMouseDoubleClick
>(R3)(R4)つつかれ
(ランダムトーク)
*0Bustつつかれ
:(7)さわんなタコ!!
華和梨ではこうなる
OnMouseDoubleClick : $(entry ${R3}${R4}つつかれ ${ラ...
0Bustつつかれ : \0\s[7]さわんなタコ!!\e
-※補足
-[[kisコマンドのentry:http://kawari.sourceforge.net/8.2.5...
-挙動としては里々の > に非常に近い
-ここでは ${R3}${R4}つつかれ というエントリが見つから...
#br
#br
続き→ らくだ屋/里々から華和梨への移行ガイド・ミドルウェ...
終了行:
里々から華和梨への移行ガイド。里々に慣れていれば華和梨の...
----
#contents
#br
*なぜ移行するのか [#b081fdc1]
-同時に3体以上のキャラを使う
-自動ウェイト挿入や頭に挟まれるサーフェス戻し、自動改行が...
-記述内容を一行にしたい、コンパクトにまとめたい、スリムに...
-さくらスクリプト主体でトークを書きたい
-一度設定した変数は必ず保存されてめんどい
-命令が全角半角入り混じっていて覚えにくい
こういうとき里々はキツい。管理はできなくはないけど超めん...
なら里々と表記ルールの近い華和梨がオススメよ、というのが...
#br
#br
*このガイドを読むにあたって必要なもの [#g47f5df0]
-&color(blue){里々の使用経験};
--内部関数やssu、SAORIの基本的な使い方までは知っておきたい
-&color(blue){栞イベントの実装経験};
--OnBootとかOnGhostChangedとリファレンス、(R0)とか(...
#br
*里々の特殊性の理解 [#i6e08d02]
-華和梨に限らず基本的に&color(red){全角数字は演算や計算に...
--全角は文字列としてならともかく計算は不可。数字は半角で...
-トークは さくらスクリプト が全ての基本
--トークの終わりには必ず \e を
--里々は辞書で書いた改行がそのままトークでも改行になる(...
#br
*華和梨の基礎用語 [#y112b8a9]
-&color(blue){【エントリ】};
--変数のこと。使い方も意味もまったく同じだと考えてOK
--文もトークも単語群も書ける
-&color(blue){【kis】};
--Kawari Inline Scriptの略
--華和梨内部に組み込まれているsaoriみたいなもので、里々で...
-&color(blue){華和梨がシステム的に使う文字};
--里々が全角かっこ【()】で囲まれた変数を呼び出して置換...
---&color(red){【,】}; 半角コンマ。単語の区切り。
---&color(red){【:】}; 半角コロン。エントリ定義文につかう。
---&color(red){【${}】}; エントリ呼び出し。
---&color(red){【$[]】}; 演算式。この間は改行やタブが使い...
---&color(red){【$()】}; kis。この間は改行やタブが使い放...
---&color(red){【()】}; ブロック。この間は改行やタブ、半...
---&color(red){【""】}; エスケープ。クォート文字使用。
--順次説明していきます。
#br
*華和梨の表記ルールの要点 [#e02cfe26]
**里々との違いから学ぶ華和梨の基本 [#d4dd1a4a]
***基本トーク [#xde94692]
#---- 里々でこう書いたものは
*OnBoot
>起動
*起動
:(0)ちゃす。
#---- 華和梨ではこう書く
OnBoot : ${起動}
起動 : \0\s[0]ちゃす。\e
-違いは、里々の > が ${} に置き換わっていて、 # や数字...
#br
***基本単語 [#e865f0bd]
里々
*食べ物のトーク
:(0) 昨日、(おかず)がなくてさー。
:(10)……。
@おかず
納豆
カレー
うなぎパイ
華和梨
食べ物のトーク : \0\s[0]昨日、${おかず}がなくてさー。\1\...
おかず : 納豆 , カレー , うなぎパイ
-この二つの例で華和梨の記法の基本はだいたい揃っとります
-&color(blue){半角コロン【:】の前がエントリで、後ろが単語...
-基本的に一行で済ませる、途中で改行を入れるとエラー
-里々では単語表記を * や @ と分けているが、華和梨はコン...
#br
***単語の書き方 [#u0ace6c7]
-単語群の書き方の派生形
-下の例はどれを書いても一緒
おかず : 納豆
おかず : カレー
おかず : うなぎパイ
おかず : 納豆 , カレー
おかず : うなぎパイ
おかず : 納豆 , カレー , うなぎパイ
#br
**こうしたらどうなるの?的な例をチェック [#ycdee546]
***展開の展開の展開の、、、 [#w83922c3]
-展開先のエントリもさらに展開される
トークする : ${sentence}
灼熱のファイヤーダンス : \0\s[5]コンパイルっ!\e
sentence : ${Track.1}
Track.1 : ${灼熱のファイヤーダンス}
>トークする の実行結果
>さくら「コンパイルっ!」
#br
***単語の単語の、、、 [#l5fb97e0]
-一つのエントリの中に複数の単語があっても展開に不備は起こ...
Aトーク : スマブラしよう。
Aトーク : テトリスしよう。
Aトーク : ドリラーしよう。
Bトーク : 寝る。
Bトーク : 眠い。
Cトーク : でかける。
トークえらび : ${Aトーク} , ${Bトーク} , ${Cトーク}
トークする : \0\s[0]${トークえらび}\e
>トークする の実行結果
>さくら「スマブラしよう。」 ※確率により変化
#br
***重ねたらどうなる?(入れ子) [#z04cbbf7]
-里々と同じく、華和梨でも&color(blue){内側にあるものから...
-利用価値が高いので書き方と使い方を覚えておくと便利です
今日の機嫌 : まあまあ
トークする : ${トーク.${今日の機嫌}}
トーク.まあまあ : \0\s[5]ハウルの動く尻って映画見てきた...
トーク.それなり : \0\s[0]部屋に篭ってゲーム漬け。\1\s[10...
トーク.さいあく : \0\s[0]……。\e
>トークする の実行結果
>さくら「ハウルの動く尻って映画見てきたよ!」
>うにゅう「……!」
#br
#br
*( ~ ) ... ブロック [#z38fb669]
半角かっこを使った記法。
-見づらいから一行で収めたくない時に。この中では改行やタブ...
食べ物のトーク : (
\0\s[0]昨日、
${おかず}が
なくてさー。
\1\s[10]……。
\e
)
-&color(blue){華和梨はタブを文字列として認識しない};ので...
#br
**ブロックで単語を書くときは? [#a2b67504]
-既に説明した通り、上のルールを単語を書くときコンマ【,】...
おかず : (
納豆 , カレー , うなぎパイ
)
>さくら「と。
>昨日、納豆 , カレー , うなぎパイがなくてさー。」
>うにゅう「……。」
-とか喋りやがることに。
-この場合、括弧を一度閉じてから【,】で区切るしかありません
おかず : (
納豆
) , (カレー) , (
うなぎパ
イ
)
-見た目は色々変だけど大丈夫。ただここまでするなら単語定義...
#br
**エントリ登録時の特殊ブロック表記 [#ef919ba8]
-この表記はコロン【:】を使わずにエントリを定義する記法で...
-文章を省略できる性質上、関数定義とかでよく使われます
-普通はあえて使うまでもない(というか逆に華和梨のルールが...
おかず (
納豆,
カレー,
うなぎパイ
)
-改行し放題、前後の半角スペースやタブ文字を無視する、は共通
-違うのはコンマ【,】が単語区切りに使えるという点。どうに...
#br
*" ~ " ... エスケープ [#t996fc19]
ダブルクォーテーションによるエスケープ
-&color(red){ダブルクォーテーション【"】でくくった部分は...
-里々におけるφと似たようなもの
-ポイントとして、「何がなんでも」文字列にするので、普段は...
-例
>\![change,ghost,ゴースト名]
-このさくらスクリプトにはコンマが含まれているので、そのま...
>\![change
>ghost
>ゴースト名]\e
-の、3つの単語として分割して解釈されてしまう
-そこでダブルクォーテーションの出番
ランダムチェンジする : \![change","ghost","random]\e
ランダムチェンジする : \!["change,ghost,random"]\e
ランダムチェンジする : "\![change,ghost,random]\e"
-こんな感じで、コンマをダブルクォーテーション内に収めると...
#br
-もちろんブロックを使うのもあり。
ランダムチェンジする : (
\![change,ghost,random]\e
)
-ブロックの中では、コンマやコロンを文字として扱ってくれる...
-ちなみにここからさらにダブルクォーテーションでくくっても...
#br
**ダブルクォーテーションで ${} をくくると? [#z3d7352d]
-当然、エントリを呼ばずに文字列になります。つまり…
トークする : "\0\s[7]地球のみんな!オラに${パワー}を分け...
パワー : 元気 , 太陽光 , ぱんつ
>トークする の実行結果
>さくら「地球のみんな!オラに${パワー}を分けてくれ!」
-文字列になってしまうので、${パワー}エントリは展開されず...
-特にさくらスクリプト内にエントリ呼び出しを使う場合は気を...
#br
**ダブルクォーテーションは文字列にできる? [#lc7f7096]
-もちろん可能です。そのための第二のエスケープも用意されて...
トークする : \0\s[0]ダブルクォーテーションを出力 → '"' \e
トークする : \0\s[0]ダブルクォーテーションを出力 → \" \e
>トークする の実行結果
>さくら「ダブルクォーテーションを出力 → " 」
-参考/[[華和梨ユーザーズマニュアル 3.2. クォート文字列:h...
#br
*$[ ~ ] ... 演算式 [#k08e229d]
-華和梨では、四則演算(加減乗除、+-×÷)、比較演算、ビッ...
#br
**里々と華和梨の違いから学ぶ計算式 [#k6913d9d]
-参考/[[華和梨 ユーザーズマニュアル 6. 演算式:http://kaw...
里々の場合
*トークする
$計算結果=1+1
:(0)1足す1は、(計算結果)。
華和梨
トークする : \0\s[0]1足す1は、${計算結果}。\e
計算結果 : $[ 1 + 1 ]
縮めると
トークする : \0\s[0]1足す1は、$[ 1 + 1 ]。\e
-一目瞭然ながら&color(red){ $[] で囲まれた部分が演算式};...
-特徴と注意は下記の通り。
--&color(blue){数字と演算子は半角しか使えない};
--&color(blue){$[] に囲まれた部分であればいくら改行やタブ...
--&color(blue){一般的な数学のルールが成り立ち、+ - より *...
#br
***色々な書き方 [#h8385129]
-上の注意点に則っているので以下のような書き方をしてもエラ...
$[(1+1)*2]
$[ 100 % 3 ]
$[ ${お前のものは} != おれのもの ]
$[ ${気温} < 10 ]
-いずれの場合にしても、$[ から ] までの部分が計算結果に置...
#br
**中身消滅にご用心 [#ff705a6e]
-0で割る、もしくは空っぽ(のエントリ)と乗算や除算をする...
トークする : \1わいは$[ ${クッキーの数} / 2 ]つ貰うで。\...
クッキーの数 : ""
>トークする の実行結果
>うにゅう「わいはつ貰うで。」
#br
*$( ~ ) ... kis [#tab67c9c]
-Kawari Inline Script 略して kis
-使う上で外せない華和梨の生命線で、saoriを使う場合もkisを...
#br
-誤解を恐れずに書いてしまうなら里々にとっての内部関数&ss...
--違い
---ssuは里々に付随する単体のSAORI(さおりなので登録が必要)
---kisは華和梨に最初から組み込まれている
#br
**里々と華和梨の比較から学ぶkis「set」 [#h89357b3]
-以下の結果になるものを作る
-ここでは里々の内部関数と華和梨のkisに共通して存在する「s...
>トークする の実行結果
>さくら「うー、宿題がどっさりだ。」
里々
*トークする
:(set,宿題量,どっさり)(0)うー、宿題が(宿題量)だ。
華和梨
トークする : $(set 宿題量 どっさり)\0\s[0]うー、宿題が${...
-&color(red){ $() で囲まれたものがkis};
-里々のsetではコンマで区切っていたのに対して、華和梨のkis...
-間違えないように
#br
***半角スペースが区切りということは [#o70c76fb]
-半角スペースが区切りであるという事は。。。
*トークする
:(set,今の心境,み な ぎ っ て き た)(7)(今の心境)...
-上の例のように、セットしたい文字列に半角スペースが含まれ...
-里々のこれを華和梨で実現するからといって、単純に
トークする : $(set 今の心境 み な ぎ っ て き た)\0\s[7]...
-こんな風に書くのは厳禁。変な結果が戻ってきます
-じゃあどうするかといえばダブルクォーテーションの出番、こ...
トークする : $(set 今の心境 "み な ぎ っ て き た")\0\s[...
#br
**里々と華和梨の比較から学ぶkis「if」 その1 [#a27fa89b]
-これも里々のssuに共通して存在するコマンド「if」こと条件...
-華和梨を使う際、setなどと並んで最も多用すると思われるkis
>共通前提条件
>変数「満腹度」 = 10
>変数「満腹度」が20以下でトークが分岐する
>トーク の実行結果
>さくら「う~、はらへった。」
里々
*トーク
:(0)う~、(if,(満腹度)<20,はらへった。,まだ我慢。)
華和梨
トーク : \0\s[0]う~、$(if $[ ${満腹度} < 20 ] "はらへっ...
-いきなり $() $[] ${} の三種類が複合する厄介なもの……かと...
-色をつけて見やすくしてみると、
--\0\s[0]う~、&color(red){$(if };&color(green){$[ ${満腹...
-構造は里々の例とそっくりさん
--里々 ... &color(red){(if , };&color(green){条件式};&...
--華和梨 ... &color(red){$(if };&color(green){条件式};&co...
-すごく、、、にています
-里々の「&color(blue){間違ってた時の文};」が省略できるよ...
-条件式には、ここでは比較演算式を使っているので、演算式で...
-里々のifを使えるのであればこちらもすぐに使えるはず
#br
**里々と華和梨の比較から学ぶkis「if」 その2 [#q3606e6c]
-里々で有名なif(条件分岐)といったら外せないコレ↓
*トークする
>だが断る (好感度)<100
:(5)おっはー。
:(10)古っ…。
*だが断る
:(7)やなこった!
-これを華和梨で似たような表記として再現するのは不可能なので
-少し砕く
トークする : $(if $[ ${好感度} < 100 ] ${だが断る} else ...
あいさつ : \0\s[5]おっはー。\1\s[10]古っ…。
だが断る : \0\s[7]やなこった!
-前の例のようにそのまま文を書いてもいいけど、こうしてエン...
-ポイントとして、この例のifの後には \e がある。これで、${...
#br
**kisまとめ [#g9cd1d2c]
-kisの基本的な説明はここまでです
-具体的に何ができるかとかそういうのは本家のマニュアルが詳...
-参考/[[華和梨インラインスクリプト リファレンス:http://k...
-当然、全部を覚える必要はないので、暇な時ににらめっこして...
#br
**kisの補足みたいなもの、練習みたいなもの [#g94225d7]
#---- 単語を設定するkis
$(set caramel ウッウーウマウマ)
#---- 文字数をかぞえるkis
$(length ${caramel})
-マニュアルを読んでいると、「kisにはエントリ名を ${} でく...
--まずkisをざっくり分類
---&color(blue){1 ... エントリ名を指定して、そのエントリ...
---&color(blue){2 ... 文字列を指定して、その文字列を操作...
---&color(blue){3 ... それ以外、構文コマンドとか};
---&color(blue){4 ... それ以外、わけのわからないもの};
--マニュアルのコマンド一覧にある「辞書操作」のkisは1、「...
-1に書くkisのエントリには ${} を使わない。エントリを直接...
-2に書くものは文字列なので、エントリの中身を使うなら ${} ...
#br
#br
-挙動の例題
トークする : $(set ${空模様} ${天気予報})\0\s[0]うーん…$...
空模様 : "今日の天気"
天気予報 : "どんより曇り"
>トークする の実行結果
>さくら「うーん…どんより曇り。」
-答え
--${空模様} が 今日の天気 になる
--${天気予報} が どんより曇り になる
-結果
$(set "今日の天気" "どんより曇り")
-になる
-すなわち、${今日の天気} エントリに「どんより曇り」が代入...
#br
*エントリ名に使える文字 [#zcc74927]
-エントリ名に使える文字を列挙しておきます
--&color(blue){全角文字};
--&color(blue){英数字【A~Z a~z 0~9】};
--&color(blue){アットマーク【@】};
--&color(blue){クエスチョンマーク【?】};
--&color(blue){ピリオド【.】};
--&color(blue){アンダーバー【_】};
#br
*華和梨ではとても身近にある「配列」 [#obd3b72f]
-難しい名前ですが、要するに同じエントリの何番目の単語を呼...
おかず : 納豆 , カレー , うなぎパイ
トークする : \0\s[0]えー!? また$おかず[0]なの!?\e
>トークする の実行結果
>さくら「えー!? また納豆なの!?」
-この例では2つの疑問が浮かんだはず
--今までエントリの呼び出しは ${} だったのに、ここでは何故...
---{} のないこの単語呼び出しは、&color(red){配列で呼び出...
---特殊な書き方なので違和感あるかも知れませんが、そういう...
--うしろに [0] とかついている
---[0] とは配列を示す番号のこと。&color(blue){「この単語...
---&color(red){この番号は0から始まる};ので、先頭1番目の単...
この例では、
>$おかず[0] → 納豆
>$おかず[1] → カレー
>$おかず[2] → うなぎパイ
ってわけで~
この書き方を使えば、単語をランダムでなく選んで呼び出せる
-ちなみに、この配列番号は先頭から順に割り振られるので、以...
おかず : 納豆 , カレー , うなぎパイ
おかず : 納豆
おかず : カレー , うなぎパイ
*ちょっとしたまとめと補足 [#va6f4111]
-里々は単語・内部関数・ssu・SAORIを全て () で済ませてい...
--&color(blue){${} ... 単語群(エントリ)の呼び出しと展開...
--&color(blue){$[] ... 演算式。演算結果へと置換される。こ...
--&color(blue){$() ... kis。戻り値へと置換される。この中...
--&color(blue){() ... ブロック。この中は改行や半角スペー...
-いずれも、内側にあるものから順に展開
-注意しなければならないのは、''括弧の閉じ忘れ''そして''閉...
#br
-華和梨が「半角スペースを文字列として認識しない」箇所
--&color(blue){コロン【:】の前(エントリ名のあと)};
--&color(blue){コロン【:】の後(単語の直前)};
--&color(blue){コンマ【,】の前後};
--&color(blue){文の末尾};
--&color(blue){$[] 、 $() の中};
-以上の条件ならば入れ放題
-例
おかず : 納豆
おかず:カレー ,うなぎパイ
今の心境 : "み な ぎ っ て き た"
セッティング : $(set 好感度
9999 )
トークする : (
\0\s[0]$おかず[0]! $おかず[1]!
$おかず[2]!\n
${今の心境}! ${セッティング}! ${好感度}!
)
>トークする の実行結果
>さくら「納豆! カレー! うなぎパイ!
>み な ぎ っ て き た! ! 9999!」
-んま入れ放題ってだけでこんな使い方はしません。。。
#br
*栞イベントのリファレンス値はどうやって参照すんの? [#tf9...
-ゴースト制作においてとても重要。必須項目
-結論から言えば華和梨ではイベントが通知されるごとに ${Sys...
-例
>栞イベント: OnOtherGhostClosed
>(SSP専用イベント。他のゴーストが終了した時に通知)
>リファレンス0 = 終了したゴーストの名前
里々
*OnOtherGhostClosed
>(R0)が終了した
*Emilyが終了した
:(5)あ、お芋みっけ♪
華和梨
OnOtherGhostClosed : ${${System.Request.Reference0}が終...
Emilyが終了した : \0\s[5]あ、お芋みっけ♪
-つまり&color(red){栞イベントが来ると ${System.Request.Re...
-数字の順番も(全角と半角の違いはあれ)里々の時と同じ
余談ですが、上の書き方はエントリ名として使えない文字が含...
#br
*リファレンスが長くて書きづらい! [#oc784a9f]
-めんどくせえなあこうしちまえばいいじゃんよ
R0 : ${System.Request.Reference0}
R1 : ${System.Request.Reference1}
R2 : ${System.Request.Reference2}
R3 : ${System.Request.Reference3}
R4 : ${System.Request.Reference4}
R5 : ${System.Request.Reference5}
R6 : ${System.Request.Reference6}
R7 : ${System.Request.Reference7}
R8 : ${System.Request.Reference8}
R9 : ${System.Request.Reference9}
-こういう書き方ができるのも華和梨の特徴。よって、
里々のこれは
*OnMouseDoubleClick
>(R3)(R4)つつかれ
(ランダムトーク)
*0Bustつつかれ
:(7)さわんなタコ!!
華和梨ではこうなる
OnMouseDoubleClick : $(entry ${R3}${R4}つつかれ ${ラ...
0Bustつつかれ : \0\s[7]さわんなタコ!!\e
-※補足
-[[kisコマンドのentry:http://kawari.sourceforge.net/8.2.5...
-挙動としては里々の > に非常に近い
-ここでは ${R3}${R4}つつかれ というエントリが見つから...
#br
#br
続き→ らくだ屋/里々から華和梨への移行ガイド・ミドルウェ...
ページ名: