22:08:13 @ponapalt@ukadon.shillest.net
icon

キャラのかたちを詰めてから云々とわざわざ言ったのは、フラグ立てて人格チェンジとかセクハラしすぎとかいろんな細工をすると、組み合わせ爆発を起こして書く方の頭が先に焼けるので、焼けないようにやれるところからやりましょうという自戒であります。

22:03:46 @ponapalt@ukadon.shillest.net
icon

(言えない…どこぞの鉄道系キャラの解説トークは資料積まずに全部記憶だけで雑に書いてるとか言えない…)

21:59:51 @ponapalt@ukadon.shillest.net
icon

ここでみなさんに耳より情報です

フラグ管理とかはとにかく喋りとかをたくさん書いてキャラクターのかたちをより詰めてから悩めばよろしい

21:43:47 21:44:13 @ponapalt@ukadon.shillest.net
icon

めんどくさいから書かないという超ものぐさ人間がこちらになります。

いやうちのこだいたいデバッグのお供にされるから好感度とか実装したら惨憺たる状況になるので…

21:42:34 @ponapalt@ukadon.shillest.net
icon

フラグ管理とかモードチェンジとかめんどくさいよねー

21:35:36 @ponapalt@ukadon.shillest.net
icon

PR4はまあちょっとしたやつ。エクスプローラからシェル直接消されてmasterにフォールバックした時なんかにモード解除されないので、OnShellChanged依存から乗り換え。

PR5はなにやってるかわからんかもしれんけど、モード特有ランダムトークを作ってうまいことまぜまぜする仕組み。

21:31:00 @ponapalt@ukadon.shillest.net
icon

PR4,PR5をぶちこんだ

17:29:57 @ponapalt@ukadon.shillest.net
icon

おせんでんはもっと大声で!
腹から声を出してもう一度!サンハイ!

15:40:46 @ponapalt@ukadon.shillest.net
icon

各サーバにキャラが必要とか言ってたら意外(ある意味意外ではない)なところが画策しようとしてて笑った

pawoo.net/@SujiYan/10964085849

Web site image
SujiYan (@SujiYan@pawoo.net)
15:36:35 @ponapalt@ukadon.shillest.net
2023-01-06 15:32:12 SujiYanの投稿 SujiYan@pawoo.net
icon

このアカウントは、notestockで公開設定になっていません。

13:30:13 @ponapalt@ukadon.shillest.net
icon

モードにTOSTRしてるのは、スクリプトのユーザーが何するかわからないからで、自分で管理して必ず文字列しか代入せず何するかわかってるならいらないです

09:31:31 @ponapalt@ukadon.shillest.net
icon

モードチェンジの簡潔な書き方だけ追加したいなら、OnGhostEventTranslate云々のサンプル関数を追加するだけで十分です。これは標準イベント処理スクリプトに組み込まれた仕様で、あやりりすをはじめとした拡張スクリプトとは独立して動きます。

08:18:25 @ponapalt@ukadon.shillest.net
YAYAでのモードチェンジの簡潔な書き方続き
icon

あやりりす併用の場合は、上記サンプルと同じ「モード」変数が実装されており、代入するだけであやりりす独自関数も含めて後ろにモード変数に代入した文字列がくっついた関数が呼び出されるようになります。

ただしあやりりすの場合は、通常モードへの誤爆を防ぐため、付加なしバージョンへのフォールバックはしないよう細工しています。

08:11:53 @ponapalt@ukadon.shillest.net
何度かYAYAでのモードチェンジの簡潔な書き方の質問があったのでメモ
icon

・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が呼び出されます。