簡単な日記を作成するためのプログラムです。
"\![raiseplugin,DBdiary,OnCallInputDirtyDiary,before_text,after_text]"
"\![raiseplugin,DBdiary,OnCallInputBeautifulDiary,before_text,after_text]"
"\![raiseplugin,DBdiary,OnGetBeautifulDiary,yyyymmdd,before_text,after_text,notWrite,notExist]"
//20230104追加関数
"\![raiseplugin,DBdiary,OnCheckWrittenDiary]"
二種類の方法で日記を書くことができます。
-
DirtyDiary
保存名が日付+日記内容.txtになります。
日記の中には「Dirty Diary」に統一されます。 -
BeautifulDiary
保存名が日付.txtになります。
こちらはゴーストから日記内容を取得できるようにしています。
プラグインフォルダ/Diary/yyyymmdd{Dirty Diary only}.txt
このプラグインをインストールしている状態で下記のサクラスクリプトを打ち込んでください。
入力欄が出てきます。
ゴーストに発言させる場合はbefore_textやafter_textの部分を適時書き換えてください。
他のテキストと相性が悪かったためこのような形になりました。
"\![raiseplugin,DBdiary,OnCallInputDirtyDiary,before_text,after_text]"
使用方法は同じです。
"\![raiseplugin,DBdiary,OnCallInputBeautifulDiary,before_text,after_text]"
同じくbefore_text,after_textをうまく使ってやってください。
指定した日付の日記の内容を取得します。
notWriteは何も書かれていなかった時、
notExistは日記がなかった時に表示されます。
"\![raiseplugin,DBdiary,OnGetBeautifulDiary,yyyymmdd,before_text,after_text,notWrite,notExist]"
先ほどの関数ではゴーストから扱いづらいので別の関数を用意しました。 引数は不要でこのサクラスクリプトを実行するだけです。
"\![raiseplugin,DBdiary,OnCheckWrittenDiary]"
ただし、ゴースト側で下記のOnRecieveCheckWrittenDiary関数を実装してください。 この関数はreference0に ファイルが存在してかつ、空のファイルじゃなかった場合はBeautifulDiaryの本文が格納されています。
以下は実装例。
OnRecieveCheckWrittenDiary {
_res = reference[0]
if ( _res == "notExist" ) {
"書いてないやんけ。"
} elseif ( _res == "notWrite" ) {
"白紙やぞ。"
} else {
_text = "この日の日記は " + _res + "だったんだね。"
}
}
yaya.dll Releases · YAYA-shiori/yaya-shiori · GitHub
このプログラムを利用することによるいかなる問題や損害に対して、私は責任を負いません。
またゴースト等に同梱して配布していただいて構いません。
main.uka内部を好きに書き換えてくれて構いません。
実際に作ってみたものの、raisepluginが使いづらく、
プラグイン化のメリットはゴーストのデータを汚さないことぐらいでしょうか.
FREADで読み込めるのは一行だけの都合、日記を読み込む際に複数行書かれた場合(追記モードに変更したのであり得る)最初の一行しか引っ張れない問題がある。
o