LlRequestPermissions/ja

From Second Life Wiki
< LlRequestPermissions
Revision as of 08:03, 1 June 2009 by MasterOf Perl (talk | contribs) (Update translation)
Jump to navigation Jump to search

要約

関数: llRequestPermissions( key agent, integer perm );

特定の関数の実行を許可するか、アバターに問い合わせます。

• key agent 同一 地域 にいるアバターの UUID
• integer perm パーミッションマスク(要求するパーミッションを含んでいるビットフィールド)。

アバターの回答を待たずに、スクリプトは処理を続行します。回答があった時点で、run_time_permissions イベントがイベント キューに追加されます。

定数 挙動 カテゴリ 付与対象 自動付与
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 時、装着時
PERMISSION_TELEPORT 0x1000 アバターのテレポートを制御します テレポート 誰でも[1]
PERMISSION_SILENT_ESTATE_MANAGEMENT 0x4000 llManageEstateAccess without notifying the owner of changes Estate オーナー
PERMISSION_OVERRIDE_ANIMATIONS 0x8000 configure the overriding of default llStartAnimation on agent アニメーション 誰でも 装着時
PERMISSION_RETURN_OBJECTS 0x10000 Used by llReturnObjectsByOwner and llReturnObjectsByID to return objects from parcels Cleanup/ja オーナー, グループオーナー

警告

  • パーミション (実行許可) を求めるダイアログがビューアに表示されますが、上表で示した例外の場合は自動的に許可されます。
  • パーミションは state 遷移後も維持されます。
  • パーミションが自動/手動いずれであろうと、常に run_time_permissions イベントでの処理が必要です。(ダイアログが表示される) 手動パーミションは (ユーザの反応に) 時間がかかりますので、その場合 "ユーザの反応があって初めて run_time_permissions イベントが発生する" という点に注意してください。
  • パーミションの付与は一度きりです。
    • 既に一度この関数を呼び出してパーミションが許可されているならば、それ以降は (わざわざ) パーミション要求は行われず、その要求内容も無視されます。
    • 複数のパーミションを同時に要求するには、次のように OR (|) 演算子でビット加算します: <lsl>llRequestPermissions(AvatarID, PERMISSION_TAKE_CONTROLS

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   Unable to release script permissions

サンプル

アバターにアニメーション適用の許可を求める <lsl>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");
   }

}</lsl>

複数の異なったパーミションを同時に要求するには、OR (|) を使ったビット加算を行なうか、あらかじめその合計値を計算しておいてください。

<lsl>llRequestPermissions(AvatarID, PERMISSION_TAKE_CONTROLS

関連項目

イベント

•  run_time_permissions パーミッション受信イベント

関数

•  llGetPermissions 付与されたパーミッションを取得する
•  llGetPermissionsKey パーミッションが付与されたアバターを取得する

記事

•  スクリプトのパーミション

特記事項

All Issues

~ Search JIRA for related Issues
   Unable to release script permissions

脚注

Signature

function void llRequestPermissions( key agent, integer perm );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。