⇒[[開発]] *何もしない・何も表示させない [#l4d87b19] (nop,☆)が重宝する。&br; 「何もしない・何も表示しない」という働きをする。 たとえば、ifを使って、台詞を言わせたいときに、 *単語群をグループわけ扱いにして、グループで検索にひっかける [#d6dc58c2] 見通しがよければメンテナンスしやすい。&br; かざまさまのところの記事を参考にして、単語群をグループ扱いしてみた。 ---- *【タブ】(count,(シェルリスト),(現在のシェル))!=1 &br;:ごーすとじてんでの模擬戦が不可能。 *【タブ】(count,(シェルリスト),(現在のシェル))==1 &br;:ごーすとじてんでの模擬戦が可能。 @実体のあるっぽいシェルグループ &br;月はピアノに誘われて☆k-mode☆sss-mode☆m-mode☆くろゆり ---- (実体のあるっぽいシェルグループ)を定義しておくことで、 &br;グループ内・外をすっきり判別できる。 これでヒットできるのは、グループとして定義した文字列「月はピアノに誘われて☆k-mode☆sss-mode☆m-mode☆くろゆり」の中に、それぞれのシェル名が含まれているかどうかを検索するものだから。 *シェルによってアイコンを変更 [#e540a86b] 「(hogehoge)」と「@」を使って、&br; 「>」の使用を減らせば、辞書の見通しがよくなる。 以下は自分用の覚書。&br; 「月はピアノに誘われて」用アイコンのために加えた操作のメモ。&br; *OnShellChangedと*OnBoot、下準備としては*Onshellchangingに細工をする。 ---- 【*OnBoot周辺の細工】 *OnBoot &br;(アイコン変更) &br;:ようこそ。 &br;$喋り間隔 180秒 &br;$現在のシェル (R0) &br;$手動セーブ 実行 @アイコン変更 (現在のシェル)==月はピアノに誘われて &br;\![set,trayicon,kotyou.ico] @アイコン変更 (現在のシェル)!=月はピアノに誘われて &br;(nop,☆) ---- (nop,☆)が重宝する。&br; 「何もしない・何も表示しない」という働きをする。 ---- *OnShellChanging &br;$現在のシェル【タブ】(R0) &br;$手動セーブ【タブ】実行 &br;:…服などどうでもいいのだけど。 *OnShellChanged【タブ】(現在のシェル)!=月はピアノに誘われて &br;$現在のシェル【タブ】(R0) &br;\![set,trayicon,デフォルト.ico] &br;$手動セーブ【タブ】実行 &br;:どれでも同じだわ。 *OnShellChanged (現在のシェル)==月はピアノに誘われて &br;$現在のシェル (R0) &br;\![set,trayicon,A.ico] &br;$手動セーブ 実行 &br;:どれでも同じだわ。 ---- 結局、シェルによって変わるというなら、変えるタイミングは二つ。 1.該当シェルを切り替えたとき:*OnShellChanged&br; 2.起動したときに該当シェルだったとき:*OnBoot いくつもの条件をいっぺんに判定させたいときには、&br; 「>」を使うのではなく「@」を使わないと辞書が長くなる。 ---- *&br; :ようこそ。&br; >アイコン変更【タブ】(現在のシェル)==月はピアノに誘われて ---- と同じ役割を、 ---- *&br; :ようこそ。&br; (アイコン変更) ---- @アイコン変更【タブ】(現在のシェル)==月はピアノに誘われて&br; \![set,trayicon,A.ico] @アイコン変更【タブ】(現在のシェル)!=月はピアノに誘われて &br;(nop,☆) ---- 「()」は、別のラベルに飛ばさずに複数の条件の適用が可能である。 &br;また、結果が同じなら一つの「()」に対する「@」を複数使い、 &br;単語群に条件をつけると、ひとつの「()」で代替可能である。 ---- 【別のラベルに飛ばさず複数の条件を適用】 *&br; :ようこそ。&br; (アイコン変更)(デフォルトシェル変更) @アイコン変更【タブ】(現在のシェル)==月はピアノに誘われて&br; \![set,trayicon,A.ico] @アイコン変更【タブ】(現在のシェル)!=月はピアノに誘われて&br; (nop,☆) @(デフォルトシェル変更)【タブ】(現在のシェル)==k-mode&br; $デフォルトサーフェス0 5 @(デフォルトシェル変更)【タブ】(現在のシェル)!=k-mode &br;(nop,☆) ---- ---- 【ひとつの()で>を代替】 * &br;:ようこそ。 &br;(アイコン変更) @アイコン変更【タブ】(現在のシェル)==月はピアノに誘われて &br;\![set,trayicon,A.ico] @アイコン変更【タブ】(現在のシェル)==k-mode &br;\![set,trayicon,B.ico] @アイコン変更【タブ】(現在のシェル)!=月はピアノに誘われて||(現在のシェル)!=k-mode&br; (nop,☆) ---- *オーナードローメニューやその項目名を特定条件で変更 [#h6e50809] 時間とシェルによるオーナードロー切り替えの一例。 &BR;ここではもう一セット画像を用意した場合を考えた。 &BR;モードやフェイズをつんでいる場合、それに合わせて変えるのもまた楽しい。 &BR; &BR; &BR;ちなみに、そうしたものとは関係なく、 &BR;単に表示されるオーナードローを二種、三種と増やしたい場合、 &BR;menu_foreground.png2、menu_background.png2、menu_sidebar.png2と、 &BR;単純に番号を増やしたセットをもう一組み入れておけばランダムで表示されるようになる。 &BR;さらにちなむとサイドバーだけが足りなかったりすると足りない部分だけ別の組から表示される。 &BR; &BR; &BR;以下の例では特定のシェル、~ &BR;18時から6時までの二種の条件がそろうと切り替わる。 &BR; &BR; &BR;実際に見てみたいという方は、ゴースト「Un Known」を、 &BR;追加シェル「flip-flop」を導入して立たせてみてください。 &BR; &BR; &BR;==== &BR;>| &BR; &BR;@menu.foreground.bitmap.filename【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;menu_foreground.png2 &BR; &BR;@menu.background.bitmap.filename【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;menu_background.png2 &BR; &BR;@menu.sidebar.bitmap.filename【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;menu_sidebar.png2 &BR; &BR;@menu.background.font.color.r【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;255 &BR; &BR; &BR;※以下はセパレーターやフォントの色指定 &BR; &BR; &BR;@menu.background.font.color.g【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;255 &BR; &BR;@menu.background.font.color.b【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;255 &BR; &BR;@menu.foreground.font.color.r【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;0 &BR; &BR;@menu.foreground.font.color.g【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;0 &BR; &BR;@menu.foreground.font.color.b【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;0 &BR; &BR;@menu.separator.color.r【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;255 &BR; &BR;@menu.separator.color.g【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;255 &BR; &BR;@menu.separator.color.b【タブ】(現在のシェル)==flip-flop&& 17<(現在時)||(現在のシェル)==flip-flop&& 6>(現在時) &BR;255 &BR;|< &BR; &BR; &BR;(現在のシェル)はシェルチェンジ時に(R0)で帰ってくるものを保存する。~ &BR;また、起動時に、*OnNotifySelfInfoでシェル名を保存して、判定する必要がある。 &BR; &BR; &BR;---- &BR;&br;*OnShellChanging &BR;&br;$現在のシェル【タブ】(R0) &BR;&br;$手動セーブ【タブ】実行 &BR;&br;:…服などどうでもいいのだけど。 &BR; &BR; &BR;*OnNotifySelfInfo &BR;$現在のシェル【タブ】(R3) &BR;---- &BR; &BR; &BR;また、SHIORI Resourceは単語群として設定されたものから読み出しているものなので、 &BR;括弧を入れ子にして間に処理をかませたり、直接に条件式をつけたりすることができる。 &BR; &BR; ---- &BR;@sakura.portalbuttoncaption【タブ】17<(現在時)||6>(現在時) &BR;夜の森 &BR; &BR;@sakura.portalbuttoncaption【タブ】17>(現在時)||6<(現在時) &BR;昼の森 ---- モードによってオーナードローのメニュー名を変えたい場合などに使う。 &BR;単純に単語を複数用意してランダムにしたい場合には、 &BR;単語群の扱いなので下に書き加えればよい。 #hr > @sakura.portalbuttoncaption &BR;遊び先(&P) &BR;知ってるところ(&P) < #hr 割とよく知られていることのようだけれど、 &BR;まとまってのっている場所を見かけなかったのでまとめてみた。