2014/05/18

勝手に変わる説明文

宝箱の上に出る説明文を、贈り物によって、自動で変わるようにしました。 (千両箱も3億円ケースも)
  • 贈り物がないときは「Touch to Open.」のみ
  • 贈り物ひとつのとき、改行して「& Get」+種類と名前
  • 二つ以上のときは「& Get」+贈り物のフォルダー名
  • グループギフトの場合は、「& Get Group」+上と同様
  • 個人的な贈り物のときは、「& Get Private Gift.」になって、どんなものかは秘密。
  • (もちろん、表示しないようにもできます)
下のスクリプトは、説明文を、中の贈り物の数と、もらえる人の設定(誰でも・グループ・特定個人)で書き換えます:
setDescText() {
  integer n = llGetListLength(GiftItems); // 贈り物の数を調べて
  if (n) { // あれば書き換える
    DescText += "\n& Get";
    if (1<User) DescText += " Private Gift."; // 個人的な贈り物のとき
    else {
      if (User==1) DescText += " Group"; // グループギフトのとき
      if (1<n) DescText += " Folder: "+FolderName; // 2つ以上はフォルダー
      else { // 1つのとき
        string name = llList2String(GiftItems,0); // 贈り物の名前
        integer type = llGetInventoryType(name); // 種類
        DescText += " "+llList2String(Types,type)+": "+name;
      }
    }
  }
}
よく、グループギフトなんかでうっかりタグを出してないと、「グループじゃないとだめ!」とか怒られたりしますが、この方法では奥ゆかしく「グループ」を示したりして、海賊のくせにとても上品ですね(^^)

あと、この説明文は、オブジェクトの「説明」にも書き込まれます。
マウスポインターを近づけると表示されるアレですね。
なので、これ見よがしに出さなくてもわかるようになっているという、文化の高い薫り(?)もする宝箱なんです(^^)