LlSitOnLink/ja

From Second Life Wiki
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が含まれるパーセルへのアクセス権がない場合、この呼び出しは失敗します。

Constant Value Description
SIT_NOT_EXPERIENCE -1 The script is not running as part of an experience with a valid experience key or the experience is not allowed at your location.
SIT_NO_EXPERIENCE_PERMISSION -2 The agent has not granted permission.
SIT_NO_SIT_TARGET -3 Unable to find an open sit target.
SIT_INVALID_AGENT -4 Unable to find specified agent.
SIT_INVALID_LINK -5 Unable to find specified link or the link constant would return multiple prims.
SIT_NO_ACCESS -6 The avatar does not have access to the parcel that the prim running this script is located in.
SIT_INVALID_OBJECT -7 This value is returned if the llSitOnLink is trying to force the user to sit on something that cannot be sat upon (such as an attachment).

サンプル

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の関連した項目が参考になるかもしれません。