制御 【LSL】

れむ

2007年07月01日 01:55


▲LSL目次
llTakeControlsキーコントロールを開始する llReleaseControlsキーコントロールを終了する。
llGetPermissionsパーミッション情報を取得する。 llGetPermissionsKeyパーミッション対象者のUUIDを取得する。 llRequestPermissionsパーミッションを要求する。
llGiveMoneyL$を支払う。 llSetPayPrice支払いダイアログを表示する。
llSetTouchTextメニューの "Touch" を変更する。 llSetSitTextメニューの "Sit Here" を変更する。 キー 定義値説明 CONTROL_FWD前 CONTROL_BACK後ろ CONTROL_LEFT左 CONTROL_RIGHT右 CONTROL_ROT_LEFT左回転 CONTROL_ROT_RIGHT右回転 CONTROL_UP上昇 CONTROL_DOWN下降 CONTROL_LBUTTONマウス左クリック CONTROL_ML_LBUTTONマウスルック中の左クリック パーミッション 定義値説明オーナー以外許可省略
(装着時)許可省略
(sit時) PERMISSION_DEBITL$の徴収権限。××× PERMISSION_TAKE_CONTROLSエージェントの操作権限。○○○ PERMISSION_TRIGGER_ANIMATIONアニメーション変更権限。○○○ PERMISSION_ATTACHオブジェクトの脱着権限。××○ PERMISSION_CHANGE_LINKSリンクの変更権限。××× PERMISSION_TRACK_CAMERAカメラ位置と回転を追跡する権限○○○ PERMISSION_CONTROL_CAMERAカメラ操作権限
装着及び座っているときのみ有効○○○
llTakeControls(integer controls, integer accept, integer pass_on)controls使用するキー(参照)acceptTRUE … スクリプトによる動作を有効にする
FALSE … スクリプトによる動作を無効にするpass_onTRUE … 通常操作を有効にする
FALSE … 通常操作を無効にする
キーコントロールを開始します
実行するにはパーミッション(PERMISSION_TAKE_CONTROLS)の取得が必要です。

acceptpass_onを両方TRUEにすると動かない?

▲上へ ■LSL Portal ■LSL Portal (日本語) llReleaseControls()
キーコントロールを終了します。

▲上へ ■LSL Portal ■LSL Portal (日本語) integer llGetPermissions()
取得済みのパーミッション情報を取得します。(参照)
▲上へ ■LSL Portal ■LSL Portal (日本語) key llGetPermissionsKey()
パーミッション対象者のUUIDを取得します。

▲上へ ■LSL Portal ■LSL Portal (日本語) llRequestPermissions(key agent, integer perm)agentアバターのUUIDpermパーミッション種別(参照)
agentへパーミッションを要求します。
結果はrun_time_permissionsイベントに通知されます。

パーミッションを取得しなおした場合、前回のパーミッションは破棄されます。
複数のパーミッションを取得したい場合は1度に取得する必要があります。
これはアバターを区別しないため、1つのスクリプトで複数人分のパーミッションを保持することはできません。
▲上へ ■LSL Portal ■LSL Portal (日本語) llGiveMoney(key destination, integer amount)destinationアバターのUUIDamount金額(1~)
スクリプトオーナーからdestinationへL$を支払います。
実行するにはパーミッション(PERMISSION_DEBIT)の取得が必要です。

▲上へ ■LSL Portal ■LSL Portal (日本語) llSetPayPrice(integer price, list quick_pay_buttons)price金額入力欄の初期値、または定義値quick_pay_buttonsボタンに設定する金額、または定義値(デフォルト[ 1, 5, 10, 20 ]、最大4つ)
メニューへ "Pay(支払う)" を追加します。また、その際に表示されるダイアログの設定をします。
実際に支払われた金額はmoneyイベントに通知されます。
設定された金額がL$0の場合、moneyイベントは通知されません。

pay value PAY_HIDE非表示 PAY_DEFAULTデフォルト値
    // 固定の金額1つのみ設定。( L$100 入力不可 )
    llSetPayPrice(PAY_HIDE, [ 100, PAY_HIDE, PAY_HIDE, PAY_HIDE ]);
    // 支払いメニューを非表示にする
    llSetPayPrice(PAY_HIDE, [ PAY_HIDE, PAY_HIDE, PAY_HIDE, PAY_HIDE ]);
    // デフォルトの値にする。
    llSetPayPrice(PAY_DEFAULT, [ PAY_DEFAULT, PAY_DEFAULT, PAY_DEFAULT, PAY_DEFAULT ]);

▲上へ ■LSL Portal ■LSL Portal (日本語) llSetTouchText(string text)text文字列
メニューの "Touch" をtextに変更します。

▲上へ ■LSL Portal ■LSL Portal (日本語) llSetSitText(string text)text文字列
メニューの "Sit Here" をtextに変更します。

▲上へ ■LSL Portal ■LSL Portal (日本語)
LSLリファレンス