#contents *あらすじ [#z1d8f3f2] 最初は里々で書いていた[[「その祈りに光あれ」>http://greenfish.futene.net/ghost/resh.htm]]をあやりりすに移行して公開するまでの記録です。 *必要なもの [#g6e2a3ad] -[[紺野りりす>http://ms.shillest.net/yayalilith.xhtml]] -[[StartUp/里々からの移行 - 文Wiki「文屋」>http://emily.shillest.net/ayaya/index.php?StartUp%2F%E9%87%8C%E3%80%85%E3%81%8B%E3%82%89%E3%81%AE%E7%A7%BB%E8%A1%8C]] *シェル [#ub6c080f] 栞の関係ない場所なのでそのまま移します。 *configなどの書き換え [#rcadb8dc] 「aya_lilith_config.dic」と「aya_lilith_ex_config.dic」を書き換えます。 ついでにテキストエディタに拡張子dicを関連付けておくと便利。 あと「descript.txt」の「shiori,satori.dll」行を「shiori,yaya.dll」に。 *個人的つまづきポイント [#k9746c2a] \![raise,hogehoge]で頭にOnが付かないイベント名を指定した場合、実際に呼ばれるのは「On_hogehoge」とかになる *前のトークをもう一度話すアレ [#nf363806] -「前のトーク」は変数「SHIORI3FW.LastAITalk」に入っている --OnAITalkからのトークしか変数の中に入らないので安心 *キーボード入力にさくらスクリプトが含まれていたら無効化するとか [#c5c8077b] 「さくらスクリプト無効化」「さくらスクリプト除去」という関数があります。 *里々の発想で書いた辞書の書き換え [#r2ef242e] **(変数「ほげ」の存在)で分岐しているとか [#oc74122c] -里々 *OnUserInputCancel >(R0)Cancel【タブ】(変数「ユーザー入力中」の存在)==1 -YAYA OnUserInputCancel{ _e = reference[0] + 'Cancel' if ISFUNC(_e) { if ( ISVAR( 'ユーザー入力中' ) == 1 ) { EVAL(_e) } } else { return } } **タイマとか [#jff6663d] 連続で撫でたときの反応の変化とか。 -里々 *てすと $手さわり反応リセットタイマ【タブ】60 $手さわり1計測=(手さわり1計測)+1 ((iflist,(手さわり1計測),==1,手なで1A,<=4,手なで1B,>4,手なで1C)) *手さわり反応リセット $手さわり1計測【タブ】 -YAYA 手なで1 { SHIORI3FW.SetDelayEvent( '手さわり反応リセット' , 60 ) 手さわり1計測++ if ( 手さわり1計測 == 1 ) { 手なで1A } elseif ( 手さわり1計測 <= 4 ) { 手なで1B } elseif ( 手さわり1計測 > 4 ) { 手なで1C } } 手さわり反応リセット { ERASEVAR('手さわり1計測') } **あやりりすと人格チェンジの共存 [#h09ea601] 人格によって反応が違う必要のある箇所には、CallTalkという関数(※自作)を使うことにしました。 talkposition変数には現在の人格が入っています。 CallTalk('手なで')とすると「手なでn」が存在する時のみ呼び出します。 「手なでn」が無かったら無反応。 CallTalk { _t = _argv[0] + talkposition if ISFUNC(_t) { EVAL(_t) } else{ return } } ***これだけだとちょっと時報が面倒くさいので [#w5345438] 時報は「時報」でまとめて処理しました。 時報{ _t = GETTIME() _r = "時報" + _t[4] + "時" CallTalk( _r ) } 時報0時1 { <<' れ1:0時です。 '>> } **人格チェンジに伴うデフォルトサーフェスの変化 [#fb82868d] 「defaultsurface0」と「defaultsurface1」変数を書き換えるだけでは不十分です。 OnSurfaceRestore{ "\0\s[" + defaultsurface0 + "]\1\s[" + defaultsurface1 + "]\e" } 「OnWindowStateRestore」と「OnChoiceTimeout」も書いておかなければなりません。流用でOK。 *紺野ややめに書かれていない、あやりりすの便利なもの [#x39c15e9] -「ゴースト起動前の処理」「ゴースト終了前の処理」 -「プラグインの存在」 -「バルーンツールチップ」「シェルツールチップ」