2008年02月12日
llSetLinkAlpha
llSetLinkAlpha
llSetLinkAlpha(integer linknumber, float alpha, integer face) |
リンクされているオブジェクトの透明度を設定します。
主に、複数で構成されているオブジェクト全体の透明度を設定するときに使用します。
integer linknumber | 透明度を設定するプリムのリンクナンバーを設定します。
| ||||||||||
float alpha | 透明度の度合いを設定します。大きさは0.0~1.0までです。
| ||||||||||
integer face | 透明化する、プリムの面を設定します。
|
<使用例>
親プリム(赤)
default { touch_start(integer total_number) { llSetLinkAlpha(LINK_SET, 0.5, ALL_SIDES); } }
|


スクリプトが入ったプリム(赤)にタッチすると、リンクされている全てのプリムが半透明になります。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月12日
llPassTouches
llPassTouches
llPassTouches(integer pass) |
子プリムから親プリムに、タッチイベントを通知します。
integer pass | タッチの通知を、親プリムに通知するかどうかを指定します。
|
<使用例>
親プリム(赤)
default { touch_start(integer total_number) { llSay(0, "Touched."); } } |
衝突するプリム(青)
default { touch_start(integer total_number) { llPassTouches(TRUE); } }
|


スクリプトが入ったプリム(青)にタッチすると、親プリムに通知します。
そして、タッチイベント(今回はtouch_start)で、通知を受け取ります。
通知を受け取った親プリム(赤)は ”Touched”としゃべります。
あくまで、 ”タッチイベントの通知" なので、青プリムの touch_start を collision_start 等に変えては動作しません。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月12日
L'ala di angelo
大人っぽいデザインの下着を取り揃えております。

レンガを基調に、シンプルにまとめられた店内には、女性用の下着が並んでいます。

お店自体がBIWAKOと面しており、2階部分からはBIWAKOが一望できます。
ここで見る最高の眺めは、あなたの疲れを癒すことでしょう。

一階に走り回る猫に出迎えられ、楽しい気分でショッピングが出来るでしょう。
1階のとある一角で、モデルの女の子が出没するかもしれないので、ちょくちょく足を運んでみてはいかがでしょうか?
L'ala di angelo はこちら
http://slurl.com/secondlife/Mother%20Lake/182/ 159/ 23
2008年02月12日
お小遣いがもらえるシム!
お小遣いがもらえるSIM「Mother Lake」。

景色がきれいwと評判のこのSIMも、皆様のおかげでどんどん良い町になっていってます。
一日たった 50円 で土地が借りれて
なおかつ 毎月 最大 330L$が貰えちゃいます!!
そして景色はキレイだし
何より、住民の方がなんと暖かいこと^^
管理している僕達が癒されてしまいます(笑)
レンタルを考えてらっしゃる、そこのあなた!Mother Lakeで決まりですね!
ご予約はお早めにw
Mother Lake の契約についての詳細はこちらからw → http://ml.ms-p.jp/people/motherlake.html
あと、シムの中央部に 無料で商品が置ける、販売スペースもあります!
残りあとわずかなので、お早めに!!
詳しくは現地 大型ショッピングセンター”PAPCO"にて、
規約を置いてありますので、ご参考に!!
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月12日
llPassCollisions
llPassCollisions
llPassCollisions(integer pass) |
子プリムから親プリムに、衝突イベントを通知します。
integer pass | 衝突の通知を、親プリムに通知するかどうかを指定します。
|
<使用例>
親プリム(赤)
default { collision_start(integer num_detected) { llSay(0, "collision"); } } |
衝突するプリム(青)
default { collision_start(integer num_detected) { llPassCollisions(TRUE); } }
|


スクリプトが入ったプリム(青)に衝突すると、親プリムに通知します。
そして、衝突イベント(今回はcollision_start)で、通知を受け取ります。
通知を受け取った親プリム(赤)は ”collision”としゃべります。
あくまで、 ”衝突イベントの通知" なので、青プリムの collision_start を touch_start 等に変えては動作しません。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月12日
llGetRootPosition
llGetRootPosition
vector llGetRootPosition() |
ルートプリムの位置を返します。
アタッチメントで返した場合、アバターの現在地を返します。
指定する値はありません。
<使用例>
default { touch_start(integer total_number) { llSay(0, (string)llGetRootPosition()); } } |

スクリプトが入ったプリム(青)をタッチすると、ルートプリム(赤)の現在地をしゃべります。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
llSetTimerEvent
llSetTimerEvent
llSetTimerEvent(float sec) |
関数 llSetTimerEvent で設定された時間が経ったら、timer イベントを発生させます。
以後、設定された時間が経てば、繰り返し timer イベントが発生します。
タイマーをoffにしたい場合は、llSetTimerEvent(0.0);を設定してあげます。
float sec | タイマー時間の設定 |
<例> llSetTimerEvent(2.3); ・・・タイマーの時間を2.3秒に設定。
<使用例>
default { state_entry() { llSay(0, "timer start"); llSetTimerEvent(5.0); } timer() { llSay(0, "timer end"); llSetTimerEvent(0.0); } } |

llSetTimerEvent で5秒を設定しているので、5秒たったら timer イベントが発生します。
timerイベントの中で、さらに llSetTimerEvent で0秒をしています。
これは、 timer イベントをoffにする効果があります。
もし、ここで0秒を指定しなかった場合は、5秒ごとに timer イベントが繰り返し発生することになります。
何か、繰り返しセンサーを感知させたい場合などは、繰り返し設定しておくと良いと思います。

Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
llMessageLinked
llMessageLinked
llMessageLinked(integer linknum, integer num, string str, key id) |
指定したプリムに、データを送信します。
integer linknum | 送信先のprimのリンクナンバーを指定します。
| ||||||||||
integer num | 送信する数値 固定値は0。 | ||||||||||
string str | 送信する文字列 空を送る場合は "" と入力。 | ||||||||||
key id | 送信するデータ 空を送る場合は NULL_KEY と入力。 |
<使用例>
ルートプリム(赤)
default { touch_start(integer total_number) { llMessageLinked(LINK_SET, 1,"", NULL_KEY); } } |
子プリム(黄色)
default { link_message(integer sender_num, integer num, string str, key id) { if(num == 1){ llSay(0, "messege"); } } } |
ルートプリム(赤)にタッチすると、子プリム(黄)が "messege"としゃべるスクリプトです。
ルートプリム(赤)にタッチすると、llMessageLinked により、1 という数値が全てのプリムに発信されます。
子プリム(黄)では、リンクメッセージを受信すると、if 文により、1という数字が送信されたときに処理を行うようにしています。
今回は、1という数字が入ってきますので、 "messege"としゃべることになります。


if 文による文字列や数値での条件の分岐や、文字列や数値によるデータの受け渡しなどが出来ますので、
複数のスクリプトを動かすときの、有効なイベントになります。
このイベントはとても使い勝手がよく、スクリプトに慣れてきたら、無くてはならないものになりますので、是非マスターしてください。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
llGetObjectPrimCount
llGetObjectPrimCount
integer llGetObjectPrimCount(key id) |
key id で指定したUUIDのオブジェクトのリンク数を調べる。
key id | リンク数を調べたいオブジェクトのUUIDを指定します。 |
<使用例>
default { touch_start(integer total_number) { llSay(0, (string)llGetObjectPrimCount("e0b2910c-a18f-34d6-7751-1d39650746f7")); } } |

UUID e0b2910c-a18f-34d6-7751-1d39650746f7 (青いプリム)のリンク数を調べ、発言します。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
llGetNumberOfPrims
llGetNumberOfPrims
integer llGetNumberOfPrims() |
リンクされているプリムの数を取得します。
オブジェクトにアバターが座っていた場合は、1アバター=1primとしてカウントされます。
指定する値はありません。
<使用例>
default { touch_start(integer total_number) { llSay(0, (string)llGetNumberOfPrims()); } } |

スクリプトが入っているオブジェクトのプリム数を返します。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
llGetLinkNumber
llGetLinkNumber
integer llGetLinkNumber() |
自分自身のリンクナンバーを返します。
オブジェクトが単一(1プリム)の場合、有効な値は0のみであり、
複数プリムの場合はルートプリムが 1 、それ以降が子プリムになる。
指定する値はありません。
<使用例>
default { touch_start(integer total_number) { llSay(0, (string)llGetLinkNumber()); } } |

スクリプトが入っているオブジェクト(赤)をタッチすると、自分のリンクナンバーを返します。
今回はルートプリムなので、 1 が返ります。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
llGetLinkName
llGetLinkName
string llGetLinkName(integer linknum) |
integer linknum で指定されたプリムナンバーのプリムの 名前 を取得する。
オブジェクトが単一(1プリム)の場合、有効な値は0のみであり、
複数プリムの場合はルートプリムが 1 、それ以降が子プリムになる。
integer linknum | 名前 を取得するリンクのナンバー |
<使用例>
default { touch_start(integer total_number) { llSay(0, llGetLinkName(2)); } } |

スクリプトが入っているオブジェクト(赤)をタッチすると、指定された子プリム(今回は2)の
名前を発言する。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
llGetLinkKey
llGetLinkKey
key llGetLinkKey(integer linknum) |
integer linknum で指定されたプリムナンバーのプリムの UUID を取得する。
オブジェクトが単一(1プリム)の場合、有効な値は0のみであり、
複数プリムの場合はルートプリムが 1 、それ以降が子プリムになる。
integer linknum | UUID を取得するリンクのナンバー |
<使用例>
default { touch_start(integer total_number) { llSay(0, (string)llGetLinkKey(2)); } } |

スクリプトが入っているオブジェクト(赤)をタッチすると、指定された子プリム(今回は2)の
UUIDを発言する。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
llDetectedLinkNumber
llDetectedLinkNumber
integer llDetectedLinkNumber(integer number) |
デテクト系イベント(タッチ、衝突、センサー)がどのプリムで行われたのかを取得する。
integer number | デテクト系イベントが行われたプリムのナンバー |
オブジェクトが単一(1プリム)の場合は 0 が返る。
複数の場合はルートプリムが 1、それ以降が子プリムとなる。
<使用例>
default { touch_start(integer num_detected) { llSay(0, "Link number " + (string)llDetectedLinkNumber(0)); } } |

スクリプトが入っているオブジェクト(青)をタッチすると、そのプリムのリンクナンバーを発言する。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
llCreateLink
llCreateLink
llCreateLink(key target, integer parent) |
key target に指定したオブジェクトと、リンクを行います。
key target | リンクを行う相手の UUID を指定します。 | ||||
integer parent | 親プリムの指定を行います。
|
リンクナンバーの振り分けは、
もしスクリプト保有オブジェクトが{A1.A2.A3}の3つのプリムで構成されており、相手側が{B1.B2.B3}
で構成されていて、integer parent が TRUE の場合は、リンクナンバーは
{A1.B1.B2.B3.A2.A3}
となるみたいです。注意してください。
この関数を実行するにはPERMISSION_CHANGE_LINKSパーミッションを取得する必要があります。
相手先のオブジェクトにはパーミッションがなくても良いが、双方のオブジェクトのオーナーが同一で、かつmodify権限を持っていなければなりません。
アタッチメントやsit中のオブジェクトはリンク/リンク解除を行うことはできないという制限もあります。
<使用例>
default { touch_start(integer num_detected) { if (llDetectedKey(0) == llGetOwner()){ llRequestPermissions(llDetectedKey(0), PERMISSION_CHANGE_LINKS); } } run_time_permissions(integer perm) { if (perm & PERMISSION_CHANGE_LINKS) { llCreateLink("33c1ed78-eb31-e81a-a01e-57f1cf8667ec", TRUE); } } } |


スクリプトが入っているオブジェクト(赤)をタッチすると、相手(青)とリンクします。
画面ではわかりにくいですが、確かにリンクしました。
尚、予め相手側のオブジェクト(青)のUUIDを "33c1ed78-eb31-e81a-a01e-57f1cf8667ec"
と仮定した上でのスクリプトになっています。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
llBreakLink
llBreakLink
llBreakLink(integer linknum) |
integer linknum に指定したリンクナンバーのプリムをリンクから外します。
integer linknum | リンクを解除するプリムを指定します。 |
<使用例>
default { touch_start(integer num_detected) { if (llDetectedKey(0) == llGetOwner()) { llRequestPermissions(llDetectedKey(0), PERMISSION_CHANGE_LINKS); } } run_time_permissions(integer perm) { if (perm & PERMISSION_CHANGE_LINKS) { llBreakLink(1); } } } |

コレが・・・

こうなります。
今回は、ルートプリム(赤)をリンクから解除するように”1”を設定しています。
しかし、このままではオブジェクトの中からルートプリムがなくなってしまいます。
そのため、2の値が与えられている子プリムが、次回のルートプリムになり、全てのプリムナンバーが一つずつずれます。
オブジェクトを物理属性にしているので、リンクが外れたら、赤いプリムが下に落ちますw
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
llBreakAllLinks
llBreakAllLinks
llBreakAllLinks() |
オブジェクトのリンクを全て解除します。
この関数を実行するには、 PERMISSION_CHANGE_LINKS パーミッションの取得が必要です。
<使用例>
default { touch_start(integer num_detected) { if (llDetectedKey(0) == llGetOwner()) { llRequestPermissions(llDetectedKey(0), PERMISSION_CHANGE_LINKS); } } run_time_permissions(integer perm) { if (perm & PERMISSION_CHANGE_LINKS) { llBreakAllLinks(); } } } |

コレが・・・

バラバラに。
この関数は、アタッチメントされているオブジェクトには効果はありません。
一つのオブジェクトのみをリンクから外したい場合は、llBreakLink を使用してください。
オブジェクトに物理属性をかけているので、リンクを外したらバラバラになってしまいますw
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
touch,touch_start,touch_end
touch_start
touch_end
touch
3つのイベントの違い
touch_start(integer num_detected) |
オブジェクトがタッチされたときに呼び出されるイベントです。
integer num_detected | オブジェクトを触っている人数が格納されます。 |
<使用例>
default { touch_start(integer total_number) { llSay(0, "Touched."); } } |

オブジェクトをタッチすると、”Toched”としゃべります。
デフォルトのスクリプトに組み込まれているイベントです。
touch_end(integer num_detected) |
オブジェクトがタッチされ終わったとき(マウスを離した時)に呼び出されるイベントです。
integer num_detected | オブジェクトを触っている人数が格納されます。 |
<使用例>
default { touch_end(integer total_number) { llSay(0, "Touched."); } } |

オブジェクトをタッチし、マウスボタンを離すと、”Toched”としゃべります。
touch(integer num_detected) |
オブジェクトがタッチされている間に呼び出されるイベントです。
タッチされている間は、繰り返しイベントが発生します。
integer num_detected | オブジェクトを触っている人数が格納されます。 |
<使用例>
default } touch(integer total_number) { llSay(0, "Touched."); } } |

オブジェクトをタッチし続けている間、”Toched”としゃべります。
3つのイベントには、
”触ったとき”
”触っている間”
”触り終わったとき”
という、3つの状態があり、それぞれ、touch_start , touch , touch_end イベントが対応しています。
以下の例を見てみましょう。
default { touch(integer total_number) { llSay(0, "Touch"); }
touch_start(integer total_number) { llSay(0, "Touch_start"); }
touch_end(integer total_number) { llSay(0, "Touch_end"); } } |

この場合、クリックした瞬間にtouch_start イベントが開始され、”Touch_start”としゃべります。
その後、touchイベントが繰り返され、"Touch"としゃべりつつけます。
マウスを離すと touch_end イベントが発生し、"Touch_end" としゃべります。
では、パイメニューのTouchで触った場合、どうなるのでしょうか?

実は、3つのイベントが1ずつ実行されるのです。
LSLは、一つのスクリプト内で複数のイベントが同時に発生することはありません。
したがって、この3つの動作は、1つずつ順番に実行されているのです。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
timer
timer() |
関数 llSetTimerEvent で設定された時間が経ったら、イベントを発生させます。
以後、設定された時間が経てば、繰り返しイベントが発生します。
あらかじめ、llSetTimerEvent で起動する必要があります。
タイマーをoffにしたい場合は、llSetTimerEvent(0.0);を設定してあげます。
返されるパラメータはありません。
<使用例>
default { state_entry() { llSay(0, "timer start"); llSetTimerEvent(5.0); }
timer() { llSay(0, "timer end"); llSetTimerEvent(0.0); } } |

llSetTimerEvent で5秒を設定しているので、5秒たったら timer イベントが発生します。
timerイベントの中で、さらに llSetTimerEvent で0秒をしています。
これは、 timer イベントをoffにする効果があります。
もし、ここで0秒を指定しなかった場合は、5秒ごとに timer イベントが繰り返し発生することになります。
何か、繰り返しセンサーを感知させたい場合などは、繰り返し設定しておくと良いと思います。

Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/
2008年02月10日
state_enyry,state_exit
state_entry() |
ステートが開始されたときに発生するイベントです。
ステートについては、別の機会に説明します。
返されるパラメータはありません。
<使用例>
default { state_entry() { llSay(0, "Hello"); } } |
スクリプトが動き出し、defaultステートが開始されたときに”Hello”としゃべります。
state_exit() |
ステートが次のステートに移行されるときに発生するイベントです。
返されるパラメータはありません。
<使用例>
default { state_entry() { llSay(0, "Hello"); state end; } state_exit() { llSay(0, "go to end"); } }
state end { state_entry() { } } |
スクリプトが動き出し、defaultステートが開始されたときに”Hello”としゃべります。
その後、 end ステートに移行するのですが、このときに state_exit イベントが発生し、"go to end"としゃべります。
注意していただきたいのが、ステートが終わったときに発生するのではない という点です。
例の場合、endステートに移行するのですから、state_exitが発生します。
もし、次のステートが用意されてなく、ステートの移行が行われなければ、state_exitイベントは発生しません。
Mother Lake は こちら→ http://slurl.com/secondlife/Mother%20Lake/114/109/21
からくりや 江戸支店は こちら→ http://slurl.com/secondlife/EDO%20Japan/74/87/27
Mother Lake のHPはこちらから→ http://ml.ms-p.jp/
法人の方はこちら → http://ms-p.jp/