スクリプターズカフェ/ログ/Monoでのリスト変数の要素のデータ - セカンドライフWiki
Scripters_cafeログ08/11/22[]Monoコンパイルしたスクリプトで変数をリストに格納する場合、スクリプト内で静的に記述してある値は、同じ実体への参照としてリストに追加されるようです。ただし、これはリストへの追加時と読み込みの時にこのようになっているだけで、特定
Scripters_cafeログ08/11/22[]Monoコンパイルしたスクリプトで変数をリストに格納する場合、スクリプト内で静的に記述してある値は、同じ実体への参照としてリストに追加されるようです。ただし、これはリストへの追加時と読み込みの時にこのようになっているだけで、特定
Scripters_cafeログ08/09/13[]Jam Meiliさんが作成した「How to optimize for Mono」という文書がインワールドで配布されており、これをNock Foragerさんが中心となって日本語へ翻訳されました。→How_to_optimiz
Scripters_cafeログ08/12/06[]Monoでのスクリプトの領域の消費についてです。スクリプトコード本体が静的に消費する領域について調べました。以下のような方法で、スクリプトコードがどれだけ領域を消費するのかを調べようと試みました。state_entryの先頭にて
Scripters_cafeログ08/09/13[]ametaさんから、Monoコンパイルしたスクリプトにて、llBase64ToStringでrun time errorが発生する場合があると教えていただきました。具体的には以下のようなエラーが表示されたそうです。System.
Scripters_cafeログ08/12/06[]Monoで、スクリプト内で定義した文字列リテラルが消費する領域についてです。スクリプトコードに文字列リテラルを記述すると、LSLでコンパイルした場合、すべてのリテラルに別々のメモリ領域が割り当てられるため、例えば同じ文字列リテラ
Scripters_cafeログ08/03/29[]Lingr転送スクリプトを作っていて、試しにMono βにてMonoコンパイルしてテストしてみたところ、ランタイムエラーが出て全く動作しませんでした。このランタイムエラー(例外)について発生箇所を検証したところ、以下のような「リ
Scripters_cafeログ08/09/27[]LSL2では、使わなくなった変数のヒープ領域の解放は同期的に行われていました。従って、領域の確保・解放に対して非同期な要素を排除すると、スクリプトの処理を継続していった場合に空き領域がそのうちなくなるのか、なくならないのかは理論
Scripters_cafeのログ08/03/08[]すでに本wikiのエントリも更新されていますが、Openspace(Voidとか環境SIMなどの呼び方もある)がコレまで4つセットでしか購入できなかったのが、1つから購入できるようになるそうです。プリム数も、これまでは1850
Scripters_cafeログ08/06/14[]SIMリブート時にスクリプトはどういう動きをしているの?という質問がありました。これに対する回答は、「特殊な動きは何もしません」というもので、スクリプトがリセットされたり、state_entry や on_rez イベントが発生
Scripters_cafeログ08/06/14[]特定のSIMの起動状態は、別のSIMからであればllRequestSimulatorData()関数にDATA_SIM_STATUSフラグを指定することで得られます。★SIMがシャットダウン中の状態を、そのSIMに置いたスクリプ
Scripters_cafeログ08/10/04[]SIMのIPアドレスは結構頻繁に変わるよね、という話。SIMのバージョンアップでローリングリスタートが行われると、多くの場合IPアドレスの異なる別のホストへSIMが移されるようです。これは、作業用の空きホストのSIMコードをバー
Scripters_cafeログ08/08/16[]ライブ会場などで、SIMにアバターが60人程度集まっている状況で動作するスクリプトについての話がありました。いろいろ正確な検証はできていないようですが、少なくともアセットサーバーにアクセスする必要のあるノートカードの読み込み処理
Scripters_cafeログ08/10/04[]New Script SIMで、9月の後半あたりからSIM FPSが不安定になる状況が発生していました。SIM FPSは、安定したSIMではほぼ45で一定です。アバターがSIMにテレポートしてきたり、最近ではMonoでスクリプト
Scripters_cafeログ08/06/07[]「アニメベンダーでポーズによってはベンダー部にタッチしづらくなる」の話に関連して、HildeさんからPick Renderというオプションを選択すると影の領域が分かりやすいということを教えていただきました。アバターの影アバターの
Scripters_cafeのログ08/05/03[]この現象について、その後Fakeさん、Tomonekoさん、Miyaokaさんらが調査されて、ほぼ原因が特定できたということでjiraにFakeさんがエントリしました。jira SVC-2283 Postcard with e
Scripters_cafeログ08/08/16[]結論:おそらく必要なし「重いSIMで椅子を作っていた時に、アバターがsitしているにも関わらず、llAvatarOnSitTargetでNULL_KEYが返ってきたことがあった。それを回避するためかどうか分からないが、llAva
Scripters_cafeログ08/08/30[]llDetectedTouch*を使ったお絵かきツールはスカルププリムの面上にも描けるのですが、それを応用してスカルプの形状を擬似的にコピーできないか?という話が出ました。あくまで「タッチした位置」の情報しか取得できないので、面
Scripters_cafeログ08/04/19[]LSLの定数はコンパイラによってすべて即値に展開されるのですが、定数によっては非常に効率が悪い処理になっています。→Chiyosukeさんのドキュメント 「3.2.7 NULL KEY の代わりに""を使う」 などを参照上記ドキ
Scripters_cafeログ08/03/22[]Keimarさんが、Taifrogさんの「記憶粘土」を使って早速小ネタツールを作ったとのことで見せていただきました。タッチすると状態(形状)が変わるようになっていました。(タッチ制御やパーティクルを出すスクリプトを、記憶粘土と組
Scripters_cafeのログ08/03/08[]途中からカフェに戻って話していたのですが、GALONGEのコロッセオにポツンとyouさんが(おそらく寝オチで)取り残されてしまっていたので、救出しようかという話に。その話はそれでスルーだったと思ったら、しばらくしたらHilde
Scripters_cafeログ08/05/24[]この日Seagelさんが「おにごっこ(をするしっぽ)」のアイテムを知り合いからもらってきたとのことで、みなさんに配布して遊んでいました。このおにごっこアイテムは非常に単純なもので、「おにごっこ」とチャットでしゃべるとアイテムを身
Scripters_cafeログ08/04/05[]temp(一時)にチェックしてあるオブジェクトは、選択して編集状態にしていても特定の時間が経過するとオブジェクトごと消えてしまいます。このような「事故」を防ぐためのテクニックとして、tempオブジェクトを地面にrezして編集する
Scripters_cafeログ08/06/14[]いつまでたっても「もやもや」が解消されない場合の対処方法現在のoutfitを保存する→保存していないと元に戻れなくなるので注意!Advancedメニューを表示するAdvanced→Character→Character Test
Scripters_cafeログ08/10/18[]この方です。User:Strife_OnizukaPJIRAやSecond Life Wikiで活躍しており、LSLの仕様に精通している方です。Strifeさんが編集するWikiの履歴を眺めていれば、LSLに関する主要な変更をチ
Scripters_cafeログ08/03/15[]お題リストに書いていた、「みんなの視点を強制的に誰か(例えば先生役)が制御するツールの妄想」という件ですが、偶然Tomonekoさんが同じようなものを作られていたとのことで、その場で見せていただきました。Tomonekoさんのツ
Scripters_cafeログ08/04/12[]ネックレスを作成する場合に、首の周りをプリムで一周させたりしますが、リアルな形状にするためには数学計算などが必要になります。しかし Second Life には物理シミュレーション機能が備わっているので、物理シミュレーションを使
Scripters_cafeログ08/10/18[]sit ballは基本的なスクリプトでありながら、いろいろと奥が深いので、再度お題として取り上げました。見本となるスクリプトはこちらのyouさん作のものLSL-BBS sit ballノートカードからの設定の読み込みなどは除いて
Scripters_cafeログ08/09/06[]Second LifeのビューアのAdvancedメニューに「Show Updates」というオプションがあり、これにチェックすると、更新のあるプリムから更新を示すパーティクルのようなものが出るようになります。通常、プリムの形状
Scripters_cafeログ08/11/01[]アバターが椅子オブジェクトに座ると、そのオブジェクトのリンクセットの末尾に子プリムのような扱いで追加されます。この時、リンクセット内でアバターのリンク番号はプリム数と同じ数字(末尾)になります。アバターが立ち上がると、そのリンク
Scripters_cafeログ08/03/15[]llOwnerSay()でメッセージを表示するようなHUDアイテムを間違って体に身につけていると、llOwnerSay()されるたびに自分のアバターの周りにパーティクルが表示される、という現象を「アバターが光る」と表現されていた
Scripters_cafeログ08/08/16[]椅子の話から、椅子にセットするアニメーションの優先順位の話になりました。椅子に仕込むアニメーションなどで、優先順位が4に設定されていると思われるものを多く見かけます。このようなアニメが設定されている椅子の場合、たとえばタイニーア
Scripters_cafeログ09/01/10[]ビューアーのバージョン1.22から、3D空間内のオブジェクトへのタッチ処理が「pick rendering」「raycast method」という処理によるタッチオブジェクトの検出に変更されました。Release Notes f
Scripters_cafeログ08/07/19[]ポーズアニメーションを制御するHUDを作成していたyouさんから、「アニメの停止がイマイチ」という話がありました。アバターに再生されているアニメーションの一覧を llGetAnimationList() 関数で取得して、不必要な
Scripters_cafeログ08/08/16[]「設定をnotecardから読み込んで動作する」というスクリプトのstate構成のパターンについての話です。以下のようなstate構成を例として出しました。default { state_entry() {
Scripters_cafeログ08/11/08[]Second Lifeのスクリプトの負荷を表す1つの指標に「script time」があります。Estate管理のTop Scripts画面ではオブジェクト単位でscript timeを確認することができますが、この画面はEst
Scripters_cafeログ08/08/30[]Second LifeのSIMコード1.24から導入されたllDetectedTouch*系の関数で、タッチした位置でのいくつかの情報を取得できるようになりましたが、それに加えて、「タッチした位置の色を取得したい」という要望がP
Scripters_cafeログ08/12/27[]llHTTPRequest 関数でウェブサーバーにリクエストを送信すると、自動的に HTTP のヘッダ情報としてオブジェクトのリージョン座標や所有者のアバター名などが送信されます。このアバター名ですが、まれに「(loading.
Scripters_cafeログ08/03/29[]オフィスアワーの開始時に参加者が少なかったこともあり、お題リストには無かったのですが「Ground系関数って使ったことある?」という話になりました。Ground系関数には以下のようなものがあります。llGroundllGroun
Scripters_cafeログ08/04/26[]LSLでの演算の優先順位でテストしていた内容が実際に有効なのかどうかのサンプルを作ってみました。string test = "012345679012345679012345679012345679・・・ 012345679";
Scripters_cafeログ08/08/02[]SIMサーバーへのMonoエンジンの適用と同時に、いくつかの新しいLSL関数が追加されるようです。llDetectedTouchBinormalllDetectedTouchFacellDetectedTouchNormalll
Scripters_cafeログ08/06/21[]llRotLookAt 関数には3つのパラメータがありますが、2つ目と3つ目のパラメータってどういう効果?という話。wiki.secondlife.com のページにはあまり詳しい説明がありません。wiki.secondlife
目次1 08/08/091.1 縮尺1.0、オフセット01.2 縮尺2.0、オフセット01.3 縮尺2.0、オフセット0.51.4 縮尺1.0、回転90度1.5 Top Shear 0.51.6 Taper 1.01.7 これらの関数の応用方法Scripters_cafeログ08
Scripters_cafeログ08/12/27[]LSL 関数の中には、llKey2Name など「パラメータで指定したアバターがスクリプトを実行している SIM と同一 SIM に存在すること」という条件がある場合があります。このような関数は、本来セントラルデータベースにある
Scripters_cafeログ08/09/13[]llSensor/llSensorRepeatに指定するフラグについてです。llSensorllSensorRepeatフラグには以下の4種類があります。AGENTACTIVEPASSIVESCRIPTEDwiki.second
Scripters_cafeログ08/06/07[]llRequestPermissions() でパーミッションを要求する場合、通常はパーミッションの確認ダイアログが表示されますが、特定の条件ではダイアログの確認なしに即座にパーミッションが許可される場合があります。例えば、プリ
Scripters_cafeログ08/12/20[]オブジェクトが所有者に対して no mod(編集不可)である場合の、コンテンツの中身についてです。以下の 2 つの場合があります。コンテンツにあるオブジェクトが所有者に対して copy 許可この場合は、編集画面からコンテンツのオ
Scripters_cafeログ08/04/12[]LSL の関数の中には微妙に機能が重複していて存在を忘れてしまう関数があったりするのですが、最近「llVecDist」という関数があったことを思いだしました。llVecDist は2つの座標間の距離を求める場合に使う関数なのです
Scripters_cafeログ08/07/19[]結論:何のメッセージもなく、普通に消せます。default { touch_start( integer num ) { llRemoveInventory( "New Note" ); }}特に記載の
Scripters_cafeログ08/06/14[]Second Life 内でオブジェクトを回転させる場合、llTargetOmega関数を使用するのが手っ取り早いのですが、この関数での回転は見る人のタイミングなどによってずれが発生します。(はじめから見ている人と、途中からその
Scripters_cafeログ08/06/14[]最近導入されたLSL関数にllSetClickAction()という関数があるよ、という話。-llSetClickActionこの関数を使用すると、オブジェクトにタッチしたときのアクション(これまでは編集ダイアログにて設定)をス