LlRequestPermissions/ja
From Second Life Wiki
Second Life Wiki > LlRequestPermissions/ja
| 定数 | 挙動 | カテゴリ | 付与対象 | 自動付与 | |
|---|---|---|---|---|---|
| PERMISSION_DEBIT | 0x2 | アバターの口座からお金を徴収します | お金 | オーナー | |
| PERMISSION_TAKE_CONTROLS | 0x4 | アバターのコントロールを取得します | コントロール | 誰でも | sit 時、装着時 |
| PERMISSION_TRIGGER_ANIMATION | 0x10 | アバターのアニメーションを再生/停止します | アニメーション | 誰でも | sit 時、装着時 |
| PERMISSION_ATTACH | 0x20 | アバターにアタッチ/デタッチします | 装備 | オーナー | 装着時 |
| PERMISSION_CHANGE_LINKS | 0x80 | リンクを変更します | リンク | オーナー | |
| PERMISSION_TRACK_CAMERA | 0x400 | アバターのカメラの位置と回転を追跡します | カメラ | 誰でも | sit 時、装着時 |
| PERMISSION_CONTROL_CAMERA | 0x800 | アバターのカメラを制御します (sit か装備が必須) | カメラ | 誰でも | sit 時、装着時 |
警告
- 上表で示した自動的に許可されるパターン以外は、エージェントに許可を求めるダイアログがビューアに表示されます。
- オブジェクトがアバターに装着されているものであれば、「自動付加される」権限はリクエストに対する通知なく許可されます。
- 権限はステート遷移後も維持されます。
- 権限が自動/手動いずれであろうと、常に run_time_permissions イベントでの処理が必要です。許可を得るまでには時間がかかります。 run_time_permissions ハンドラが呼ばれるまでにはすっかり許可されているはずだと思いこまないようにしましょう。
- 権限は重ねていくことができません。
- 前回この関数を呼び出してある権限をリクエストし、許可された場合、次の呼び出しでその権限をリクエストしないと、その権限は解放されます (消失します) 。
- 複数の権限を同時に要求するには、次のように OR (|) 演算子でビット加算します:
llRequestPermissions(AvatarID, PERMISSION_TAKE_CONTROLS | PERMISSION_TRIGGER_ANIMATION)
- 一つのスクリプトが二つの権限要求を出した場合、後から回答された方が承認された権限とみなされます。
重要事項
~ JIRA で関連バグを検索| | | SVC-1006 | [A, C] | スクリプトの権限 を剥奪することができない |
サンプル
アバターにアニメーション適用の許可を求めます ---
default { touch_start(integer detected) { llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION); } run_time_permissions(integer perm) { if (perm & PERMISSION_TRIGGER_ANIMATION) { llStartAnimation("sit"); llOwnerSay("アニメーションは 5 秒で終わります"); llSetTimerEvent(5.0); } } timer() { llSetTimerEvent(0.0); llStopAnimation("sit"); } }
複数の異なった権限を同時に要求するには、OR (|) を使ったビット加算を行なうか、あらかじめその合計値を計算しておいてください。
llRequestPermissions(AvatarID, PERMISSION_TAKE_CONTROLS | PERMISSION_TRIGGER_ANIMATION); integer perms = PERMISSION_TAKE_CONTROLS | PERMISSION_TRIGGER_ANIMATION; llRequestPermissions(AvatarID, perms);
注意点
エージェントが自動付加されない権限をスクリプトに与えると、(チャットで) 通知を受け取ることになります - 権限が与えられたスクリプトの入っているオブジェクトの 名前、オブジェクトのオーナーの名前、オブジェクトの座標が順に - 地域名と 位置、そして与えられた権限についての説明が表示されます。権限をもつスクリプトが子プリムの中にある場合、名前 は (オブジェクト (ルート) ではなく) 子プリムのものになり、位置 は (ルートに対する) ローカル 座標になります。
関連項目
イベント
| • | run_time_permissions | – | 権限受信イベント |
関数
| • | llGetPermissions | – | 付与された権限を取得する | |
| • | llGetPermissionsKey | – | 権限が付与されたアバターを取得する |
記事
| • | スクリプトの権限 |
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。

