気ままな一言
2007年07月01日
リンク 【LSL】
llCreateLink | プリムをリンクする。 |
llBreakLink | プリムのリンクを解除する。 |
llBreakAllLinks | オブジェクトの全リンクを解除する。 |
llGetNumberOfPrims | リンクプリム数を取得する。 |
llGetLinkNumber | プリムのリンク番号を取得する。 |
llGetLinkKey | リンクプリムのUUIDを取得する。 |
llGetLinkName | リンクプリムの名前を取得する。 |
llSetLinkAlpha | リンクプリムのアルファ値を設定する。 |
llSetLinkColor | リンクプリムの色を設定する。 |
llSetLinkTexture | リンクプリムにテクスチャを設定する。 |
llSetLinkTextureAnim | リンクプリムのテクスチャアニメーションを設定する。 |
llGetLinkNumberOfSides | リンクプリムの面の数を取得する。 |
llSetLinkPrimitiveParams | リンクプリムのパラメータを設定する。 |
llSetLinkPrimitiveParamsFast | リンクプリムのパラメータを設定する。 |
llGetLinkPrimitiveParams | リンクプリムのパラメータを取得する。 |
llLinkParticleSystem | リンクプリムからパーティクルを生成する。 |
llMessageLinked | リンクメッセージを送信する。 |
llPassTouches | ルートプリムへタッチイベントを通知する。 |
llPassCollisions | ルートプリムへ衝突イベントを通知する。 |
リンク番号
1 | LINK_ROOT | ルートプリム |
-1 | LINK_SET | すべてのプリム |
-2 | LINK_ALL_OTHERS | 自分以外のプリム |
-3 | LINK_ALL_CHILDREN | すべての子プリム |
-4 | LINK_THIS | 自分自身のプリム |
0 | -- | unlinked |
1 | -- | 子プリム |
llCreateLink(key target, integer parent)
target | リンクするプリムのUUID | |
parent | TRUE … このオブジェクトをルートプリムにする FALSE … このオブジェクトを子プリムにする |
プリムをリンクします。
パーミッション(PERMISSION_CHANGE_LINKS)が必要です。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llBreakLink(integer linknum)
linknum | リンクを解除するプリムのリンク番号 |
プリムのリンクを解除します。
パーミッション(PERMISSION_CHANGE_LINKS)が必要です。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llBreakAllLinks()
オブジェクトの全リンクを解除します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llGetNumberOfPrims()
リンクプリム数を取得します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llGetLinkNumber()
プリムのリンク番号を取得します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
key llGetLinkKey(integer linknum)
linknum | リンク番号 |
リンクプリムのUUIDを取得します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
string llGetLinkName(integer linknum)
linknum | リンク番号 |
リンクプリムの名前を取得します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llSetLinkAlpha(integer linknumber, float alpha, integer face)
linknumber | リンク番号 | |
alpha | 不透明度(0.0[透明] ~ 1.0[不透明]) | |
face | 面 |
リンクプリムのアルファ値を設定します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llSetLinkColor(integer linknumber, vector color, integer face)
linknumber | リンク番号 | |
color | 色 | |
face | 面 |
リンクプリムの色を設定します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llSetLinkTexture(integer linknumber, string texture, integer face)
link_pos | リンク番号 | |
texture | 設定するテクスチャ名 | |
face | 設定する面 |
リンクプリムにテクスチャを設定します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llSetLinkTextureAnim(integer link, integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate)
link | リンク番号 | |
mode | アニメーション方法 | |
face | テクスチャアニメーションを行う面 | |
sizex | 横方向の分割数 | |
sizey | 縦方向の分割数 | |
start | アニメーションを開始するフレーム番号(0 ~ | |
length | 再生するフレーム数(0の場合は全フレーム再生) | |
rate | アニメーションの速度(rate/sec) |
リンクプリムにテクスチャアニメーションを設定します。
mode
ANIM_ON | テクスチャアニメーションのON/OFF |
LOOP | ループ再生 |
REVERSE | 逆方向に再生 |
PING_PONG | フレームを前後に再生 |
SMOOTH | フレームの繋がりを滑らかにする |
ROTATE | テクスチャを回転する |
SCALE | テクスチャのスケールを変更する |
▲上へ ■LSL Portal ■LSL Portal (日本語)
string llGetLinkNumberOfSides(integer linknum)
linknum | リンク番号 |
リンクプリムの面の数を取得します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llSetLinkPrimitiveParams(integer linknumber, list rules)
linknumber | リンク番号 | |
rules | プリム情報 |
リンクプリムのパラメータを設定します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llSetLinkPrimitiveParamsFast(integer linknumber, list rules)
linknumber | リンク番号 | |
rules | プリム情報 |
リンクプリムのパラメータを設定します。
llSetLinkPrimitiveParamsと同じですが、実行時の遅延がありません。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llGetLinkPrimitiveParams(integer link, list params)
link | リンク番号 | |
params | 取得する項目 |
リンクプリムのパラメータを取得します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llLinkParticleSystem(integer link, list rules)
link | リンク番号 | |
rules | プリム情報 |
リンクプリムからパーティクルを生成します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llMessageLinked(integer linknum, integer num, string str, key id)
linknumber | リンク番号 | |
num | link_messageイベントに渡すinteger値 | |
str | link_messageイベントに渡すstring値 | |
id | link_messageイベントに渡すkey値 |
指定リンクプリムのすべてのスクリプトへ引数の値を送信します。
受信は送信先スクリプトのlink_messageへ通知されます。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llPassTouches(integer pass)
pass | TRUE … ルートプリムに伝える FALSE … ルートプリムに伝えない |
子プリムで発生したタッチイベントをルートプリムへ伝えるかどうかを制御します。
この設定を有効にするためにはイベントハンドラ(touch_start / touch / touch_end)を追加する必要があります。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llPassCollisions(integer pass)
pass | TRUE … ルートプリムに伝える FALSE … ルートプリムに伝えない |
子プリムで発生した衝突イベントをルートプリムへ伝えるかどうかを制御します。
この設定を有効にするためにはイベントハンドラ(collision_start / collision / collision_end)を追加する必要があります。
▲上へ ■LSL Portal ■LSL Portal (日本語)
2007年07月01日
インベントリ 【LSL】
llGetInventoryCreator | プリム内にあるアイテムのクリエイターのUUIDを取得する。 |
llGetInventoryKey | プリム内にあるアイテムのUUIDを取得する。 |
llGetInventoryName | プリム内にあるアイテム名を取得する。 |
llGetInventoryNumber | プリム内にある指定タイプのアイテム数を取得する。 |
llGetInventoryPermMask | プリム内にあるアイテムのパーミッションを取得する。 |
llGetInventoryType | プリム内にあるアイテムタイプを取得する。 |
llAllowInventoryDrop | プリムへのドロップを許可する。 |
llGiveInventory | プリム内からオブジェクトを渡す。 |
llGiveInventoryList | プリム内から複数のオブジェクトを渡す。 |
llRemoveInventory | プリム内のアイテムを削除する。 |
llRequestInventoryData | プリム内にあるアイテムデータを要求する。 |
llGetNotecardLine | ノートカードから1行読み出す要求を行う。 |
llGetNumberOfNotecardLines | ノートカードの行数を取得する要求を行う。 |
種別
INVENTORY_ALL | すべて |
INVENTORY_TEXTURE | テクスチャ |
INVENTORY_SOUND | サウンド |
INVENTORY_LANDMARK | ランドマーク |
INVENTORY_CLOTHING | 服 |
INVENTORY_OBJECT | オブジェクト |
INVENTORY_NOTECARD | ノートカード |
INVENTORY_SCRIPT | スクリプト |
INVENTORY_BODYPART | ボディパーツ |
INVENTORY_ANIMATION | アニメーション |
INVENTORY_GESTURE | ジェスチャー |
key llGetInventoryCreator(string item)
item | アイテム名 |
プリム内にあるアイテムのクリエイターのUUIDを取得します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
key llGetInventoryKey(string name)
name | アイテム名 |
プリム内にあるアイテムのUUIDを取得します。
オブジェクトオーナーに指定アイテムのコピー、編集、譲渡の権限がない場合には、NULL_KEYを返します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
string llGetInventoryName(integer type, integer number)
type | 種別 | |
number | 種別毎のインデックス(0~) |
プリム内にあるアイテム名を取得します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llGetInventoryNumber(integer type)
type | 種別 |
プリム内にある指定タイプのアイテム数を取得します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llGetInventoryPermMask(string item, integer mask)
item | アイテム名 | |
mask | 取得する内容 |
プリム内にあるアイテムのパーミッションを取得します。
mask
MASK_BASE | 基本の権限 |
MASK_OWNER | オーナーの権限 |
MASK_GROUP | グループの権限 |
MASK_EVERYONE | すべてのユーザーの権限 |
MASK_NEXT | 次のオーナーの権限 |
PERM_ALL | すべて |
PERM_COPY | コピー許可 |
PERM_MODIFY | 編集許可 |
PERM_MOVE | 移動許可 |
PERM_TRANSFER | 譲渡許可 |
▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llGetInventoryType(string name)
item | アイテム名 |
プリム内にあるアイテムの種別を取得します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llAllowInventoryDrop(integer add)
add | TRUE … ドロップを許可 FALSE … ドロップを拒否 |
他人によるプリムへのアイテムドロップの許可を設定します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llGiveInventory(key destination, string inventory)
destination | 渡し先のUUID | |
inventory | アイテム名 |
プリム内からオブジェクトを渡します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llGiveInventoryList(key destination, string category, list inventory)
destination | 渡し先のUUID | |
category | 渡すフォルダ名(destinationがオブジェクトの場合は無効) | |
inventory | アイテム名リスト |
プリム内から複数のオブジェクトを渡します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llRemoveInventory(string inventory)
inventory | アイテム名 |
プリム内のアイテムを削除します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
key llRequestInventoryData(string name)
name | アイテム名 |
プリム内にあるアイテムデータを要求します。
結果はdataserverイベントに通知されます。
▲上へ ■LSL Portal ■LSL Portal (日本語)
key llGetNotecardLine(string name, integer line)
name | ノートカード名 | |
line | 行数 |
ノートカードから1行読み出す要求を行います。
結果はdataserverイベントに通知されます。
▲上へ ■LSL Portal ■LSL Portal (日本語)
key llGetNumberOfNotecardLines(string name)
name | ノートカード名 |
ノートカードの行数を取得する要求を行います。
結果はdataserverイベントに通知されます。
ノートカードの終端に到達した場合はEOF(定義値:"\n\n\n")をデータとして通知します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
2007年07月01日
コミュニケーション 【LSL】
llListen | リスナーの受信を開始する。 |
llListenControl | リスナーを有効/無効にする。 |
llListenRemove | リスナーを停止する。 |
llDialog | ダイアログを表示する。 |
llTextBox | 入力用のテキストボックスを表示する。 |
llOwnerSay | オーナーにチャットメッセージを送信する。 |
llWhisper | チャットメッセージを送信する。(半径10m / 1024byte以内) |
llSay | チャットメッセージを送信する。(半径20m / 1024byte以内) |
llShout | チャットメッセージを送信する。(半径100m / 1024byte以内) |
llRegionSay | SIM全域にチャットメッセージを送信する。 |
llRegionSayTo | SIM内の指定対象にチャットメッセージを送信する。 |
llInstantMessage | IMを送信する。 |
llEmail | メールを送信する。 |
llGetNextEmail | メールを受信する。 |
llLoadURL | ブラウザを起動する。 |
llHTTPRequest | HTTPリクエストを送信する。 |
llRequestURL | 新しいURLを要求する。 |
llRequestSecureURL | 新しいURLを要求する。(SSL) |
llReleaseURL | URLを解放する。 |
llGetHTTPHeader | HTTPヘッダーの値を取得する。 |
llHTTPResponse | HTTPレスポンスを返信する。 |
llGetFreeURLs | 利用可能なURL数を取得する。 |
llOpenRemoteDataChannel | XML-RPCチャンネルを開く。 |
llCloseRemoteDataChannel | XML-RPCチャンネルを閉じる。 |
llRemoteDataReply | XML-RPCリプライを送信する。 |
llSendRemoteData | XML-RPCリクエストを送信する。 |
llRemoteDataSetRegion | XML-RPCのチャンネルを再設定する。(動作しない?) |
llGetAgentLanguage | ビューアの言語設定を取得する。 |
integer llListen(integer channel, string name, key id, string msg)
channel | 受信チャンネル(-2147483648~2147483647) | |
name | 受信する名前 | |
id | 受信するUUID | |
msg | 受信するメッセージ |
リスナーの受信を開始します。
引数の組み合わせ条件に当てはまる発言のみを受信します。
llListen(channel, "", NULL_KEY, "") で指定チャンネルのすべての発言を受信するようになります。
llListenは複数生成することが可能ですが、その分サーバへの負荷も増えるため、適時停止することを推奨します。
受信内容はlistenイベントに通知されます。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llListenControl(integer number, integer active)
number | リスナーハンドル(llListenの戻り値) | |
active | TRUE … 有効 FALSE … 無効 |
リスナーを有効/無効にします。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llListenRemove(integer number)
number | リスナーハンドル(llListenの戻り値) |
リスナーを停止します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llDialog(key id, string message, list buttons, integer chat_channel)
id | ダイアログを表示するアバターのUUID | |
message | 表示メッセージ(512byte未満) | |
buttons | ボタン名リスト(要素数=ボタン数/12個以内) | |
chat_channel | 送信チャンネル |
ダイアログを表示します。
ボタンを選択すると指定チャンネルに対してボタン名と同じメッセージを送信します。
表示相手は同じ20m以内にいる必要があります。
ボタンが選択されずに閉じられた場合、通知は行われません。
ボタン名は半角24文字を超えるとエラーになります。
実際に見える文字数は7~12文字程度です。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llTextBox(key avatar, string message, integer chat_channel)
avatar | テキストボックスを表示するアバターのUUID | |
message | テキストボックスに表示するメッセージ(512byte未満) | |
chat_channel | 送信チャンネル |
入力用のテキストボックスを表示します。
ボタンを選択すると指定チャンネルに対して入力されたメッセージを送信します。
表示相手は同じ20m以内にいる必要があります。
バージョン2.4以前の公式ビューアではサポートされていません。
サードパーティ製ビューアでもサポートされていない可能性があります。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llOwnerSay(string msg)
msg | 送信メッセージ |
オーナーにチャットメッセージを送信します。(同一リージョン内)
▲上へ ■LSL Portal ■LSL Portal (日本語)
llWhisper(integer channel, string msg)
channel | 送信チャンネル(-2147483648~2147483647) | |
msg | 送信メッセージ |
チャットメッセージを送信します。(半径10m / 1024byte以内)
▲上へ ■LSL Portal ■LSL Portal (日本語)
llSay(integer channel, string msg)
channel | 送信チャンネル(-2147483648~2147483647) | |
msg | 送信メッセージ |
チャットメッセージを送信します。(半径20m / 1024byte以内)
▲上へ ■LSL Portal ■LSL Portal (日本語)
llShout(integer channel, string msg)
channel | 送信チャンネル(-2147483648~2147483647) | |
msg | 送信メッセージ |
チャットメッセージを送信します。(半径100m / 1024byte以内)
▲上へ ■LSL Portal ■LSL Portal (日本語)
llRegionSay(integer channel, string text)
channel | 送信チャンネル(-2147483648~-1、1~2147483647) | |
text | 送信メッセージ |
オブジェクトと同一SIM全域にチャットメッセージを送信します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llRegionSayTo(key target, integer channel, string msg)
target | アバターもしくはプリムのUUID | |
channel | 送信チャンネル(-2147483648~-1、1~2147483647) | |
text | 送信メッセージ |
指定したアバターもしくはプリムに対してチャットメッセージを送信します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llInstantMessage(key user, string message)
user | 送信先アバターのUUID | |
message | 送信メッセージ(1023byte以内) |
指定のアバターに対してIMを送信します。
オブジェクトに対して送信することはできません
▲上へ ■LSL Portal ■LSL Portal (日本語)
llEmail(string address, string subject, string message)
address | メールアドレス | |
subject | 件名 (?文字以内) | |
message | メッセージ(?文字以内) |
メールを送信します。
addressは、"<送信先のUUID>@lsl.secondlife.com"となります。
string address = (string)llGetKey() + "@lsl.secondlife.com";メール送信完了するまで(約20秒)スクリプトは停止します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llGetNextEmail(string address, string subject)
address | 受信メールアドレス | |
subject | 件名 |
メールを受信します。
llGetNextEmail("", "");受信メールはemailイベントに通知されます。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llLoadURL(key avatar_id, string message, string url)
avatar_id | 要求先アバターのUUID | |
message | 表示メッセージ | |
url | ブラウザで開くURL |
ブラウザを起動します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
key llHTTPRequest(string url, list parameters, string body)
url | 接続先URL | |
parameters | HTTPリクエストパラメータ | |
body | 送信内容 |
HTTPリクエストを送信します。
戻り値にはhttp_responseイベントで確認に必要なIDを返します。
レスポンスはhttp_responseイベントに通知されます。
▲上へ ■LSL Portal ■LSL Portal (日本語)
key llRequestURL()
新しいURLの割り当てを要求します。
戻り値にはhttp_requestイベントで確認に必要なIDを返します。
レスポンスはhttp_requestイベントに通知されます。
▲上へ ■LSL Portal ■LSL Portal (日本語)
key llRequestSecureURL()
新しいURLの割り当てを要求します。(SSL通信用)
戻り値にはhttp_requestイベントで確認に必要なIDを返します。
レスポンスはhttp_requestイベントに通知されます。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llReleaseURL(string url)
url | HTTPリクエストID |
指定したURLを解放します。
利用できるURL数には限りがあるため、不要になった場合は必ず解放するようにします。
▲上へ ■LSL Portal ■LSL Portal (日本語)
string llGetHTTPHeader(key request_id, string header)
request_id | HTTPリクエストID | |
header | ヘッダー名 |
headerに指定したHTTPヘッダーの値を取得します。
ヘッダー名 | 備考 |
---|---|
"x-script-url" | このスクリプトのURL |
"x-path-info" | リクエストURLのパス |
"x-query-string" | URLパラメータ(p1=xxx&p2xxx&p3xxx) |
"x-remote-ip" | リモートIPアドレス |
"user-agent" | ユーザーエージェント |
▲上へ ■LSL Portal ■LSL Portal (日本語)
string llHTTPResponse(key request_id, string status, string body)
request_id | HTTPリクエストID | |
status | ステータスコード | |
body | ステータスメッセージ |
HTTPリクエストに対する返信を行います。
▲上へ ■LSL Portal ■LSL Portal (日本語)
integer llGetFreeURLs()
利用可能なURL数を返します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llOpenRemoteDataChannel()
XML-RPCチャンネルを開きます。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llCloseRemoteDataChannel(key channel)
channel | チャンネル |
XML-RPCチャンネルを閉じます。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llRemoteDataReply(key channel, key message_id, string sdata, integer idata)
channel | チャンネル | |
message_id | メッセージID | |
sdata | sdata | |
idata | idata |
XML-RPCリプライを送信します。
remote_dataイベントに通知されます。
▲上へ ■LSL Portal ■LSL Portal (日本語)
key llSendRemoteData(key channel, string dest, integer idata, string sdata)
channel | チャンネル | |
dest | dest | |
sdata | sdata | |
idata | idata |
XML-RPCリクエストを送信します。
▲上へ ■LSL Portal ■LSL Portal (日本語)
llRemoteDataSetRegion()
XML-RPCのチャンネルを再設定します。(?)
▲上へ ■LSL Portal ■LSL Portal (日本語)
string llGetAgentLanguage(key avatar)
avatar | アバターのUUID |
ビューアの言語設定を文字列で返します。(デフォルト設定の場合は空文字が返る?)
戻り値 | 言語 |
---|---|
"de" | ドイツ語 |
"en-us" | 英語 |
"es" | スペイン語 |
"fr" | フランス語 |
"ja" | 日本語 |
"pt" | ポルトガル語 |
"ko" | 韓国語 |
"zh" | 中国語 |