LlSitOnLink/ja

From Second Life Wiki
< LlSitOnLink
Revision as of 15:33, 22 November 2023 by Misaki Vanilla (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

要約

関数: Integer llSitOnLink( key agent_id, integer link );

agent_idで指定されたアバターをlinkパラメータで示されるprimの座席ターゲットに座らせます。指定されたリンクが既に占有されている場合、シミュレータはリンクセット内のprimのチェーンを下って利用可能な座席ターゲットを検索します。
Integer で返します。

• key agent_id 座らせるアバターのUUID
• integer link 座席ターゲットを含むprimのリンク番号

成功した場合、このメソッドは1を返します。

関数が失敗した場合、負の数の定数が返されます。

LINK_ROOTやLINK_THISなど、単一のprimを示すリンク定数はlinkパラメータに使用できます。LINK_SET、LINK_CHILDREN、LINK_ALL_OTHERSなどの他の定数はINVALID_LINKエラーを返します。

このメソッドは、有効なエクスペリエンス キーが有効になっている土地で実行されているエクスペリエンス対応スクリプトから呼び出す必要があります。 これらの条件が満たされていない場合、このメソッドはNOT_EXPERIENCEエラーを返します。

対象のアバターはエクスペリエンスを受け入れる必要もあります。ユーザーがエクスペリエンスに参加していない場合、このメソッドはNO_EXPERIENCE_PERMISSIONを返します。アバターIDが見つからないか、エクスペリエンスが有効になっている土地の上にいない場合、このメソッドはINVALID_AGENTを返します。

リンクセットに有効な座席ターゲットが残っていない場合、このメソッドはNO_SIT_TARGETを返し、アバターには何も実行されません。

アバターがこのスクリプトを実行しているprimが含まれるパーセルへのアクセス権がない場合、この呼び出しは失敗します。

定数 説明
SIT_NOT_EXPERIENCE -1 スクリプトは有効なエクスペリエンス キーを持つエクスペリエンスの一部として実行されていないか、そのエクスペリエンスが場所で許可されていません。
SIT_NO_EXPERIENCE_PERMISSION -2 エージェントは許可を付与していません。
SIT_NO_SIT_TARGET -3 利用可能な座席ターゲットが見つかりません。
SIT_INVALID_AGENT -4 指定されたエージェントが見つかりません。
SIT_INVALID_LINK -5 指定されたリンクが見つからないか、リンク定数が複数のprimを返す可能性があります。
SIT_NO_ACCESS -6 アバターはこのスクリプトを実行しているprimがあるパーセルにアクセス権がありません。
SIT_INVALID_OBJECT -7 これは、llSitOnLinkがユーザーに座らせる対象が座れないもの(アタッチメントなど)である場合に返される値です。

サンプル

integer gLinkId = LINK_THIS;

default
{
    touch_start(integer total_number)
    {
        llRequestExperiencePermissions(llDetectedKey(0), "");
    }

    experience_permissions(key agent_id)
    {
        integer sitTest = llSitOnLink(agent_id, gLinkId);
        if (sitTest != 1)
        {
            llInstantMessage(agent_id, "Cannot force agent " + (string)agent_id + " to sit due to reason id: " + (string)sitTest);
        }
    }

    experience_permissions_denied(key agent_id, integer reason)
    {
        llInstantMessage(agent_id, "Denied experience permissions for " + (string)agent_id + " due to reason id: " + (string)reason);
    }
}

注意点

この関数は新しいprimitive parameter定数とともに導入されました: PRIM_ALLOW_UNSITPRIM_SCRIPTED_SITS_ONLYPRIM_SIT_TARGET

特記事項

All Issues

~ Search JIRA for related Issues
   Redesign llSitOnLink() to use the permissions system

Signature

function Integer llSitOnLink( key agent_id, integer link );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。