LlTeleportAgent/ja
Jump to navigation
Jump to search
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: llTeleportAgent( key avatar, string landmark, vector position, vector look_at );オブジェクトのインベントリに格納された landmark に対する avatar のテレポートをリクエストします。ランドマークがない場合(空の文字列が指定された場合)、アバターは現在のリージョンの position で指定されたローカル座標にテレポートされます。いずれの場合も、アバターは look_at のローカル座標で指定された場所を向くようになります。
• key | avatar | – | 同一 地域 にいるアバターの UUID (テレポートするアバター。 オーナー である必要があります。 | |
• string | landmark | – | プリムの インベントリ の中にあるlandmark | |
• vector | position | – | ランドマークがない場合、アバターのテレポート先のリージョン内座標 | |
• vector | look_at | – | 到着したときにアバターが向く先のリージョン内座標 |
実行するには、llRequestPermissions による PERMISSION_TELEPORT 権限がavatarから与えられなければなりません。
警告
- landmark がプリムの中で見つからない場合、またはこれがlandmarkでない場合、エラーが DEBUG_CHANNEL 上で叫ばれます。
- 権限の自動付与に頼らないようにしましょう。常に run_time_permissions イベントを使用しましょう。
- スクリプトに PERMISSION_TELEPORT の権限が不足していると、スクリプトはエラーを DEBUG_CHANNEL で叫び、操作に失敗します (しかしスクリプトは処理を続けます)。
- PERMISSION_TELEPORT がavatar以外の人から許可され、関数が呼び出されると、 DEBUG_CHANNEL でエラーが叫ばれます。
- いったん PERMISSION_TELEPORT 権限が付与されると、スクリプトの中で (例えば、新しい llRequestPermissions 呼び出しなどにより) 権限をはく奪することができません。スクリプトはオブジェクトが derez (削除、取り外し、取り込み) されない限り権限が失われません。
- この関数でテレポートすることができるのは、オブジェクトのオーナーだけです。
- 立て続けにテレポートすることができないように制限がかかっています。 15秒の間に10回テレポート
- llAttachToAvatarTemp で装着されたオブジェクトの中のスクリプトでは、この関数は動作しません。
- 座っているアバターをこの関数を使ってテレポートさせることはできません。最初に llUnSit する必要があります。
サンプル
オブジェクトのインベントリにランドマークがない場合
key teleportee;
default
{
state_entry()
{
llSay(0, "タッチするとテレポートします");
}
touch_start(integer total_num)
{
teleportee = llDetectedKey(0);
llRequestPermissions(teleportee, PERMISSION_TELEPORT);
}
run_time_permissions(integer perm)
{
if(PERMISSION_TELEPORT & perm)
{
llTeleportAgent(teleportee, "", <13.0, 38.0, 23.5>, <13.0, 12.0, 23.5>);
}
}
}
オブジェクトにあるランドマークを使う場合
key teleportee;
default
{
state_entry()
{
llSay(0, "タッチするとテレポートします");
}
touch_start(integer total_num)
{
teleportee = llDetectedKey(0);
llRequestPermissions(teleportee, PERMISSION_TELEPORT);
}
run_time_permissions(integer perm)
{
if(PERMISSION_TELEPORT & perm)
{
llTeleportAgent(teleportee, "Experience Tools 1", <0.0, 0.0, 0.0>, <0.0, 0.0, 0.0>);
}
}
}
関連項目
イベント
• | run_time_permissions | – | 権限取得イベント |
関数
• | llGetPermissions | – | 付与されている権限を取得します | |
• | llGetPermissionsKey | – | 権限を許可したエージェントを取得します | |
• | llRequestPermissions | – | 権限を要求します | |
• | llTeleportAgentGlobalCoords | – | エージェントをグローバル座標にテレポートします |
記事
• | 権限/スクリプト |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。