ゴーストに季節・朝昼晩による分岐をさくっとつける記述【伺か・里々忘備録】

ゴーストに季節・朝昼晩による分岐をさくっとつける記述 里々の記述

ゴーストにサクッと季節による分岐と時間帯(朝とか夜とか)の分岐をつけられるようになる記述のメモです。
自分がゴーストを作る上で毎回書いてる記述なので、すぐ探せるようにここに覚え書きしておこうとも思い。

なおここで紹介しているものは、里々のしおりを使ってゴーストを制作している環境向けの記述です。
里々以外の栞を使っている場合はご注意。

できるようになること

(季節)と(時間帯)と書けば、簡単に条件分岐をつけられるようになります。

例えば、春のみに表示させたいランダムトークなら

*【タブ】(季節)==春
:春だねえ~。みたいに書けばOK。

季節は、1~12月の各月を、春夏秋冬に定義することで設定しています。
時間帯は、0~23時の各数字を、「21~23時は夜」のように定義することで設定しています。

書き方

以下の記述を、お好きなdic内にぺたりと貼り付けしてください。

#=======================
#季節の定義
#=======================
@季節
(nswitch,(現在月),冬,冬,春,春,春,夏,夏,夏,秋,秋,秋,冬)

#=======================
#時間帯の定義
#=======================
@時間帯
(
if,(現在時)>=0&&(現在時)<=4,深夜)(
if,(現在時)>=5&&(現在時)<=7,早朝)(
if,(現在時)>=8&&(現在時)<=10,朝)(
if,(現在時)>=11&&(現在時)<=16,昼)(
if,(現在時)>=17&&(現在時)<=18,夕方)(
if,(現在時)>=19&&(現在時)<=23,夜)

あとは、今が3月であれば(季節)には「春」が入りますし、現在時刻が5時なら(時間帯)に「早朝」が入ります。

これでもう季節と時間帯の分岐は自由自在。

また、例えば「やっぱり3月は冬にしよう」みたいに定義を変えたければ、ここ一カ所をいじればOKです。

記述の解説

さくっと記述の解説です。

季節

@季節
(nswitch,(現在月),冬,冬,春,春,春,夏,夏,夏,秋,秋,秋,冬)

ここでは、先頭から順番に1月、2月、3月……と、各月の定義を行ってます。
なので、上の記述ならば、12~2月は冬、3~5月は春、6~8月は夏、9~11月は秋だよ、という定義内容になってます。

もし各季節ごとのランダムトークを追加したい場合は、以下のように書くこともできます。

*
>(季節)のトーク

*春のトーク
:春だね!

*夏のトーク
:あついね~

*秋のトーク
:秋だよ!

*冬のトーク
:さむいねぇ~

時間帯

@時間帯

if,(現在時)>=0&&(現在時)<=4,深夜)(
if,(現在時)>=5&&(現在時)<=7,早朝)(
if,(現在時)>=8&&(現在時)<=10,朝)(
if,(現在時)>=11&&(現在時)<=16,昼)(
if,(現在時)>=17&&(現在時)<=18,夕方)(
if,(現在時)>=19&&(現在時)<=23,夜)

(if)で時間帯を定義して、それぞれに朝や夜などの言葉を定義している記述です。

>=は「右側の数字以上」、<=は「右側の数字以下」という意味です。
つまり、「if,(現在時)>=0&&(現在時)<=4,深夜)」と書いたら、現在時刻が4時や0時の時は「深夜」になります。

&&は、「右側の記述と左側の記述の両方とも当てはまれば、(時間帯)に深夜が入ります」といった意味のものです。
つまり、「if,(現在時)>=0&&(現在時)<=4,深夜)」と書いたら、現在時刻の数字が0以上であり、かつ4以下である時、(時間帯)には「深夜」という言葉が入りますよ、といった意味です。

ひとつ注意しておきたいのですが、このカッコ()の位置を動かすとうまく作動しませんでした。
なので、もし以下のような書き方にしたら動かないと思います。
(if,(現在時)>=0&&(現在時)<=4,深夜)
(if,(現在時)>=5&&(現在時)<=7,早朝)
自分の好みなように文の整形をしがちな方は、この点だけちょっとご注意!

使い方は上の季節と同じなので、各時間帯のランダムトークを追加したい場合は以下のように書けば追加できます。

*
>(時間帯)のトーク
()

*朝のトーク
:朝だね!

*夜のトーク
:夜だね~

全時間帯文のランダムトークを追加しない場合は、上記のように()と書いておけば、他のランダムトークに飛んでくれます。

定義の記述部分に何か手を加えたくなったときは里々wikiをどうぞ!

コメント

タイトルとURLをコピーしました