ちょっと前置きを挟みます。
「喰らう猫」の大枠を組み終えたので、ボイスを待ちつつ、ちょっとした便利アプリ的なものを作りたいなーと思い立ちました。で、折角レイヤーifのメインキャラの担当キャストさんが決まってきているので「キャラが時間教えてくれたりする」ものがあったらいいなあ(自分が使いたい)と思ったのが始まり。
で、ティラノ(ビルダー、スクリプト問わず)で時間関連を調べてみたら、ビルダーでjavaScript応用してる方のブログを見つけたので、参考にさせて頂きました。PCから時間を取得して、キャラに年月日何時ーを言ってもらうヤツ。
テスト用のキャラは台詞を考えるのが楽なので、自分が作った我孫子にしました。
上記サイトさんはコピペOKで丁寧に書いて下さっているので、その通りにすると問題なく我孫子が日付と時間を言ってくれたのですが(まだボイスついてないからテキストですが)上記サイトさんは1時間単位で「何分」は入れてなかったので、そこは上記サイトさんが参考にしたという元サイトを見に行って、そちらを参考にさせてもらい「何分」まで取得して言ってくれるようにしました。
で!PC作業中に立ち上げておくことを前提に考えていたので、タイマーっぽいのどうしたらいいのかな?と思って探したらティラノスクリプトのプラグインでタイマーを作って下さっている方がいらっしゃる!ありがたい!…というわけで早速DLしたのですけれども
上手くいかない…何がいかんのか?エラーでは「そんなファイルねーですよ」みたいなこと言われてました。
過去の経験で動作しなかった時っていうのはファイル名やタグなどが微妙に間違っている(最近だとテキストエディットで ” が勝手に大文字になってしまうっていうこともあり「ATOM」をDLしました。便利。もっと早くDLすれば良かった)とかだったんですが…他はフォルダ名が違っているということもあったなあ…と初期の頃を思い出しつつ、手元のティラノスクリプト公式ガイドブック158pも確認しつつ………
うん。フォルダ名違うんでは?
init.ksの中を確認したら、このファイルの中で指定されているパスの中では「timer」っていうフォルダ名になってたんだけど、DLしたksファイルとimageフォルダ入ってるフォルダの名前は「timer_plugin」
これですわあああ!!!
init.ksファイルの中のパスを全て「timer_plugin」に変更。あとは、同梱されているリファレンスや、demoのフォルダの中のfirst.ksを参考に、無事動かすことができました…!良かった…
そして変更した後に、フォルダ名から「_pluginを消した方が早かったな」と気がつきましたので、皆様はそうして下さいね!
さて、若干巻き戻して、スクリプトプラグインをビルダーに導入する方法を、少し噛み砕いて書いていきます。
wikiさんだけだと、ちょっと分かりにくいと思いますので。
私の環境はMacOS10.11.6、使用しているビルダーさんのバージョンは184c_proです。
まだ上記のプラグインしか入れていないので他の方のプラグインは違うかもしれませんから(ビルダーwikiさんの2018-02-06の記事ではプラグインのフォルダごと入れず中身だけ投入とありますが、タイマープラグインのdemoデータではフォルダごと入れていましたし)上記の「タイマープラグインを入れる」という内容で記載していきますね。
ビルダーからスタートすると「どのフォルダに何が入っていて、自分がやりたいこのタグを記載すべきファイルはどこにあるの??」で迷うんですが、「概ね【myproject】>【data】>【scenario】>【system】にあるよ」というのは学習しました。
同じ名前のフォルダが【data】ではなく【tyrano】にも入っているので、素人(私のような)は混乱しがちです。【data】の方です。
プラグインフォルダは【myproject】>【data】>【others】です。この中に【plugin】フォルダがありますので、この【plugin】フォルダにDLしたプラグインのフォルダをコピペして入れます。タイマープラグインは【timer_plugin】という名前のフォルダ(この中に【image】フォルダと『init.ks』ファイルが入っています)です。そして、前段で話したようなことがありましたので、【timer_plugin】のフォルダ名から_pluginを消しましょう。
使い方は「demo」のフォルダの中に「リファレンス」が入っておりますので、そちらを参考に(もしくは【demo】>【data】>【scenario】>『first.ks』を参考に)タイマーを使いたいシナリオ(.ksファイル)に直接[plugin name=timer]を書き込みます。これを書き込むことは「プラグインタグを呼び出す」と表記されます。
ティラノスクリプトでは『first.ks』が「必ず最初に読み込まれるファイル」としてしばし使われますが、ビルダーの『first.ks』は書き込みできません…ていうか、書き込んで保存しても新たな書き込みは保持されません(これが分かるまで結構混乱しました…!)。なので、ゲームで一番最初にスタートするシナリオ(.ksファイル)とか、「そのプラグイン使いたいシナリオ」で大丈夫です。多分。
直接ksファイルに書き込んでからビルダーで見ると分かるのですが、コンポーネントには無いスクリプトの「一般」という形で挿入されます。title.ksにも入っている、あの子です。やっと分かったよ、「一般」の意味が…!(一般という言葉の意味では無く。ビルダーのスクリプトの「一般」ですとももちろん)
なので、タイマープラグインをスタートさせたり止めたりするスクリプトをビルダーのコンポーネントから記入したい場合は「一般」をコピペして書き直せばOk!
timer_stopで一時的にタイマーが止められるとあったんですが、これは動作しませんでした。挿入場所が間違ってるのかもしれないです。タイムアップ時のコールバックやタイマーの削除は大丈夫でした。画像の中には見えてませんが。
Live2Dに手を出すか、目パチプラグインを導入させて頂くかは迷い中です。
少しでも私同様の迷えるティラノ子羊さんの参考になれば幸いでございます。