7.25.2008

短距離テレポート

座るとテレポートできるスクリプトの覚書です。
エレベーター代わりにも使えます。
vector gopos;
vector aimpos = <X軸,Y軸,Z軸>;

default
{
state_entry()
{
llSetSitText("Teleport");
gopos = aimpos - llGetPos();
llOwnerSay((string)llGetPos()+"-"+(string)aimpos+"="+(string)gopos);
llSitTarget(gopos , ZERO_ROTATION);
}

on_rez(integer num)
{
llResetScript();
}

changed(integer change)
{
if (change & CHANGED_LINK)
{
key sid = llAvatarOnSitTarget();
if (sid != NULL_KEY)
{
llUnSit(sid);
}
}
}

touch_start(integer i)
{
llSay(0, "Please right-click and select Teleport");
}
}

あらかじめ着地する場所の座標を調べて入力します。
絶対値でも相対値でもOKです。
イス等の座る位置を設定する応用だそうです。

0 件のコメント: