llGetPermissions
integer llGetPermissions()
現在取得しているパーミッションを得る。
戻り値はビットフィールドになっているので以下の定数を使って&演算を行い、必要なパーミッションが取得されているかどうかをチェックする。
戻り値はビットフィールドになっているので以下の定数を使って&演算を行い、必要なパーミッションが取得されているかどうかをチェックする。
定数名 | 説明 | 対応する関数 |
PERMISSION_DEBIT | L$の支払い権限 | llGiveMoney |
PERMISSION_TAKE_CONTROLS | キー操作取得の権限 | llTakeControls?、llReleaseControls |
PERMISSION_TRIGGER_ANIMATION | アニメーション実行権限 | llStartAnimation?、llStopAnimation? |
PERMISSION_ATTACH | アタッチ制御権限 | llAttachToAvatar、llDetachFromAvatar |
PERMISSION_CHANGE_LINKS | リンク制御権限 | llCreateLink、llBreakLink、llBreakAllLinks |
PERMISSION_TRACK_CAMERA | カメラ位置取得権限 | llGetCameraPos、llGetCameraRot |
PERMISSION_CONTROL_CAMERA | カメラ制御権限 | llSetCameraParams、llClearCameraParams |
上記「対応する関数」に記載されている関数を使用する際には該当するパーミッションを取得しなければならない。
例えばllGiveMoney関数を使用する際には、以下のようにしてパーミッションを確認する。
例えばllGiveMoney関数を使用する際には、以下のようにしてパーミッションを確認する。
integer start_animation(string animetion_name){ integer perm = llGetPermissions(); if (perm & PERMISSION_TRIGGER_ANIMATION) { llStartAnimation(animetion_name); return TRUE; } return FALSE; }