スクリプトでめんどくさいもんのいくつかの一つに
ボタンやエフェクト再生関係でのリンクナンバー管理があります
現代では
機能が必要なプリム全部にスクリプトを入れて
lMessageLinked();関数で通信させるなどという
リソースの異常占有はやたら嫌われていますね
なのでまぁllSetLinkPrimitiveParamsFast();
などのリンクプリムに対する命令を使うことになるのですが
リンクナンバーなんてもんは
オブジェクトの保守管理中にしょっちゅー変わりますので
特にスクリプトとオブジェクトの作者が違う時には
"リンクを変えるな"を徹底することでそこの解決とする場合が多いです
ただし どうせスクリプトを使うなら
管理を自動にすることで解決出来るので
これを利用しない手は有りません
せいぜいリンクナンバーを覚えないといけないプリムが30以下程度の場合
覚えないといけないプリム全部に通しナンバーなりユニーク名をつけて
それをスクリプト起動時にllGetLinkName();でクローリングして
保持するという方法が使えます
HUDの場合もっと手抜きの方法があります
llGetLinkName(lDetectedLinkNumber());を利用します
もうお解りですね?
ボタン全部に機能名つけてif文で分岐してやればええわけですw
アニメーション再生HUDならもっと手抜き実装が可能で
リストのボタン名称を毎回全部書き換えてしまえば
ボタンとのヒモ付が不要になるので
かなりのメモリー節約になります
(ボタンリストの書換が負荷になるので書換レートとかを工夫しませう)
ってなところかな
まとめ
”リンクナンバーは
プリム名とヒモ付して管理せよ”
以上
0 件のコメント:
コメントを投稿