LSLめも(2)
関数
アバター/オブジェクト系
アバター
- llGetAgentInfointeger指定アバターの状態を得る
- llGetAgentInfo(key uuid_inThisSIM)
- 返り値 ⇒ 定数
- 一部については「該当アニメーションが再生されているか」で判断されている
- llGetAgentLanguagestring指定アバターのビューア言語設定を返す
- llGetAgentLanguage(key uuid_inThisSIM)
返り値 言語 返り値 言語 "de" ドイツ語 "ja" 日本語 "en-us" 英語 "pt" ポルトガル語 "es" スペイン語 "ko" 韓国語 "fr" フランス語 "zh" 中国語 - llGetAgentSizevector指定アバターのサイズを得る
- llGetAgentSize(key uuid_inThisSIM)
vector test = llGetAgentSize(uuid); if(test) { //uuid は同一SIMにいるアバター test.x // 定数 DEFAULT_AGENT_DEPTH = 0.45f; test.y // 定数 DEFAULT_AGENT_WIDTH = 0.60f; test.z + .17 // 頭のてっぺんから足裏まで test.z + .195 // 頭のてっぺんから地面まで } else { //uuid は同一SIMにいるアバターではありません }
- llGetObjectDetailslist指定UUIDのオブジェクト/アバターの詳細情報を得る
- llGetObjectDetails(key id, list prm)
- prm(パラメタ群) ⇒ 定数
default{ collision_start(integer i) { list a = llGetObjectDetails(llDetectedKey(0), ( [OBJECT_NAME, OBJECT_DESC, OBJECT_POS, OBJECT_ROT, OBJECT_VELOCITY, OBJECT_OWNER, OBJECT_GROUP, OBJECT_CREATOR])); llWhisper(0,"UUID: " + (string)llDetectedKey(0) + "\nName: \"" + llList2String(a,0) + "\"" + "\nDescription: \""+ llList2String(a,1) + "\"" + "\nPosition: " + llList2String(a,2) + "\nRotation: " + llList2String(a,3) + "\nVelocity: " + llList2String(a,4) + "\nOwner: " + llList2String(a,5) + "\nGroup: " + llList2String(a,6) + "\nCreator: " + llList2String(a,7)); } }
- llRequestAgentDatakeyアバターデータの取得を要求する
- llRequestAgentData(key id, integer data)
- data ⇒ 定数
- dataserverイベントで内容を取得
グループ
- llDetectedGroupinteger検出されたアバター/オブジェクトのアクティブグループが現在のオブジェクトのグループと一致するかどうかを調べる
- llDetectedGroup(integer num)
- llSameGroupinteger指定したものがオブジェクトのグループと同じかどうか判定する
- llSameGroup(key avatar)
llSameGroup(llDetectedKey(i)) == llDetectedGroup(i)
オブジェクト
- llDie--オブジェクトを消滅させる
- llDie()
- llGetBoundingBoxlist対象を取り囲む直方体について、その中心を挟んで互いに対角となる頂点の、ルートプリムに対する相対座標のリストを返す
- llGetBoundingBox(key id)
- 戻り値 [ (vector) min_corner, (vector) max_corner ]
default { state_entry() { llSetStatus(STATUS_PHANTOM, TRUE); } touch_start(integer total_number) { key target = llDetectedKey(0); list box = llGetBoundingBox(target); vector center = (llList2Vector(box, 0) + llList2Vector(box, 1)) * 0.5; vector size = llList2Vector(box, 1) - llList2Vector(box, 0); llSetPrimitiveParams([PRIM_POSITION, center, PRIM_SIZE, size]); llSetText("Name: " + llDetectedName(0) + ", UUID: " + (string)target + "\nBounding Box Size: " + (string)size, <1.0, 1.0, 1.0>, 1.0); } }
- llGetObjectNamestring指定したオブジェクトの名前を得る
- llGetObjectName()
- llSetObjectName--オブジェクトの名称を設定する
- llSetObjectName(string name)
- llGetObjectDescstringオブジェクトの説明文を得る
- llGetObjectDesc()
- llSetObjectDesc--オブジェクトの説明文を設定する
- llSetObjectDesc(string desc)
- llGetGeometricCentervectorオブジェクトの中心点を得る
- llGetGeometricCenter()
- llGetObjectPermMaskintegerオブジェクト自体のパーミッション(アセット)を得る
- llGetObjectPermMask(integer mask)
- mask ⇒定数
- llSetObjectPermMask--オブジェクトのパーミッション(アセット)を設定する
- llSetObjectPermMask(integer mask, integer value)
- mask, value ⇒定数
integer everyonePerms = llGetObjectPermMask(MASK_EVERYONE); integer nextPerms = llGetObjectPermMask(MASK_NEXT); integer PERMS_OPEN = (PERM_MODIFY | PERM_COPY | PERM_TRANSFER); string line = "Closed"; if ((nextPerms & PERMS_OPEN) == PERMS_OPEN) { if (everyonePerms & PERM_COPY) line = "Open"; } if (nextPerms & PERM_MODIFY) line += "/ Yes Mod"; if (nextPerms & PERM_COPY) line += "/ Yes Copy"; if (nextPerms & PERM_TRANSFER) line += "/ Yes Transfer";
- llGetOwnerkeyオブジェクトのオーナーのUUIDを得る
- llGetOwner()
- llGetCreatorkeyオブジェクトのクリエイターのUUIDを得る
- llGetCreator()
- llGetObjectMassfloat指定したオブジェクトの質量を得る
- llGetObjectMass(key uuid_inThisSIM)
- llGetObjectDetailslist指定UUIDのオブジェクト/アバターの詳細情報を得る
- llGetObjectDetails(key uuid_inThisSIM, list prm)
- prm(パラメタ群) ⇒ 定数
- llGetScalevectorオブジェクトのサイズを得る
- llGetScale()
- llSetScale--オブジェクトのサイズを変更する
- llSetScale(vector scale)
- llGetStatusintegerオブジェクトのステータス(物理/ファントム等)を得る
- llGetStatus(integer status)
- status ⇒ 定数
- llSetStatus--オブジェクトのステータス(物理/ファントム等)を設定する
- llSetStatus(integer status, integer bool)
- status ⇒ 定数
- llGetPrimitiveParamslistオブジェクトの各種パラメータを得る
- llGetPrimitiveParams(list prm)
- prm(パラメタ群) ⇒定数
- llSetPrimitiveParams--オブジェクトの各種パラメータを設定する
- llSetPrimitiveParams(list prm)
- prm(パラメタ群) ⇒定数
llSetPrimitiveParams( [PRIM_GLOW, integer face, float values] ); //Glow //↓一括 llSetPrimitiveParams([ PRIM_COLOR, ALL_SIDES, <0.0,0.0,0.0>, 1.0, PRIM_COLOR, 3, <1.0,1.0,1.0>, 1.0, PRIM_TEXTURE, 3, "4d304955-2b01-c6c6-f545-c1ae1e618288", <1.0,1.0,0.0>, <0.0,0.0,0.0>, 0.0, PRIM_FULLBRIGHT, 3, TRUE ]);
- llRezAtRoot--オブジェクトをrezする(ルートプリムの中心座標基準)
- llRezAtRoot(string obj_name, vector pos, vector vel, rotation rot, integer prm)
- llRezObject--オブジェクトをrezする(オブジェクトの重心基準)
- llRezObject(string obj_name, vector pos, vector vel, rotation rot, integer prm)
UUID
- llDetectedKeykey検出されたアバター/オブジェクトのUUIDを得る
- llDetectedKey(integer number)
- llGetInventoryKeykeyコンテンツ内のオブジェクトのUUIDを得る
- llGetInventoryKey(string name)
- llGetKeykeyオブジェクトのUUIDを得る
- llGetKey()
- llGetOwnerKeykey指定したオブジェクトのオーナーUUIDを得る
- llGetOwnerKey(key id)
- llKey2NamestringUUIDを名前に変換する
- llKey2Name(key id)
リンク
- llSetLinkAlpha--リンクプリムの透明度を設定する
- llSetLinkAlpha(integer linknumber, float alpha, integer face)
- llSetLinkColor--リンクプリムの色を設定する
- llSetLinkColor(integer linknumber, vector color, integer face)
- llSetLinkTexture--リンクprimにテクスチャを設定する
- llSetLinkTexture(integer link_pos, string texture, integer face)
- llSetLinkPrimitiveParams--リンクprimに各種パラメータを設定する
- llSetLinkPrimitiveParams(integer linknumber, list rules)
- rules ⇒定数
//座っているプリムの位置を動かさずに x,y,z の方向にアバターを動かす //※x,y,z が呼び出し元から54メートルを超えると、何もエラーを出さずに失敗 //※x,y,z はオブジェクトの相対座標。 //※アバターは常にリンクセットの中の最後のプリムです。 // このため、llGetNumberOfPrims は乗り物に座っている1人のアバターにも使用できます。 llSetLinkPrimitiveParams(llGetNumberOfPrims(), [PRIM_POSITION, <x,y,z>]);
- llSetLinkPrimitiveParamsFast--リンクprimに各種パラメータを遅延無く設定する
- llSetLinkPrimitiveParamsFast(integer linknumber, list rules)
- llBreakAllLinks--オブジェクトの全リンクを解除する
- llBreakAllLinks()
- 要PERMISSION_CHANGE_LINKS
//-- リンクを変更する許可を求め、タッチすると全てのリンクを解除します。 default{ state_entry(){ llRequestPermissions(llGetOwner(), PERMISSION_CHANGE_LINKS); } run_time_permissions(integer _prm){ if (PERMISSION_CHANGE_LINKS & _prm){ state sMain; }else{ llResetScript(); } } } state sMain{ touch_start(integer _num ){ llBreakAllLinks(); } }
- llBreakLink--オブジェクトから特定のプリムのリンクを解除する
- llBreakLink(integer linknum)
- 要PERMISSION_CHANGE_LINKS
- 使用できる定数は LINK_ROOT のみ。他の定数はリンクナンバーやllBreakAllLinksで対応
default{ state_entry(){ llRequestPermissions( llGetOwner(), PERMISSION_CHANGE_LINKS ); } touch_start( integer vIntTouched ){ llBreakLink( llGetLinkNumber() ); } }
- llCreateLink--オブジェクトにprimをリンクする
- llCreateLink(key target, integer parentFlg)
- parentFlgは親プリムが自分か相手かを指定(bool)。trueで自分、falseでターゲット。
- llGetLinkNumberintegerオブジェクトのリンクナンバーを得る
- llGetLinkNumber()
- llDetectedLinkNumberinteger検出されたprimのリンクナンバーを得る
- llDetectedLinkNumber(integer detect_number)
- llGetNumberOfPrimsintegerリンクされているprim数を得る
- llGetNumberOfPrims()
- llGetObjectPrimCountinteger指定UUIDのオブジェクトのprim数を得る
- llGetObjectPrimCount(key id)
- llGetLinkKeykey指定子プリムのUUIDを得る
- llGetLinkKey(integer linknum)
- llGetLinkNamestring指定子プリムの名前を得る
- llGetLinkName(integer linknum)
- llGetRootPositionvectorルートprimの位置を得る
- llGetRootPosition()
- llMessageLinked--リンクメッセージの送信を行う
- llMessageLinked(integer send_num, integer num, string str, key id)
- llPassCollisions--子プリムからルートプリムへ衝突イベントを通知する
- llPassCollisions(integer pass)
- llPassTouches--子プリムからルートプリムへタッチイベントを通知する
- llPassTouches(integer pass)
イベント関係
タッチ
- llSetTouchText--パイメニューの「Touch」を他の文字列に変更する
- llSetTouchText(string text)
- 文字制限は無いが、表示されるのは9バイトまで
- llDetectedKeykey検出されたアバター/オブジェクトのUUIDを得る
- llDetectedKey(integer number)
- llDetectedTouchFaceintegerタッチされた面の番号を返す
- llDetectedTouchFace(integer detected_num)
- ビューアが対応していないときはTOUCH_INVALID_FACE(-1) が返される
default { touch_start(integer num_detected) { integer i; for (i = 0; i < num_detected; i++) { integer touchedFace = llDetectedTouchFace(i); if (~touchedFace) { // 元の色を記憶しておく vector oldColor = llGetColor(touchedFace); // touch された面を白、黒と変更する。 llSetColor(<1., 1., 1.>, touchedFace); llSleep(0.1); llSetColor(<0., 0., 0.>, touchedFace); llSleep(0.1); // 記憶しておいた色に戻す llSetColor(oldColor, touchedFace); } else { //TOUCH_INVALID_FACE llWhisper(0, "お使いのビューアでは touch 面を判別できません。"); } // if ... } // for ... } // touch_start }
- llDetectedTouchNormalvectorタッチされた面の法線を返す
- llDetectedTouchNormal(integer detected_num)
- ビューアが対応していなければTOUCH_INVALID_VECTORが返る
- llDetectedTouchBinormalvectorタッチされた面の従法線を返す
- llDetectedTouchBinormal(integer detected_num)
- ビューアが対応していなければTOUCH_INVALID_VECTORが返る
- llDetectedTouchSTvectorタッチされた面の座標(プリム基準)を返す
- llDetectedTouchST(integer detected_num)
- 返り値のz座標は0.0固定 / 特定できないときはTOUCH_INVALID_TEXCOORDが返る
- llDetectedTouchUVvectorタッチされた面の座標(UV基準)を返す
- llDetectedTouchUV(integer detected_num)
- 返り値のz座標は0.0固定 / 特定できないときはTOUCH_INVALID_TEXCOORDが返る
- llDetectedTouchPosvector?
- llDetectedTouchPos(integer detected_num)
装着
- llAttachToAvatar--オブジェクトを装着する
- llAttachToAvatar(integer attachment)
- llDetachFromAvatar--オブジェクトを取り外す
- llDetachFromAvatar()
- llGetAttachedinteger現在オブジェクトがアタッチされている位置を得る
- llGetAttached()
- 返り値⇒定数
座る
- llAvatarOnSitTargetkeyオブジェクトに座っているアバターを調べる
- llAvatarOnSitTarget()
- llSetSitText--パイメニューの「Sit」を他の文字列に変更する
- llSetSitText(string text)
- llSitTarget--オブジェクトのsit位置を設定する
- llSitTarget(vector offset, rotation rot)
- llUnSit--オブジェクトにsitしているアバターを立たせる
- llUnSit(key id)
衝突
- llCollisionFilter--衝突判定のフィルタリングを行う
- llCollisionFilter(string name, key id, integer accept)
- llCollisionSound--衝突時の音を設定する
- llCollisionSound(string impact_sound, float impact_volume)
- llCollisionSprite--衝突時のスプライトを設定する
- llCollisionSprite(string impact_sprite)
- llGetBoundingBox--オブジェクト/アバターのバウンディングボックス座標を得る
- list llGetBoundingBox(key object)
- llPassCollisions--子プリムからルートプリムへ衝突イベントを通知する
- llPassCollisions(integer pass)
- llVolumeDetect--ファントムオブジェクトで衝突イベントを検知可能・不能にする
- llVolumeDetect(integer detect)
センサー
- llSensor--センサーを起動する
- llSensor(string name, key id, integer type, float range, float arc)
- llSensorRemove--センサーを停止する
- llSensorRemove()
- llSensorRepeat--永続的なセンサーを起動する
- llSensorRepeat(string name, key id, integer type, float range, float arc, float rate)
デテクト
- llDetectedGrabvectorオブジェクトがドラッグされている方向を得る
- llDetectedGrab(integer number)
- llDetectedGroupinteger検出されたアバター/オブジェクトのアクティブグループが現在のオブジェクトのグループと一致するかどうかを調べる
- llDetectedGroup(integer number)
- llDetectedKeykey検出されたアバター/オブジェクトのUUIDを得る
- llDetectedKey(integer number)
- llDetectedLinkNumberinteger検出されたprimのリンクナンバーを得る
- llDetectedLinkNumber(integer number)
- llDetectedNamestring検出されたアバター/オブジェクトの名前を得る
- llDetectedName(integer number)
- llDetectedOwnerkey検出されたオブジェクトのオーナーを得る
- llDetectedOwner(integer number)
- llDetectedKeykey検出されたアバター/オブジェクトのUUIDを得る
- llDetectedKey(integer number)
- llDetectedLinkNumberinteger検出されたprimのリンクナンバーを得る
- llDetectedLinkNumber(integer number)
- llDetectedPosvector検出されたアバター/オブジェクトの位置を得る
- llDetectedPos(integer number)
- llDetectedRotrotation検出されたアバター/オブジェクトの回転値を得る
- llDetectedRot(integer number)
- llDetectedTypeinteger検出されたもののタイプ(アバター/オブジェクト等)を得る
- llDetectedType(integer number)
- llDetectedVelvector検出されたアバター/オブジェクトの速度を得る
- llDetectedVel(integer number)
- llDetectedTouchFaceintegerタッチされた面の番号を返す
- llDetectedTouchFace(integer detected_num)
- ビューアが対応していないときはTOUCH_INVALID_FACE(-1) が返される
default { touch_start(integer num_detected) { integer i; for (i = 0; i < num_detected; i++) { integer touchedFace = llDetectedTouchFace(i); if (touchedFace == -1) { //TOUCH_INVALID_FACE llWhisper(0, "お使いのビューアでは touch 面を判別できません。"); } else { // 元の色を記憶しておく vector oldColor = llGetColor(touchedFace); // touch された面を白、黒と変更する。 llSetColor(<1., 1., 1.>, touchedFace); llSleep(0.1); llSetColor(<0., 0., 0.>, touchedFace); llSleep(0.1); // 記憶しておいた色に戻す llSetColor(oldColor, touchedFace); } // if ... } // for ... } // touch_start }
- llDetectedTouchNormalvectorタッチされた面の法線を返す
- llDetectedTouchNormal(integer detected_num)
- ビューアが対応していなければTOUCH_INVALID_VECTORが返る
- llDetectedTouchBinormalvectorタッチされた面の従法線を返す
- llDetectedTouchBinormal(integer detected_num)
- ビューアが対応していなければTOUCH_INVALID_VECTORが返る
- llDetectedTouchSTvectorタッチされた面の座標(プリム基準)を返す
- llDetectedTouchST(integer detected_num)
- 返り値のz座標は0.0固定 / 特定できないときはTOUCH_INVALID_TEXCOORDが返る
- llDetectedTouchUVvectorタッチされた面の座標(UV基準)を返す
- llDetectedTouchUV(integer detected_num)
- 返り値のz座標は0.0固定 / 特定できないときはTOUCH_INVALID_TEXCOORDが返る
- llDetectedTouchPosvector?
- llDetectedTouchPos(integer detected_num)
インターフェース系
UI
- llDialog--ダイアログを表示する
- llDialog(key id, string message, list buttons, integer chat_channel)
- llMapDestination--マップに指定位置を表示する
- llMapDestination(string sim_name, vector position, vector lookat)
- llSetSitText--パイメニューの「Sit」を他の文字列に変更する
- llSetSitText(string text)
- llSetText--フロートテキストを設定する
- llSetText(string text, vector color, float alpha)
- llSetTouchText--パイメニューの「Touch」を他の文字列に変更する
- llSetTouchText(string text)
チャット
- llOwnerSay--オーナーにメッセージを送信する
- llOwnerSay(string msg)
- llRegionSay--土地全域にチャットメッセージを送信する
- llRegionSay(integer channel, string text)
- llSay--半径20mの範囲にチャットメッセージを送信する
- llSay(integer channel, string text)
- llWhisper--半径10mの範囲にチャットメッセージを送信する
- llWhisper(integer channel, string text)
- llShout--半径100mの範囲にチャットメッセージを送信する
- llShout(integer channel, string text)
- llInstantMessage--IMを送信する
- llInstantMessage(key user, string message)
リッスン
- llListenintegerチャットを受信可能にする
- llListen(integer channel, string name, key id, string msg)
- 返り値はlistenイベントで使用するハンドル#
- llListenControl--listenのON/OFFを行う
- llListenControl(integer number, integer BOOL)
- llListenRemove--listenを停止する
- llListenRemove(integer Handle)
支払い
- llGiveMoney--指定した相手にL$を支払う
- llGiveMoney(key destination, integer amount)
- llSetPayPrice--payダイアログの設定を行う
- llSetPayPrice(integer price_text, list [button1, button2, button3, button4])
- PAY_HIDEでテキストボックス/ボタンを隠せる。
制御系
パーミッション
- llGetPermissionsintegerスクリプトのパーミッション情報を知る
- llGetPermissions()
- llGetPermissionsKeykeyスクリプトの保持しているパーミッション対象者のUUIDを得る
- llGetPermissionsKey()
- llRequestPermissions--パーミッションを要求する
- llRequestPermissions(key target, integer perm)
- perm ⇒ 定数
キーフック
- llTakeControls--キーコントロールを開始する
- llTakeControls(integer controls, integer accept, integer pass_on)
- llReleaseControls--キーコントロールを終了する
- llReleaseControls()
カメラ
- llTakeCamera--カメラコントロールを開始する(llSetCameraParamsで代替)
- llTakeCamera(key avatar)
- llReleaseCamera--カメラコントロールを終了する
- llReleaseCamera(key agent)
- llGetCameraPosvectorカメラ位置を得る
- llGetCameraPos()
- llGetCameraRotrotationカメラ角度を得る
- llGetCameraRot()
- llSetCameraAtOffset--カメラが見る場所(視点の方向)を設定する
- llSetCameraAtOffset(vector offset)
- llSetCameraEyeOffset--カメラの位置(視点)を設定する
- llSetCameraEyeOffset(vector offset)
- llSetCameraParams--カメラパラメータを設定する
- llSetCameraParams(list rules)
- rules ⇒ 定数
- llClearCameraParams--カメラパラメータをデフォルトに戻す
- llClearCameraParams()
- llForceMouselook--座ったアバターが強制的にマウスルックになるようにする/ならないようにする
- llForceMouselook(integer bool)
REZ
- llRezAtRoot--オブジェクトをrezする(ルートプリムの中心座標基準)
- llRezAtRoot(string inventory, vector pos, vector vel, rotation rot, integer param)
- llRezObject--オブジェクトをrezする(オブジェクトの重心基準)
- llRezObject(string inventory, vector pos, vector vel, rotation rot, integer param)
コンテンツ
- llAllowInventoryDrop--インベントリへのドロップ可否を設定する
- llAllowInventoryDrop(integer add)
- llGetInventoryCreator--コンテンツ内のオブジェクトのクリエイターを得る
- key llGetInventoryCreator(string item)
- llGetInventoryKeykeyコンテンツ内のオブジェクトのUUIDを得る
- llGetInventoryKey(string name)
- llGetInventoryNamestringコンテンツ内のオブジェクト名を得る
- llGetInventoryName(integer type, integer number)
- 指定したアイテムが存在しない場合は空文字""が返る
- llGetInventoryNumberintegerコンテンツ内にある指定のタイプのオブジェクトの数を得る
- llGetInventoryNumber(integer type)
- type ⇒ 定数
- llGetInventoryPermMaskintegerコンテンツ内のオブジェクトのパーミッションを得る
- llGetInventoryPermMask(string item, integer mask)
- llGetInventoryTypeintegerコンテンツ内のオブジェのタイプを取得する
- llGetInventoryType(string name)
- オブジェクトの存在確認INVENTORY_NONEに利用可能
- llGiveInventory--コンテンツ内のアイテムを指定した相手に渡す
- llGiveInventory(key destination, string inventory)
- llGiveInventoryList--コンテンツ内の複数のアイテムを指定した相手に渡す
- llGiveInventoryList(key destination, string category, list inventory)
- llRemoteLoadScriptPin--他のオブジェクトにスクリプトをロードする
- llRemoteLoadScriptPin(key target, string name, integer pin, integer running, integer start_param)
- スクリプトの更新などに利用できる
- llRemoveInventory--コンテンツ内のアイテムを削除する
- llRemoveInventory(string inventory)
- llRequestInventoryDatakeyコンテンツ内のアイテムデータの取得を要求する
- llRequestInventoryData(string name)
スクリプト
- llGetFreeMemoryintegerスクリプトの使用可能な残メモリーを得る
- llGetFreeMemory()
- llGetScriptNamestringスクリプト名を得る
- llGetScriptName()
- llGetScriptStateintegerスクリプトが稼働中かどうかを調べる
- llGetScriptState(string name)
- llGetStartParameterintegerスクリプトのスタートパラメータを得る
- llGetStartParameter()
- on_rezイベントの引数と同義
- llMinEventDelay--イベント発生の間隔を設定する
- llMinEventDelay(float delay)
- llRemoteLoadScriptPin--他のオブジェクトにスクリプトをロードする
- llRemoteLoadScriptPin(key target, string name, integer pin, integer running, integer start_param)
- スクリプトの更新などに利用できる
- llResetOtherScript--同じプリム内のほかのスクリプトをリセットする
- llResetOtherScript(string name)
- llResetScript--スクリプトをリセットする
- llResetScript()
- llScriptDangerinteger指定した座標のスクリプト実行・オブジェクト設置可否を得る
- llScriptDanger(vector pos)
- llSetRemoteScriptAccessPin--スクリプトのリモートロードを許可する
- llSetRemoteScriptAccessPin(integer pin)
- llSetScriptState--オブジェクト内の他のスクリプトの有効・無効を設定する
- llSetScriptState(string name, integer run)
- llSleep--スクリプトを指定秒数停止させる
- llSleep(float sec)
属性系
面
- llGetNumberOfSidesintegerprimの面数を得る
- llGetNumberOfSides()
テクスチャ
- lSetTexture--primにテクスチャを設定する
- llSetTexture(string texture, integer face)
- llGetTexturestring指定面のテクスチャーを得る
- llGetTexture(integer side)
- llSetLinkTexture--リンクprimにテクスチャを設定する
- llSetLinkTexture(integer link_pos, string texture, integer face)
- llGetTextureOffsetvectorテクスチャーのオフセット値を得る
- llGetTextureOffset(integer side)
- llOffsetTexture--テクスチャのオフセットを設定する
- llOffsetTexture(float offsetX, float offsetY, integer face)
- llGetTextureRotfloatテクスチャーの回転角度を得る
- llGetTextureRot(integer side)
- llRotateTexture--テクスチャの回転角度を設定する
- llRotateTexture(float rotation, integer face)
- llGetTextureScalevectorテクスチャーのサイズを得る
- llGetTextureScale(integer side)
- llScaleTexture--テクスチャのサイズを設定する
- llScaleTexture(float scales, float scalet, integer face)
- llSetTextureAnim--テクスチャアニメーションを設定する
- llSetTextureAnim(integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate)
色
- llGetColorvector指定面の色を得る
- llGetColor(integer face)
- llSetColor--オブジェクトの色を設定する
- llSetColor(vector color, integer face)
- llSetLinkColor--リンクプリムの色を設定する
- llSetLinkColor(integer linknumber, vector color, integer face)
透明度
- llGetAlphafloat指定面の透明度(アルファ)を得る
- llGetAlpha(integer face)
- llSetAlpha--オブジェクトの透明度を設定する
- llSetAlpha(float alpha, integer face)
- llSetLinkAlpha--リンクプリムの透明度を設定する
- llSetLinkAlpha(integer linknumber, float alpha, integer face)
特殊効果系
アニメーション
- llGetAnimationstring指定アバターが実行中の基本アニメーションを得る
- llGetAnimation(key id)
- llGetAnimationListlist指定アバターが実行中の全アニメーションを得る
- llGetAnimationList(key id)
- llStartAnimation--アニメーションを開始する
- llStartAnimation(string anim)
- llStopAnimation--アニメーションを停止する
- llStopAnimation(string anim)
音
- llPreloadSound--サウンドデータのロードを行う
- llPreloadSound(string sound)
- llPlaySound--サウンドを一度だけ再生する
- llPlaySound(string sound, float volume)
- llPlaySoundSlave--サウンドをスレーブとして一度だけ再生する
- llPlaySoundSlave(string sound, float volume)
- llLoopSound--サウンドをループ再生する
- llLoopSound(string sound, float volume)
- llLoopSoundMaster--サウンドをマスターとしてループ再生する
- llLoopSoundMaster(string sound, float volume)
- llLoopSoundSlave--サウンドをスレーブとしてループ再生する
- llLoopSoundSlave(string sound, float volume)
- llTriggerSound--トリガーサウンドを再生する
- llTriggerSound(string sound, float volume)
- llTriggerSoundLimited--指定した領域内でトリガーサウンドを再生する
- llTriggerSoundLimited(string sound, float volume, vector tne, vector bsw)
- llStopSound--サウンド再生を停止する
- llStopSound()
- llSetParcelMusicURL--土地上で再生するストリーミングサウンドを設定する
- llSetParcelMusicURL(string url)
- llAdjustSoundVolume--サウンドのボリュームを調整する
- llAdjustSoundVolume(float volume)
- llSetSoundRadius--サウンドの聴こえる範囲を設定する
- llSetSoundRadius(float radius)
- llSetSoundQueueing--サウンド再生のキューを有効・無効にする
- llSetSoundQueueing(integer queue)
- llCollisionSound--衝突時の音を設定する
- llCollisionSound(string impact_sound, float impact_volume)
ビデオ
- llParcelMediaCommandList--土地に設定されるメディア(ムービー等)を操作する
- llParcelMediaCommandList(list command_list)
- llParcelMediaQuery--土地に設定されているメディアテクスチャー及びメディアURLを得る
- list llParcelMediaQuery(list query_list)
パーティクル
- llParticleSystem--パーティクルの制御を行う
- llParticleSystem(list parameters)
integer iCnt = 0; list SetList4particle(){ return [ PSYS_PART_FLAGS, PSYS_PART_EMISSIVE_MASK //光る // | PSYS_PART_BOUNCE_MASK //オブジェクトの高さでバウンドする | PSYS_PART_FOLLOW_SRC_MASK //オブジェクトの動きにあわせてパーティクルも動く //BURST_RADIUSと排他 // | PSYS_PART_FOLLOW_VELOCITY_MASK //移動方向と同じ向きに回転する | PSYS_PART_INTERP_COLOR_MASK //色とアルファを滑らかに変化 | PSYS_PART_INTERP_SCALE_MASK //大きさを滑らかに変化 // | PSYS_PART_TARGET_LINEAR_MASK //ターゲットに直線移動 // | PSYS_PART_TARGET_POS_MASK //ターゲットに曲線移動 | PSYS_PART_WIND_MASK //風の影響を受ける ,PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE //爆発 |2|全方向へ打ち出すように表示 //PSYS_SRC_PATTERN_ANGLE //平面 |4|リージョン座標の傾きにおいて X=0 となる向き //PSYS_SRC_PATTERN_ANGLE_CONE //コーン |8|パーティクルを球状の範囲に表示 //PSYS_SRC_PATTERN_DROP //ドロップ|1|力を加えず落下するように表示 // ↑PSYS_SRC_BURST_RADIUS、PSYS_SRC_BURST_SPEED_MIN、PSYS_SRC_BURST_SPEED_MAXを無視 // ×PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY //逆コーン型 10 ,PSYS_PART_START_ALPHA, 1.0 ,PSYS_PART_END_ALPHA, 0.0 ,PSYS_PART_START_COLOR, <1.0, 1.0, 1.0> ,PSYS_PART_END_COLOR, <0.2734375, 0.15234375, 0.703125> ,PSYS_PART_START_SCALE, < 0.5, 0.5, 0> ,PSYS_PART_END_SCALE, < 0.05, 0.05, 0> ,PSYS_PART_MAX_AGE, 1.0 //パーティクル一個の有効時間 ,PSYS_SRC_MAX_AGE, 0.0 //関数全体での有効時間 ,PSYS_SRC_ACCEL, <0.0, 0.0, 0.5> ,PSYS_SRC_BURST_PART_COUNT, 5 //噴出する個数 ,PSYS_SRC_BURST_RADIUS, 0.0 //噴出する半径 最大値は 50.00 ,PSYS_SRC_BURST_RATE, 0.5 //噴出間隔 ,PSYS_SRC_BURST_SPEED_MIN, 0.2 //┬噴出時の最大と最小 ,PSYS_SRC_BURST_SPEED_MAX, 0.3 //┘ // ,PSYS_SRC_OMEGA, < 0.0, 0.0, 0.0> //噴射方向を回転さす(ANGLE系のパターンで使う // ,PSYS_SRC_ANGLE_BEGIN, Rad //アングルの開始角度(ラジアン // ,PSYS_SRC_ANGLE_END, Rad //アングルの終了角度( 〃 // ,PSYS_SRC_TEXTURE, !!KEY!! //テクスチャ // ,PSYS_SRC_TARGET_KEY, !!KEY!! //誘導型の時の飛び先 ]; } default{ on_rez(integer _prm){ llParticleSystem(SetList4particle()); } touch_start(integer _num){ iCnt = (iCnt + 1) % 2; if (iCnt == 0 ) { llParticleSystem([]); } else { llParticleSystem(SetList4particle()); } } }
ビークル
- llSetVehicleFlags--ビークルフラグを設定する
- llSetVehicleFlags(integer flags)
- llRemoveVehicleFlags--ビークルフラグを削除する
- llRemoveVehicleFlags(integer flags)
- llSetVehicleFloatParam--ビークルのfloat型パラメータを設定する
- llSetVehicleFloatParam(integer param, float value)
- llSetVehicleRotationParam--ビークルのrotation型パラメータを設定する
- llSetVehicleRotationParam(integer param, rotation rot)
- llSetVehicleType--ビークルタイプを設定する
- llSetVehicleType(integer type)
- llSetVehicleVectorParam--ビークルのvector型パラメータを設定する
- llSetVehicleVectorParam(integer param, vector vec)
データ系
数学
- llAbsintegerinteger型の絶対値を得る
- llAbs(integer val)
- llFabsfloatfloat型の絶対値を得る
- llFabs(float num)
- llRoundinteger四捨五入する
- llRound(float val)
- llCeilinteger小数部を大きいほうにを切り上げる
- llCeil(float val)
- llFloorinteger小数部を小さいほうに切り捨てる
- llFloor(float val)
//全部 -5 llFloor(-4.5) llFloor(-4.9) llFloor(-4.1) //全部 -4 llFloor(4.5) llFloor(4.9) llFloor(4.1)
- llFrandfloat乱数を得る
- llFrand(float max)
- llPowfloat累乗を計算する
- llPow(float base, float exp)
- llSqrtfloat平方根を得る
- llSqrt(float val)
- llModPowintegeraとbの排他的論理和をcで除算した余りを返す
- llModPow(integer a, integer b, integer c)
integer TRUE = llModPow(a, b , c) == ( a ^ b ) % c; // aとbの排他的論理和 = aのb乗
- llLogfloat対数を得る
- llLog(float val)
- llLog10float常用対数を得る
- llLog10(float val)
- llSinfloatサインを得る
- llSin(float theta)
- llCosfloatコサインを得る
- llCos(float theta)
- llTanfloatタンジェントを得る
- llTan(float theta)
- llAsinfloatアークサインを得る
- llAsin(float val)
- llAcosfloatアークコサインを得る
- llAcos(float val)
- llAtan2floatアークタンジェントを得る
- llAtan2(float y, float x)
- llVecMagfloatベクトルの長さを得る
- llVecMag(vector v)
- llVecNormvector単位ベクトルを得る
- llVecNorm(vector v)
- llVecDistfloat2つの座標間の距離を得る
- llVecDist(vector v1, vector v2)
文字列操作
- llStringLengthinteger文字列の長さを得る
- llStringLength(string str)
- llSubStringIndexinteger文字列に含まれる指定文字の位置を得る
- llSubStringIndex(string source, string pattern)
- llGetSubStringstring文字列の中から一部分を抜き出す
- llGetSubString(string src, integer start, integer end)
- endにマイナスを入れると逆から数えた文字 / -1で最後の1文字
- llDeleteSubStringstring文字列から指定位置の文字を削除する
- llDeleteSubString(string src, integer start, integer end)
- llInsertStringstring文字列の指定した位置に別の文字列を挿入する
- llInsertString(string dst, integer position, string src)
- llDumpList2Stringstringリストを文字列に変換する
- llDumpList2String(list src, string separator)
- llList2CSVstringリストをCSVに変換する
- llList2CSV(list src)
- llParseString2Listlist文字列を指定した区切り文字でリストに変換する
- llParseString2List(string src, list separators, list spacers)
- llParseStringKeepNullslist文字列を指定した区切り文字で、空白を含んだリストに変換する
- llParseStringKeepNulls(string src, list separators, list spacers)
- spacerはリストの順に配列に挿入する文字
- llStringTrimstring文字列の前後の空白文字を取り除く
- llStringTrim(string src, integer type)
- llToLowerstringアルファベットを小文字に変換する
- llToLower(string src)
- llToUpperstringアルファベットを大文字に変換する
- llToUpper(string src)
- llEscapeURLstring文字列をURLエスケープする
- llEscapeURL(string url)
- llUnescapeURLstringURLエスケープされた文字列をデコードする
- llUnescapeURL(string url)
リスト
- llGetListLengthintegerリストの長さを得る
- llGetListLength(list src)
- llList2StringstringリストからString型の要素を取り出す
- llList2String(list src, integer index)
- llList2IntegerintegerリストからInteger型の要素を取り出す
- llList2Integer(list src, integer index)
- llList2FloatfloatリストからFloat型の要素を取り出す
- llList2Float(list src, integer index)
- llList2VectorvectorリストからVector型の要素を取り出す
- llList2Vector(list src, integer index)
- llList2RotrotationリストからRotation型の要素を取り出す
- llList2Rot(list src, integer index)
- llList2KeykeyリストからKey型の要素を取り出す
- llList2Key(list src, integer index)
- llList2Listlistリストの一部を取り出す
- llList2List(list src, integer start, integer end)
- llList2ListStridedlistリストからストライド型リストを取り出す
- llList2ListStrided(list src, integer start, integer end, integer stride)
list mylist = [0,1,2,3,4,5,6]; // インデックスが 2 の倍数の要素を、リストの先頭から末尾の範囲で返す。 list result_a = llList2ListStrided(mylist,0,-1,2); //result_a == [0,2,4,6] // インデックスが 2 の倍数の要素を、リストの 2 番目から末尾の範囲で返す。 list result_b = llList2ListStrided(mylist,1,-1,2); //result_b == [2,4,6] // インデックスが 2 の倍数の要素を、リストの 3 番目から末尾の範囲で返す。 list result_c = llList2ListStrided(mylist,2,-1,2); //result_c == [2,4,6]
- llGetListEntryTypeintegerリストに含まれるデータの型を得る
- llGetListEntryType(list src, integer index)
- llDumpList2Stringstringリストを文字列に変換する
- llDumpList2String(list src, string separator)
- llParseString2Listlist文字列を指定した区切り文字でリストに変換する
- llParseString2List(string src, list separators, list spacers)
- llParseStringKeepNullslist文字列を指定した区切り文字で、空白を含んだリストに変換する
- llParseStringKeepNulls(string src, list separators, list spacers)
- spacerはリストの順に配列に挿入する文字
- llList2CSVstringリストをCSVに変換する
- llList2CSV(list src)
- llCSV2ListlistCSV形式の文字列をリストに変換する
- llCSV2List(string src)
- llListFindListintegerリストから要素を探す
- llListFindList(list src, list test)
- 見つからなければ -1 を返す
if( ~llListFindList(myList, (list)item ) ){ // ~(-1) == 0 (ビット反転) == FALSEなので、存在する場合しか通らなくなる // != -1 よりもメモリの節約となり、動作も速い }
- llDeleteSubListlistリスト内の要素を削除する
- llDeleteSubList(list src, integer start, integer end)
- llListInsertListlistリストに別のリストを挿入する
- llListInsertList(list dest, list src, integer start)
- llListReplaceListlistリストの一部を別のリストで置き換える
- llListReplaceList(list dest, list src, integer start, integer end)
- llListSortlistリストをソートする
- llListSort(list src, integer stride, integer ascending)
- llListRandomizelistリストをランダムに並び替える
- llListRandomize(list src, integer stride)
- llListStatisticsfloatリストを統計的に操作する(最大値や平均値の取得等)
- llListStatistics(integer operation, list input)
時間
- llGetTimefloatスクリプトの稼動秒数を得る
- llGetTime()
- llResetTime--スクリプトの稼動秒数をリセットする
- llResetTime()
- llGetAndResetTimefloatスクリプトの稼動秒数を得ると同時にリセットする
- llGetAndResetTime()
- llGetDatestringUTC日付を得る
- llGetDate()
- YYYY-MM-DD 形式
- llGetTimestampstring現在の日時(RL)を得る
- llGetTimestamp()
- llGetUnixTimeinteger1970年1月1日0時0分からの経過秒数を得る
- llGetUnixTime()
- llGetWallclockfloatサーバーのローカル時刻(0時からの経過秒数/P[S|D]T)を得る
- llGetWallclock()
- llGetGMTclockfloatGMT 0時からのミリ秒数を返す
- llGetGMTclock()
-
integer gIntMinute = 60; //-- 1 分 の秒表記 integer gIntHour = 3600; //-- 1 時間の秒表記 integer gInt12Hr = 43200; //-- 12 時間の秒表記 integer gIntDay = 86400; //-- 1 日 の秒表記 string fStrGMTwOffset( integer vIntLocalOffset ){ //-- 指定されたオフセットの正確な時間をミリ秒で取得します integer vIntBaseTime = ((integer)llGetGMTclock() + gIntDay + vIntLocalOffset * gIntHour) % gIntDay; string vStrReturn; //-- 午前午後判定と、12時間表記への寄せ if (vIntBaseTime < gInt12Hr){ vStrReturn = " AM"; }else{ vStrReturn = " PM"; vIntBaseTime = vIntBaseTime % gInt12Hr; } //-- フォーマットされた分表記を取得します integer vIntMinutes = (vIntBaseTime % gIntHour) / gIntMinute; vStrReturn = (string)vIntMinutes + vStrReturn; if (10 > vIntMinutes){ vStrReturn = "0" + vStrReturn; } //-- 正確な時間を足します。0 は 12 にします if (vIntBaseTime < gIntHour){ vStrReturn = "12:" + vStrReturn; }else{ vStrReturn = (string)(vIntBaseTime / gIntHour) + ":" + vStrReturn; } return vStrReturn; } default{ touch_start( integer vIntTouched ){ //-- '-8' はカリフォルニア時間で、DST の補正は含まれていません llSay( 0, "The time is now " + fStrGMTwOffset( -8 ) ); } }
- llGetTimeOfDayfloatSLの真夜中から、もしくはSIMリブート後の秒数を得る
- llGetTimeOfDay()
- llGetRegionTimeDilation--SIMで処理遅延が発生しているかどうかを判定する
- llGetRegionTimeDilation()
- llSetTimerEvent--タイマーを設定する
- llSetTimerEvent(float sec)
データ
- llGetNotecardLinekeyノートカードから指定した1行を読み取るよう要求する
- llGetNotecardLine(string name, integer line)
- llGetNumberOfNotecardLineskeyノートカードの行数を得る
- llGetNumberOfNotecardLines(string name)
- llRequestAgentDatakeyアバターデータの取得を要求する
- llRequestAgentData(key id, integer data)
- llRequestInventoryDatakeyコンテンツ内のアイテムデータの取得を要求する
- llRequestInventoryData(string name)
- 現在LMデータのみ取得可能
- llRequestSimulatorDatakeySIMデータの取得を要求する
- llRequestSimulatorData(string simulator, integer data)
暗号化
- llStringToBase64string文字列をBase64データへエンコードする
- llStringToBase64(string str)
- llBase64ToStringstringBase64データを文字列にデコードする
- llBase64ToString(string str)
- llIntegerToBase64stringinteger型の数値をBase64データへエンコードする
- llIntegerToBase64(integer number)
- llBase64ToIntegerintegerBase64データをinteger型にデコードする
- llBase64ToInteger(string str)
- llXorBase64StringsCorrectstringBase64データを指定のキーでXOR変換する(暗号化)
- llXorBase64StringsCorrect(string s1, string s2)
- llMD5Stringstring文字列をMD5変換する
- llMD5String(string src, integer nonce)
- llSHA1StringstringSHA1ハッシュである、16進40文字の文字列を返す
- llSHA1String(string src)
SIM系
BAN
- llAddToLandBanList--土地からアバターをBANする
- llAddToLandBanList(key agent, float hours)
- llRemoveFromLandBanList--BANリストから指定アバターを削除する
- llRemoveFromLandBanList(key avatar)
- llResetLandBanList--BANリストをリセットする
- llResetLandBanList()
- llAddToLandPassList--土地の通行許可をアバターに与える
- llAddToLandPassList(key agent, float hours)
- llRemoveFromLandPassList--通行許可リストから指定アバターを削除する
- llRemoveFromLandPassList(key avatar)
- llResetLandPassList--通行許可リストをリセットする
- llResetLandPassList()
SIM
- llGetRegionName--SIM名を得る
- llGetRegionName()
- llGetRegionFlagsintegerSIMに設定されている制限・禁止項目を得る
- llGetRegionFlags()
- llGetRegionFPSfloatSIMのFPSを得る
- llGetRegionFPS()
- llGetSimulatorHostnamestringSIMのホスト名を得る
- llGetSimulatorHostname()
- llGetRegionCornervectorグローバル座標系におけるSIMの南西座標を得る
- llGetRegionCorner()
- llRequestSimulatorDatakeySIMデータの取得を要求する
- llRequestSimulatorData(string simulator, integer data)
- llGetRegionAgentCountintegerSIM内のアバターの数を得る
- llGetRegionAgentCount()
- llGetTimeOfDayfloatSIMリブート後の秒数またはSLの真夜中からの秒数を得る
- llGetTimeOfDay()
- llEdgeOfWorldinteger指定位置から指定距離を移動した場合に現在のSIMを出るかを調べる
- llEdgeOfWorld(vector pos, vector dir)
- llScriptDangerinteger指定した座標のスクリプト実行・オブジェクト設置可否を得る
- llScriptDanger(vector pos)
土地
- llGetLandOwnerAtkey土地所有者のUUIDを得る
- llGetLandOwnerAt(vector pos)
- llGetParcelDetailslist土地の説明、面積などの情報を得る
- llGetParcelDetails(vector pos, list details)
- llGetParcelFlagsinteger土地に設定されている制限・禁止項目を得る
- llGetPermissions()
- llGetParcelMaxPrimsinteger土地のprim上限数を得る
- llGetParcelMaxPrims(vector pos, integer sim_wide)
- llGetParcelPrimOwnerslist土地に存在するオブジェクトのオーナー一覧を得る
- llGetParcelPrimOwners(vector pos)
- llGetParcelPrimCountinteger土地に存在するprim数をオブジェクトタイプ別に得る
- llGetParcelPrimCount(vector pos, integer category, integer sim_wide)
- llOverMyLandintegerスクリプトオーナーの土地に指定アバターがいるかどうかを調べる
- llOverMyLand(key id)
- llEjectFromLand--土地からアバターを吹き飛ばす
- llEjectFromLand(key user)
- 文字通り上空高く飛ばして排除する
- llSetParcelMusicURL--土地上で再生するストリーミングサウンドを設定する
- llSetParcelMusicURL(string url)
- llTeleportAgentHome--アバターをホームへテレポートさせる
- llTeleportAgentHome(key id)
地面
- llGroundfloat指定位置の地面の高さを得る
- llGround(vector offset)
- llGroundContourvector指定した位置の等高線を得る
- llGroundContour(vector offset)
- llGroundNormalvector指定した位置の法線(垂直な方向)を得る
- llGroundNormal(vector offset)
- llGroundSlopevector指定した位置の地面の傾きを得る
- llGroundSlope(vector offset)
- llModifyLand--土地の編集を行う
- llModifyLand(integer action, integer size)
- llWaterfloat指定した位置の海面の高さを得る
- llWater(vector v)
天候
- llCloudfloat特定位置の雲の密度を取得する
- llCloud(vector offset)
- llGetSunDirectionvector太陽の高さを得る(+ 昼、- 夜)
- llGetSunDirection()
- llWindvector指定した位置の風速を得る
- llWind(vector v)
物理3D系
位置
- llGetPosvectorオブジェクトの位置を得る
- llGetPos()
- llGetLocalPosvectorオブジェクトのローカルな位置を得る
- llGetLocalPos()
- llSetPos--オブジェクトの位置を設定する
- llSetPos(vector pos)
- llTargetintegerオブジェクトの到達目標地点を設定する
- llTarget(vector position, float range)
- llTargetRemove--オブジェクトの到達目標地点をキャンセルする
- llTargetRemove(integer number)
- llDetectedPosvector検出されたアバター/オブジェクトの位置を得る
- llDetectedPos(integer number)
- llGetRegionCornervectorグローバル座標系におけるSIMの南西座標を得る
- llGetRegionCorner()
- llEdgeOfWorldinteger指定位置から指定距離を移動した場合に現在のSIMを出るかを調べる
- llEdgeOfWorld(vector pos, vector dir)
回転
- llSetRot--オブジェクトを回転させる
- llSetRot(rotation rot)
- llSetLocalRot--ローカルな回転角度を設定する
- llSetLocalRot(rotation rot)
- llRotTarget--オブジェクトを回転目標値を設定する
- llRotTarget(rotation rot, float error)
- llRotTargetRemove--オブジェクトの回転目標値をキャンセルする
- llRotTargetRemove(integer number)
- llTargetOmega--オブジェクトをスムースに回転させる
- llTargetOmega(vector axis, float spinrate, float gain)
- 回転軸は、例えば<0,0,n>であれば、z軸のまわりを1秒間にn回転×回転率で回転します。
回転率は、ラジアン(360度=2π)で示します。
回転の強さは、physicalオブジェクトに影響を与えます。非physicalオブジェクトのためにゼロ以外にします。 - llGetRotrotationオブジェクトの回転値を得る
- llGetRot()
- llGetLocalRotrotationオブジェクトのローカルな回転値を得る
- llGetLocalRot()
- llRot2Anglefloat回転値の角度を得る
- llRot2Angle(rotation rot)
- llGetRootRotationrotationルートprimの回転値を得る
- llGetRootRotation()
- llDetectedRotrotation検出されたアバター/オブジェクトの回転値を得る
- llDetectedRot(integer number)
- llRot2Fwdvector回転値からX軸の向きを得る
- llRot2Fwd(rotation q)
- llRot2Leftvector回転値からY軸の向きを得る
- llRot2Left(rotation q)
- llRot2Upvector回転値からZ軸の向きを得る
- llRot2Up(rotation q)
- llLookAt--指定した方向にオブジェクトを向ける
- llLookAt(vector target, float strength, float damping)
- Z方向が正面
- llRotLookAt--指定した方向にオブジェクトを向ける
- llRotLookAt(rotation target, float strength, float damping)
- X方向が正面
- llStopLookAt--オブジェクトのLookAt制御を停止する
- llStopLookAt()
- llRot2Axisvector回転値の軸を得る
- llRot2Axis(rotation rot)
- llAxes2Rotrotation前後・左右・上下の軸から回転値を得る
- llAxes2Rot(vector fwd, vector left, vector up)
- llAxisAngle2Rotrotation特定の軸を基準にした回転値を得る
- llAxisAngle2Rot(vector axis, float angle)
- llRotBetweenrotation2つのベクター間の回転値を得る
- llRotBetween(vector v1, vector v2)
- llAngleBetweenfloat二つの回転値の間の角度を得る
- llAngleBetween(rotation a, rotation b)
- llGetOmegavectorオブジェクトの回転速度を得る
- llGetOmega()
- llGetTorquevectorオブジェクトの回転速度を得る
- llGetTorque()
- llApplyRotationalImpulse--物理オブジェクトに瞬間的な回転力を加える
- llApplyRotationalImpulse(vector force, integer local)
- llSetTorque--物理オブジェクトに永続的な回転力を与える
- llSetTorque(vector torque, integer local)
- llRot2Eulervectorrotation型をvector型に変換する
- llRot2Euler(rotation q)
- llEuler2Rotrotationvector型をrotation型に変換する
- llEuler2Rot(vector vec)
物理
- llGetMassfloatオブジェクトの質量を得る
- llGetMass()
- llGetVelvectorオブジェクトの速度を得る
- llGetVel()
- llGetAccelvector加速度を得る
- llGetAccel()
- llApplyImpulse--物理オブジェクトに瞬間的な力を加える
- llApplyImpulse(vector force, integer local)
- llSetForce--物理オブジェクトに永続的な力を加える
- llSetForce(vector force, integer local)
- llGetForcevectorオブジェクトに加えられている永続的な力の方向と強さを得る
- llGetForce()
- llApplyRotationalImpulse--物理オブジェクトに瞬間的な回転力を加える
- llApplyRotationalImpulse(vector force, integer local)
- llSetTorque--物理オブジェクトに永続的な回転力を与える
- llSetTorque(vector torque, integer local)
- llSetForceAndTorque--物理オブジェクトに物理的な力及び回転力を加える
- llSetForceAndTorque(vector force, vector torque, integer local)
- llGetTorquevectorオブジェクトの回転速度を得る
- llGetTorque()
- llGetCenterOfMassvectorオブジェクトの重心を得る
- llGetCenterOfMass()
- llGetEnergyfloatオブジェクトの残エネルギーを得る
- llGetEnergy()
- llGroundRepel--オブジェクトの高度を制限する(指定した高さで弾むようにする)
- llGroundRepel(float height, integer water, float tau)
- llMoveToTarget--物理オブジェクトを指定した位置へと動かす
- llMoveToTarget(vector target, float tau)
- llStopMoveToTarget--オブジェクトのMoveTo制御を停止する
- llStopMoveToTarget()
- llPushObject--オブジェクトをプッシュする
- llPushObject(key id, vector impulse, vector ang_impulse, integer local)
- llSetHoverHeight--オブジェクトの浮揚高度を設定する
- llSetHoverHeight(float height, integer water, float tau)
- llStopHover--浮遊状態を解除する
- llStopHover()
- llSetBuoyancy--オブジェクトの浮力を設定する
- llSetBuoyancy(float buoyancy)
外部機能系
- llEmail--メール(email)を送る
- llEmail(string address, string subject, string message)
- メッセージ全体 (アドレス、タイトルやその他諸々のフィールド) は、合計で4096バイトまで
- llGetNextEmail--次のメールを得る
- llGetNextEmail(string address, string subject)
- キックすることでemailイベントが発生する
HTTP
- llHTTPRequestkeyHTTPRequestを送信する
- llHTTPRequest(string url, list parameters, string body)
- HTTPリクエスト時、相手サーバへ送信される情報
ヘッダ 説明 データ例 x-secondlife-shard オブジェクトの存在する環境。 "Production" はメイングリッド、 "Testing" はβグリッドです Production x-secondlife-object-name スクリプトが入っているオブジェクトの名前 Object x-secondlife-object-key スクリプトが入っているオブジェクトのキー 01234567-89ab-cdef-0123-456789abcdef x-secondlife-region オブジェクトが存在するSIM名。SIM南西端のグローバル座標も表示されます。 hogera hogeo (264448, 233984) x-secondlife-local-position SIM内でのオブジェクトの位置 (173.009827, 75.551231, 60.950001) x-secondlife-local-rotation スクリプトが入っているオブジェクトの回転 0.000000, 0.000000, 0.000000, 1.000000 x-secondlife-local-velocity オブジェクトの速度 0.000000, 0.000000, 0.000000 x-secondlife-owner-name オブジェクトのオーナーの名前 hoge hogeo x-secondlife-owner-key オブジェクトのオーナーのUUID 01234567-89ab-cdef-0123-456789abcdef - llHTTPResponse--
- llHTTPResponse(key request_id, integer status, string body)
- http_requestイベント中に使用出来る
- llGetHTTPHeaderstringリクエストしたヘッダ情報を得る
- llGetHTTPHeader( key request_id, string header )
- llGetFreeURLsinteger使用可能なURLの数を返す
- llGetFreeURLs()
- 使用可能数はSIM全体での数
- llRequestURLkeyLSLサーバの新しい公開URL(http)を得る
- llRequestURL()
- SIMの再起動でURLは自動的に解放され、使用できなくなる
- 利用後はllRequestURLで開放しないとメモリリークを起こす
- llRequestSecureURLkeyLSLサーバの新しい公開URL(https9を得る
- llRequestSecureURL()
- SIMの再起動でURLは自動的に解放され、使用できなくなる
- 利用後はllRequestURLで開放しないとメモリリークを起こす
- llReleaseURL--
- llReleaseURL(string url)
- llLoadURL--Webブラウザを起動して指定したサイトを表示する
- llLoadURL(key avatar_id, string message, string url)
- llEscapeURLstring文字列をURLエスケープする
- llEscapeURL(string url)
- llUnescapeURLstringURLエスケープされた文字列をデコードする
- llUnescapeURL(string url)
key url_request; default{ state_entry(){ url_request = llRequestURL(); } http_request(key id, string method, string body) { if (url_request == id) { url_request = ""; if (method == URL_REQUEST_GRANTED) { llOwnerSay("URL: " + body); if( llGetAgentSize(llGetOwner()) ) llLoadURL(llGetOwner(), "", body); } else if (method == URL_REQUEST_DENIED) { llOwnerSay( "Something went wrong, no url. " + body); } } else { list headers = [ "x-script-url", "x-path-info", "x-query-string", "x-remote-ip", "user-agent" ]; integer pos = ~llGetListLength(headers); while( ++pos ) { string header = llList2String(headers, pos); llOwnerSay(header + ": " + llGetHTTPHeader(id, header)); } llOwnerSay( "body: " + body); llHTTPResponse(id, 200, body); } } }
XML-RPC
- llOpenRemoteDataChannel-- XML-RPCチャンネルを開く
- llOpenRemoteDataChannel()
- llCloseRemoteDataChannel--XML-RPCチャンネルを閉じる
- llCloseRemoteDataChannel(key channel)
- llSendRemoteDatakey XML-RPCリクエストを送信する
- llSendRemoteData(key channel, string dest, integer idata, string sdata)
- llRemoteDataReply--XML-RPCリプライを送信する
- llRemoteDataReply(key channel, key message_id, string sdata, integer idata)
- llRemoteDataSetRegion--
- llRemoteDataSetRegion()
GOD関数
- llGodLikeRezObject