テレポーター
スクリプトの作成を受注しています。
まずはスクリプトお問い合わせからご相談ください。
移動が便利になるテレポーター
右クリック→テレポートであらかじめ設定した距離・方向に瞬間移動します。
オブジェクトを編集して、左クリックだけでテレポートするようにも出来ます。
ただし、このスクリプトは座る動作をテレポートに流用しているので、同一SIM内でしかテレポート出来ません。
スクリプト
vector offset = <0,0,10>;
vector color = <0,1,0>;
float alpha = 1.0;
default
{
state_entry()
{
llSetSitText("teleport");
// teleport
llSetText("right click => teleport", color, alpha);
// right click => teleport
llSitTarget(offset, ZERO_ROTATION);
}
on_rez(integer param)
{
llSitTarget(offset, ZERO_ROTATION);
}
changed(integer change)
{
if (change & CHANGED_LINK) {
key obj = llAvatarOnSitTarget();
llSleep(0.5);
if (obj != NULL_KEY) {
llUnSit(obj);
}
}
}
}
パラメータの設定
vector offset = <0,0,10>;
vector color = <0,1,0>;
float alpha = 1.0;
vector offset = <0,0,10>
オブジェクトから、テレポート先へのベクトル(方向と距離の情報)を設定します。
<x, y, z> という風に設定すると、それぞれ x軸、y軸、z軸上の距離になります。
例えば、
上に 10 メートルテレポート: <0,0,10>
下に 10 メートルテレポート: <0,0,-10>
vector color = <0,1,0>
オブジェクトの上部に表示される文字の色を指定します。
<0,0,0>…黒 <0,0,1>…青 <0,1,0>…緑 <0,1,1>…水色
<1,0,0>…赤 <1,0,1>…ピンク <1,1,0>…黄 <1,1,1>…白
float alpha = 1.0
文字の透明度を指定します。
注意
回転させないオブジェクトにスクリプトを組み込むようにしましょう。
なぜなら、オブジェクトを回転させると、x軸、y軸、z軸の方向が変更され、テレポート先の設定が難しくなるからです。
左クリックだけでテレポートする
このテレポートスクリプトは、「座る」動作によってテレポートするようになっています。 ですから、オブジェクトの編集画面で、左クリックした時に「座る」ように設定すれば、左クリックだけでテレポートできるようになります。 その場合、オブジェクトの上に表示する説明も変更しておいた方が良いでしょう。
llSetSitText("teleport");
左クリックした時の「座る」メニューを「teleport」という文字で置き換えています。
好きな文字に変える事が出来ます。
llSetText("right click => teleport", color, alpha);
オブジェクトの上部に「right click => teleport」と表示するようになっています。
好きな文字に変える事が出来ます。
日本語のメッセージを変えたい場合は、表示文字を日本語にするを参照してください。
このページのTopへ戻る