キャラのかたちを詰めてから云々とわざわざ言ったのは、フラグ立てて人格チェンジとかセクハラしすぎとかいろんな細工をすると、組み合わせ爆発を起こして書く方の頭が先に焼けるので、焼けないようにやれるところからやりましょうという自戒であります。
キャラのかたちを詰めてから云々とわざわざ言ったのは、フラグ立てて人格チェンジとかセクハラしすぎとかいろんな細工をすると、組み合わせ爆発を起こして書く方の頭が先に焼けるので、焼けないようにやれるところからやりましょうという自戒であります。
(言えない…どこぞの鉄道系キャラの解説トークは資料積まずに全部記憶だけで雑に書いてるとか言えない…)
ここでみなさんに耳より情報です
フラグ管理とかはとにかく喋りとかをたくさん書いてキャラクターのかたちをより詰めてから悩めばよろしい
めんどくさいから書かないという超ものぐさ人間がこちらになります。
いやうちのこだいたいデバッグのお供にされるから好感度とか実装したら惨憺たる状況になるので…
PR4はまあちょっとしたやつ。エクスプローラからシェル直接消されてmasterにフォールバックした時なんかにモード解除されないので、OnShellChanged依存から乗り換え。
PR5はなにやってるかわからんかもしれんけど、モード特有ランダムトークを作ってうまいことまぜまぜする仕組み。
各サーバにキャラが必要とか言ってたら意外(ある意味意外ではない)なところが画策しようとしてて笑った
This account is not set to public on notestock.
モードにTOSTRしてるのは、スクリプトのユーザーが何するかわからないからで、自分で管理して必ず文字列しか代入せず何するかわかってるならいらないです
モードチェンジの簡潔な書き方だけ追加したいなら、OnGhostEventTranslate云々のサンプル関数を追加するだけで十分です。これは標準イベント処理スクリプトに組み込まれた仕様で、あやりりすをはじめとした拡張スクリプトとは独立して動きます。
あやりりす併用の場合は、上記サンプルと同じ「モード」変数が実装されており、代入するだけであやりりす独自関数も含めて後ろにモード変数に代入した文字列がくっついた関数が呼び出されるようになります。
ただしあやりりすの場合は、通常モードへの誤爆を防ぐため、付加なしバージョンへのフォールバックはしないよう細工しています。
・OnGhostEventTranslateではじまる関数(OnGhostEventTranslate.AYLなど)を書くと、SSPから受け取ったイベントIDを任意に書き換えることができます。
・この関数は、_argv[0]でイベントIDを受け取り、書き換え後のイベントIDをreturnするように書けば動作します。空文字列と解釈できるものをreturnすると処理をスキップして通常のイベントが発生します。
・これを使って、イベントIDの後ろや前に文字列をつけて別関数にすることで、モードチェンジを書きやすくなります。
サンプル:
グローバル変数「モード」にあらかじめ何らかの文字列(もしくは空っぽ)を入れておきます。
OnGhostEventTranslate.TEST
{
_fname = _argv[0] + モード
if ISFUNC(_fname) {
_fname
return
}
}
モード = 'Sleepy' にしたとき、上の関数を追加すれば、マウスボタンをクリックするとOnMouseClickSleepyが呼び出されます。もしその名前の関数がない場合は、通常通りOnMouseClickが呼び出されます。