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)

外部機能系

Email
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-positionSIM内でのオブジェクトの位置(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オブジェクトのオーナーのUUID01234567-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