BlackSheep-LSL@Wiki

llGetPermissions

最終更新:

mizcremorne

- view
メンバー限定 登録/ログイン

llGetPermissions

integer llGetPermissions()

現在取得しているパーミッションを得る。
戻り値はビットフィールドになっているので以下の定数を使って&演算を行い、必要なパーミッションが取得されているかどうかをチェックする。

定数名 説明 対応する関数
PERMISSION_DEBIT L$の支払い権限 llGiveMoney
PERMISSION_TAKE_CONTROLS キー操作取得の権限 llTakeControls?llReleaseControls
PERMISSION_TRIGGER_ANIMATION アニメーション実行権限 llStartAnimation?llStopAnimation?
PERMISSION_ATTACH アタッチ制御権限 llAttachToAvatarllDetachFromAvatar
PERMISSION_CHANGE_LINKS リンク制御権限 llCreateLinkllBreakLinkllBreakAllLinks
PERMISSION_TRACK_CAMERA カメラ位置取得権限 llGetCameraPosllGetCameraRot
PERMISSION_CONTROL_CAMERA カメラ制御権限 llSetCameraParamsllClearCameraParams

上記「対応する関数」に記載されている関数を使用する際には該当するパーミッションを取得しなければならない。
例えばllGiveMoney関数を使用する際には、以下のようにしてパーミッションを確認する。

integer start_animation(string animetion_name){
  integer perm = llGetPermissions();
  if (perm & PERMISSION_TRIGGER_ANIMATION) {
    llStartAnimation(animetion_name);
    return TRUE;
  }
  return FALSE;
}

パーミッションを取得するにはllRequestPermissions関数を使用する。
誰に対するパーミッションを取得しているかはllGetPermissionsKey関数を使用して確認する。

名前:
コメント:
記事メニュー
目安箱バナー