LlReplaceAgentEnvironment/ja

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

要約

関数: Integer llReplaceAgentEnvironment( key agent_id, float transition, string environment );

llReplaceAgentEnvironment関数は、エージェントが見る現在のリージョンおよびパーセル環境を上書きします。新しい環境は、エージェントが新しいリージョンに移動するか、この関数が特定のエージェントの環境パラメータにNULL_KEYまたは空の文字列を使用して呼び出されるまで持続します。この場合、エクスペリエンスの一環としてこのエージェントに適用されたすべての環境設定が剥奪されます。この関数はエクスペリエンスの一部として実行する必要があります。
Integer で返します。

• key agent_id リージョン内のエージェントのキー。エージェントはリージョンに存在し、エクスペリエンスに参加している必要があります。
• float transition 新しい設定に遷移する秒数。
• string environment オブジェクトのインベントリ内の環境設定の名前または環境のアセットID。

戻り値
定数 説明
1 エージェントに新しい環境への変更が指示されました。
ENV_NOT_EXPERIENCE -1 スクリプトが有効なエクスペリエンスキーを持つエクスペリエンスの一部として実行されていません。
ENV_NO_EXPERIENCE_PERMISSION -2 エージェントが許可を付与していません。
ENV_NO_ENVIRONMENT -3 環境インベントリオブジェクトが見つかりませんでした。
ENV_INVALID_AGENT -4 指定されたエージェントを見つけることができません。
ENV_NO_EXPERIENCE_LAND -7 エクスペリエンスが有効になっていないか、土地で実行できません。
ENV_THROTTLE -8 スクリプトがスロットルを超えました。 待機してからリクエストを再試行してください。

警告

  • エージェントのビューアはこのコマンドを無視する可能性があります。
  • ビューアでローカルに設定された環境は、この関数から設定された環境を上書きします。
  • 環境パラメータとしてUUIDが渡され、そのUUIDが環境設定を指定していない場合、ビューアは静かに指示を無視します。

サンプル

string gEnvironment = "A-12AM"; // Can be asset's name in object's inventory or the asset ID
float gTransitionTime = 3.0;

default
{
    touch_start(integer total_number)
    {
        key person = llDetectedKey(0);
        if (llGetAgentSize(person) != ZERO_VECTOR)
        {
            llRequestExperiencePermissions(person, "");
        }
        else
        {
            llInstantMessage(person, "You need to be in the same region to change environment");
        }
    }

    experience_permissions(key agent_id)
    {
        integer envTest = llReplaceAgentEnvironment(agent_id, gTransitionTime, gEnvironment);
        if (envTest == 1)
        {
            llRegionSayTo(agent_id, 0, "Applying environment for " + (string)agent_id);
        }
        else
        {
            llRegionSayTo(agent_id, 0, "Cannot apply environment for " + (string)agent_id + " due to reason id: " + (string)envTest);
        }
    }

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

関連項目

特記事項

Search JIRA for related Issues

Signature

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