LSL(Linden Script Language)スクリプトTips集

土地情報を取得する

下記のスクリプトでは、そのオブジェクトを置いた土地の情報が取得できます。
土地を右クリックして表示されるパイメニューの「土地情報」で見える情報です。

default
{
  touch_start(integer total_number)
  {
  llSay(0,"SimName=" + llGetRegionName());

  if( PARCEL_FLAG_ALLOW_SCRIPTS & llGetParcelFlags(llGetPos())){
      llSay(0,"Script=ALLOW");
  }else{
      llSay(0,"Script=NOT ALLOW");
  }

  integer iCnt= llGetParcelPrimCount(llGetPos(),PARCEL_COUNT_GROUP ,TRUE);
  llSay(0,"GroupMember's PrimCount=" + (string)iCnt);

  integer iCntMax= llGetParcelMaxPrims(llGetPos(),TRUE);
  llSay(0,"MaxPrimCount=" + (string)iCntMax);
  }
}
llGetRegionName関数(SIMの名前を取得します。)
llGetParcelFlags関数(区画の権限を取得します。)
一番目のパラメータ : 位置
二番目のパラメータ : PARCELフラグ(今回はスクリプト許可かどうか)
PARCEL_FLAG_ALLOW_FLY 飛行許可
PARCEL_FLAG_ALLOW_SCRIPTS スクリプト許可
PARCEL_FLAG_ALLOW_LANDMARK ランドマーク作成許可
PARCEL_FLAG_ALLOW_TERRAFORM 土地を編集許可
PARCEL_FLAG_ALLOW_DAMAGE 安全(ダメージなし)
PARCEL_FLAG_ALLOW_CREATE_OBJECTS オブジェクト作成
PARCEL_FLAG_USE_ACCESS_GROUP アクセスをグループのリストに制限
PARCEL_FLAG_USE_ACCESS_LIST アクセスを居住者のリストに制限
PARCEL_FLAG_USE_BAN_LIST BANリスト
PARCEL_FLAG_LOCAL_SOUND_ONLY ローカルサウンドのみ(空間的な音制限)
PARCEL_FLAG_RESTRICT_PUSHOBJECT プッシュオブジェクト制限
llGetPos関数(位置(グローバル座標)を取得します。)
llGetParcelPrimCount関数(土地のプリムカウントを取得します。)
一番目のパラメータ : 位置
二番目のパラメータ : PARCEL_COUNTフラグ
(参考)PARCEL_COUNTフラグ
PRIM_COUNT_TOTAL: 区画の全プリム数
PRIM_COUNT_OWNER: 区画の所有者が所有するプリム数
PRIM_COUNT_GROUP: 区画のグループが所有しているプリム数
PRIM_COUNT_OTHER: その他の所有になっているプリム数
PRIM_COUNT_TEMP: 一時的にREZされているプリム数
PRIM_COUNT_SELECTED: 使用されているプリム数(SITされている場合など)
三番目のパラメータ : PARCELフラグ
TRUE の場合、区画で同一所有者が所有する指定されたカテゴリのobject数を返す
FALSE の場合、指定された区画の指定されたカテゴリのオブジェクト数を返す
llGetParcelMaxPrims関数(土地の最大プリム数を取得します。)
一番目のパラメータ : 位置
二番目のパラメータ :TRUE を指定すると、区画で設置できる最大プリム数を返す