Gaming
 

スクリプターズカフェ/ログ/作成して編集していないノートカードについて

出典: Second Life in Japan

Scripters_cafeログ


[編集] 08/09/13

プリムのインベントリに入れたノートカードをLSLから読み込む場合のエラーチェックに関連した話です。

ノートカードを自分のインベントリで新規作成して、内容を何も編集・保存していない場合、やや特殊な状態になっています。

  • インベントリで当該ノートカードのアセットUUIDをコピーして調べるとNULL_KEYになっている。
  • プリムのインベントリに入れてスクリプトからllGetInventoryKeyでキーを調べるとNULL_KEYが返ってくる。
  • このノートカードの行数を調べようとしたり、読み込もうとしたりすると「Could not find notecard 'New Note'.」というエラーがDEBUG_CHANNELに出力される。


[編集] ノートカード読み込み前の存在チェック

スクリプトでノートカードを読み込む場合、

  1. 対象ノートカードがプリムのインベントリに存在しない
  2. ノートカードが存在するが、上で述べたような作成したばかりのノートカード

という状況だとエラーになってしまうため、読み込む前にチェックしたいところです。

1.の場合は、他のインベントリアイテムと同様にllGetInventoryTypeにて存在チェックを行います。

そして2.の場合は上の検証結果から、llGetInventoryKeyを使用してNULL_KEYでないかチェックします。



このページのTinyURL:http://tinyurl.com/SC-Notecard-Errorcheck