スクリプトイベントその他おまけはじめにセカンドライフ用の関数はたくさんあります。具体的な使い方を調べると思います。そもそもどういったことが可能かどうかが分かっていないと、調べるにしても手も足も出ないと思います。今回セカンドライフのいくつかの関数について、メモ代わりに逆引きの関数を作ってみました。これらの関数があるということさえ知っておけば、次回何か作るときに「あっ!そういえばあの関数あったな!」とスムーズに作れると思います。ここで紹介する関数はあくまで一部であり、偏っていることに注意してください。関数アバターllAttachToAvatar権限があるアバターのインベントリに取り込まれたうえでアイテムを装着させる。された状態にないといけない。権限llAttachToAvatarTemp権限があるアバターのインベントリには表示されないアイテムを装着させる。された状態にないといけない。装着したものは、アバターが自主的に外せなくなるため注意。権限llDetachFromAvatar装着したアイテムを外す。権限llGetAgentInfoアバターが何をしているか。llGetAgentSizeアバターの大きさを推定して取得する。llGetAgentLanguageアバターの言語設定を取得する。llGetAttached本オブジェクトがアバターのどの位置に装着されているか取得する。llGetAttachedListアバターが装着しているオブジェクトのUUIDを取得する。llGetObjectDetailsllGetDisplayNameアバターの表示名を取得する。llGetPermissionsアバターから付与されたパーミッションを取得する。llGiveInventoryアバターへアイテムをわたす。llGiveInventoryListアバターへアイテムを複数一度にわたす。llTransferLindenDollarsオブジェクトのオーナーからアバターへお金をわたす。ありますが、成功したか失敗したか分かりませんので使用しないでください。権限llRequestAgentDataアバターのログイン情報やアカウント作成日などを取得する。イベントが発生するllRequestPermissionsアバターへパーミッションの問い合わせをする。イベントが発生するllTeleportAgentオブジェクト所有者を指定したランドマークへワープさせる。llTeleportAgentGlobalCoordsオブジェクト所有者を指定したリージョンの指定した位置へワープさせる。権限llTeleportAgentHomeアバターをホームへ強制移動させる。使用者は土地のオーナーでないといけません。llUnSitオブジェクトに乗っているアバターを立たせる。アバターのアニメーションllGetAnimation何の動きのアニメーションを使用しているか取得する。llGetAnimationList再生中のアニメーションをリストで取得する。llGetAnimationOverride指定した動作の時のアニメーション(AO)を取得する。llSetAnimationOverride指定した動作の時のアニメーション(AO)を設定する。llResetAnimationOverride指定した動作の時のアニメーション(AO)をリセットする。llStartAnimation指定したアニメーションを再生する。llStopAnimation指定したアニメーションを停止する。オブジェクト動きllDie自分のオブジェクトを削除する。ゴミ箱に残らないので注意。llMoveToTarget自オブジェクト(物理・装着)指定した位置まで指定した時間をかけて動かす。装着しているアバターを動かすこともできる。llStopMoveToTargetllParticleSystemパーティクルを発生させる。llLinkParticleSystemllRezAtRootオブジェクトを発生させる。イベントで引数を取得可能llRezObjectオブジェクトを発生させる。イベントで引数を取得可能llRotLookAt自オブジェクト(物理・装着)指定した向きまで指定した時間をかけて動かす。装着しているアバターを動かすこともできる。llStopLookAtllSetBuoyancyオブジェクト(物理)の浮力を設定する。装着時にはアバターの浮力に影響させる。llSetKeyframedMotionオブジェクト(非物理・非装着)を一連のキーフレームで動かす。llSetTextureAnimテクスチャを永続的に変更する。llSetLinkTextureAnimllTargetOmegaオブジェクトを永続的に回転させる。オブジェクト情報llAllowInventoryDropプリムの中のインベントリへ、パーミッションの変更が不要のままアイテムを加えることを許可設定する。llAvatarOnLinkSitTargetプリムに座っているユーザのUUIDを取得する。llGetBoundingBox指定したオブジェクトのバウンディングボックスを取得する。llGetEnergy物理オブジェクトのエネルギーを取得する。llGetInventoryCreatorプリムのインベントリ内で、指定したアイテム名の作者を取得する。llGetInventoryKeyプリムのインベントリ内で、指定したアイテム名のキーを取得する。llGetInventoryNameプリムのインベントリ内で、指定したデータの何番目が、どういう名前かを取得する。llGetInventoryNumberプリムのインベントリ内のアイテムの中で、指定したデータがいくつは入っているか取得する。llGetInventoryPermMaskプリムのインベントリ内で、指定したアイテム名のアクセス権限を取得する。llGetKeyオブジェクト自体のUUIDを取得する。llGetLinkKeyllGetNumberOfSidesプリムの面の数を取得する。llGetObjectDetailsオブジェクトの詳しい情報を取得する。最新版は機能が増えていますllGetObjectNameオブジェクトの名前を取得する。llGetLinkNamellGetOwnerオブジェクトの所有者のUUIDを取得する。llGetOwnerKey指定したキーからオブジェクトの所有者のUUIDを取得する。llGetPrimitiveParamsオブジェクトの詳しい設定情報を取得する。llGetLinkPrimitiveParamsllSetAlpha指定した面の透明度を変更する。llSetLinkAlphallSetClickActionプリムをクリックしただけで、特殊な動作をさせるようにする。llSetColor指定した面の色を変更する。llSetLinkColorllSetStatusプリムの属性を設定する。可能なのですが、この関数では、10mの範囲以上を動かせないような属性、地域外にいった場合は自動返却属性、ドラッグ禁止属性、指定した軸の回転を禁止といった通常では設定できないような属性が設定できます。llSetTextプリムの上に文字を表示する。llSetTouchTextメニューの「触る」の文字列を変更する。llSetPrimitiveParamsプリムの情報をいろいろ設定する。llSetLinkPrimitiveParamsFastllSetSitTextメニューの「ここに座る」の文字列を変更する。llSitTarget座ったときの座標と向きを設定する。座る座標を設定できるため、アバターをテレポートさせるときにも利用される。オブジェクト位置llGetLocalPos親プリムからの相対座標を取得する。llGetPosオブジェクトのリージョン座標を取得する。装着時には装着者からの相対座標を取得する。llGetRootPosition親プリムのリージョン座標を取得する。以内でオブジェクトの座標を設定する。違って、制限なしにリージョン座標の位置へ移動する。オブジェクト回転llGetLocalRot親プリムからの相対角度を取得する。llGetRotオブジェクトの角度を取得する。装着時にはアバターの角度を取得する。llGetRootRotation親プリムの角度を取得する。llSetRotオブジェクトの角度を設定する。オブジェクトリンクllGetLinkNumber自分のリンク番号を取得する。llGetNumberOfPrimsリンクされているプリム数を調べる。(アバター含む)llGetObjectPrimCountオブジェクトを構成するプリム数を取得する。(アバター含まない)llPassCollisions衝突時の親プリムへイベントバブル動作の有無の設定する。llPassTouchesタッチ時の親プリムへイベントバブル動作の有無の設定する。メッセージ送信llEmail指定したアドレスへEメールを送信する。llHTTPRequest指定したWWWへHTTPリクエストを送信する。llInstantMessage指定したアバターへインスタントメッセージを送る。llMessageLinked同一オブジェクト内で情報やり取りのためにメッセージを送信する。link_messagellOwnerSay自分にしか見えないチャットを発言するllRegionSay地域内の指定したチャネルへ発言する。llRegionSayTo地域内の指定したアバターの指定したチャネルへ発言する。送ることで色々な機能が利用できる。llSay指定したチャネルへ発言する。(20メートル)llShout指定したチャネルへさけぶ。(100メートル)llWhisper指定したチャネルへささやく。(10メートル)プッシュllApplyImpulse自オブジェクト(物理)の指定したベクトルへ衝撃を与える。llApplyRotationalImpulse自オブジェクト(物理)の指定した回転方向へ衝撃を与える。llPushObject指定したオブジェクト(物理)に指定したベクトルと回転方向に衝撃を与える。乗の割合で軽減される。llSetAngularVelocity自オブジェクト(物理)の回転速度を変更する。llSetForce自オブジェクト(物理)に継続的な力を与える。llSetVelocity自オブジェクト(物理)の速度を指定した速度にする。当たり判定llCastRay指定した位置から指定した位置へレイを飛ばして、衝突位置を調べる。llCollisionFilter衝突イベントにフィルタをかける。発生条件にフィルターをかけるllGround土地の地面の高さを取得する。llSensorオブジェクトの周りにある物体を検出させる。除去できるllWater海の高さを取得する。文字列・リストllCSV2ListCSVの文字列をListへ変換する。llGetListEntryTypeList型の指定した項目の型を取得する。llGetListLengthList型の長さを取得する。llListStatisticsList型の数値から統計情報を取得する。llGetNotecardLineノートカードの指定した行を取得する。イベントで取得可能llGetNumberOfNotecardLinesノートカードの行数を取得する。llGetSubString文字列内の指定した箇所を切り出す。JavaScriptでいうsubstring関数。llMD5String文字列からMD5ハッシュの作成する。llParseStringKeepNulls文字列内で指定した区切り文字で区切る。JavaScriptでいうsplit関数。関数だけで可能llSHA1String文字列からSHA1ハッシュの作成する。llStringLength文字列の長さを取得する。JavaScriptでいうlength関数。llStringTrim文字列内の前後の空白を除去する。JavaScriptでいうtrim関数。llSubStringIndex文字列内で指定した文字の位置を取得する。JavaScriptでいうindexOf関数。JSONllJson2ListJSON文字列からList型へ変換する。llJsonGetValueJSON文字列の指定した項目のデータを取得する。llJsonSetValueJSON文字列に指定した項目へデータを入れる。llJsonValueTypeJSON文字列の指定した項目の型を取得する。llList2JsonList型からJSON文字列へ変換する。イベント発生特定llDetectedGroupアバターと、本スクリプトを設定したプリムとが同一グループかを取得する。関数では個別に取得可能llDetectedKey発生させたオブジェクト・アバターのUUIDを取得する。llDetectedLinkNumberクリックしたプリムのリンク番号を取得する。llDetectedTouchFaceクリックした面のインデックス番号を取得する。llDetectedTouchST面内でクリックした座標を取得する。llDetectedTouchUV面内でクリックしたテクスチャ上のUV座標を取得する。llDetectedType検出したもののオブジェクトの種類を取得する。llDetectedVelオブジェクトの速度を取得する。ダイアログllDialogダイアログ型GUIを表示させる。llLoadURL指定したURLへ誘導するダイアログボックスの表示する。llMapDestination指定した位置の世界地図を開く(装着したものか、タッチ系のみで動作)。llSetPayPrice支払い選択時に表示されるダイアログを設定する。イベントが発生するllTextBox入力用のダイアログボックスを表示させる。音声llAdjustSoundVolume再生中の音声の音量を変更する。llCollisionSound衝突音を変更する。llPreloadSound音をダウンロードしてキャッシュにためる。llPlaySound音を再生するキャッシュにあれば即再生する。llPlaySoundSlave音を再生し、Slaveされたものも再生する。llLoopSound音を連続再生する。llLoopSoundMaster音を連続再生し、Slaveされたものも再生する。llLoopSoundSlave音を連続再生を予約し、Masterが呼ばれたら再生する。llSetSoundQueueing再生した音が終了するまでスクリプトを止める。llSetSoundRadius音の聞こえる領域を変更する。llSetParcelMusicURL土地内に流れる放送音楽を変更する。llStopSound音を止める。llTriggerSoundオブジェクトがある固定位置で音を流す。llTriggerSoundLimited指定したバウンディングボックス内で音を流す。土地・区画llAddToLandBanList一定時間、土地へのアクセスを禁止する。llGetAgentList区画にいる全アバターを取得する。llGetEnvリージョンの情報を取得する。llGetParcelDetails指定した座標の区画情報を取得する。llGetParcelFlagsより詳しい区画の情報を取得する。llGetParcelMaxPrims区画の最大プリム数を取得する。llGetParcelPrimCount区画内にあるプリム数を取得する。llGetRegionAgentCountリージョン内のアバター数を取得する。llParcelMediaCommandList区画で設定したメディア情報を設定する。使用すれば区画内の動画情報を設定できる。他にも再生や、一時停止といったことも可能。llParcelMediaQuery区画で設定したメディア情報を取得する。使用すれば動画のテクスチャを取得できる。llRequestSimulatorDataSIM全体の稼働状況を取得する。イベントが発生する時間llGetGMTclockGMTの午前0時からの経過した時間「秒」を取得する。取得した値はinteger型となる。llGetSunDirection太陽の方向「正規化された方向ベクトル」を取得する。llGetTimeスクリプトが起動してからの時間「秒」を取得する。取得した値はfloat型となる。値を初期化可能llGetTimeOfDayセカンドライフ内の朝昼夜の時間「秒」を取得する。取得した値はfloat型となる。セカンドライフ内は1日が4時間で、1時間ごとに夜、朝、昼、夕のサイクルとなる。この秒数は深夜からカウントされるが、再起動によってカウントがリセットされるため、秒数から今の時間帯を割り出すのは難しいかと思われる。(未確認)llGetWallclock太平洋時間の午前0時からの経過時間「秒」を取得する。integer型となる。スクリプトllGetFreeMemoryスクリプトの空き容量を取得。llGetScriptName自分のスクリプトの名前を取得する。された際に引数を取得する。llRemoveInventory自プリムのインベントリ内にある指定したデータを削除する。llResetOtherScript指定した名前のスクリプトをリセット。llResetScript自分のスクリプトをリセット。llSetScriptState指定した名前のスクリプトを停止/再開させる。llSetTimerEventこの関数を呼んだ後定期的にタイマーイベントを発生させる。イベントが発生するllSleepスクリプトを指定した秒数停止する。イベントattach装着時に発生。changedオブジェクトの状態に変化があったときに発生。インベントリ内に変化あったときや、他のSIMへ移動したときなど。collision_start他のオブジェクトとの衝突時に発生。通過可能だが、本イベントを発生させることも可能dataserverデータを取得時に発生。land_collision_start地面との衝突時に発生。listenチャットに発言があると発生。on_rezrezされた時に発生。object_rezrezした時に発生。sensorセンサー系の関数で見つかったときに発生。timer指定した時間ごとに発生。touch_startクリック開始から発生。この関数を入れることで、オブジェクトの上にカーソルを乗せるとタッチできるようになる。逆にクリックさせないようにするためには、ステートを変更するしかない。その他llClearCameraParamsカメラの情報を初期化する。権限llGenerateKey固有のUUIDのkeyを作成する。llGetCameraPosカメラの座標を取得する。権限llGetCameraRotカメラの向きを取得する。権限llSetCameraParamsカメラの状態を設定する。権限おまけクリック時に何を起こさせるかは、llSetClickActionでも設定できますが、GUI上から設定できます。「編集」の「一般」の「クリックで」から変更ができます。設定は下記から選択できます。LSLスポンサーリンクプロフィールなたで明るくて楽しいことが好きです。コピーなたでなたで日記スポンサーリンク関連記事セカンドライフ制作セカンドライフでプログラム1(書き方がC言語に似ているよ編)コンニチハ。最近、セカンドライフやりだした。今から6年前の2008年5月の「ネトゲ日記-1」ですね。[...]セカンドライフ制作セカンドライフでプログラム2(座標の話とその変換の話)こんにちは。世界は複数のリージョンから成り立っています。[...]セカンドライフ制作セカンドライフでプログラム3(はねるボールを作ろう編)こんばんは。セカンドライフでは、どんなものでも手軽に作れてしまいます。いくつか好きな形のプリムを選べます。考えて作らないといけません。プロセス仮想マシンによって動いています。自分のアバターも他人のアバターも固有のkeyで管理しています。そのkey情報を使って、いろいろな情報を取得できます。いうわけで、さっそくスクリプトです。次のプログラムを見てみてください。stateを使った状態遷移と、touch_startを使ったプログラムとなっています。どのように動くか想像できますでしょうか。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。スクリプトイベントその他おまけタイトルとURLをコピーしました。