FANDOM


Scripters_cafeログ


08/06/07 編集

オフィスアワーによく参加していただいているsaaspyさんがブログに書かれていた、PERMISSION_DEBITとPERMISSION_CAMERA_CONTROLを同時に取得できないという件を調査しました。

→ささぴブログ 【スクリプト】で取得するパーミッションについて

PERMISSION_DEBITはオーナーのみ、PERMISSION_CAMERA_CONTROLはプリムに座っているか、アタッチしている場合のみ有効なので、以下のようなシンプルなスクリプトを入れたプリムに座ってタッチして実験しました。


default {
    touch_start( integer total_number ){
        llRequestPermissions( llGetOwner(),
          PERMISSION_DEBIT | PERMISSION_CONTROL_CAMERA );
    }
    
    run_time_permissions( integer permissions ) {
        if ( permissions & PERMISSION_DEBIT ) {
            llOwnerSay( "DEBIT" );    
        }    
        if ( permissions & PERMISSION_CONTROL_CAMERA ) {
            llOwnerSay( "CONTROL_CAMERA" );    
        }    
    }
}

このプリムに座ってタッチすると、「Camera control currently only supported for attachments and objects on which you are sitting.」というエラーがデバッグチャンネルに出力されて、パーミッションは何も取得できません。 (パーミッション取得確認のダイアログも表示されません)

パーミッションを要求している部分を PERMISSION_DEBIT のみ、または PERMISSION_CONTROL_CAMERA のみに変更すると、正しくパーミッションの処理が行われます。


Tomonekoさんから教えていただいた rpgstats のページにも、この挙動に関する記述がありました。

llRequestPermissions

以下引用です。

As of 1.10.5.1, PERMISSION_CONTROL_CAMERA will not be granted in
combination with either of PERMISSION_CHANGE_LINKS or PERMISSION_DEBIT
even to scripts in attached or sat-upon objects, and the call will
fail with a misleading error message.

この記述からすると、かなり以前からこのような仕様であったようです。


エラーメッセージについて若干納得がいかない(座っているのに「座ってないとダメ」というエラー)点があったので、エラーメッセージについても以前からこの文言だったのか?という話がありましたが、今となっては調べようがありません。

かろうじてβグリッドに残っているHavok1のSIMにてGOTTiが確認したところ、全く同じメッセージが表示されました。

※エラーメッセージの文言そのものはビューア依存かもしれません。

広告ブロッカーが検出されました。


広告収入で運営されている無料サイトWikiaでは、このたび広告ブロッカーをご利用の方向けの変更が加わりました。

広告ブロッカーが改変されている場合、Wikiaにアクセスしていただくことができなくなっています。カスタム広告ブロッカーを解除してご利用ください。

FANDOMでも見てみる

おまかせWiki