気ままな一言
2007年07月01日
制御 【LSL】
llTakeControls | キーコントロールを開始する |
llReleaseControls | キーコントロールを終了する。 |
llGetPermissions | パーミッション情報を取得する。 |
llGetPermissionsKey | パーミッション対象者のUUIDを取得する。 |
llRequestPermissions | パーミッションを要求する。 |
llGiveMoney | L$を支払う。 |
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_DEBIT | L$の徴収権限。 | × | × | × |
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 | 使用するキー(参照) | |
accept | TRUE … スクリプトによる動作を有効にする FALSE … スクリプトによる動作を無効にする | |
pass_on | TRUE … 通常操作を有効にする FALSE … 通常操作を無効にする |
キーコントロールを開始します
実行するにはパーミッション(PERMISSION_TAKE_CONTROLS)の取得が必要です。
▲上へ ■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 | アバターのUUID | |
perm | パーミッション種別(参照) |
agentへパーミッションを要求します。
結果はrun_time_permissionsイベントに通知されます。
パーミッションを取得しなおした場合、前回のパーミッションは破棄されます。
複数のパーミッションを取得したい場合は1度に取得する必要があります。
これはアバターを区別しないため、1つのスクリプトで複数人分のパーミッションを保持することはできません。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llGiveMoney(key destination, integer amount)
destination | アバターのUUID | |
amount | 金額(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 (日本語)
Posted by れむ at 01:55
│LSLリファレンス