LlGiveMoney/ja

From Second Life Wiki
< LlGiveMoney
Revision as of 23:36, 18 January 2008 by Asuka Neely (talk | contribs) (New page: {{multi-lang}}{{LSL_Function/permission/ja|PERMISSION_DEBIT|grant=owner}}{{LSL_Function/ja |func_id=99|func_sleep=0.0|func_energy=10.0 |func=llGiveMoney|sort=GiveMoney |return_type=integer...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

要約

関数: integer llGiveMoney( key destination, integer 0)" style="border-bottom:1px dotted; cursor:help;">amount );

スクリプトのオーナからdestinationのアバターへとamountL$のお金を譲渡します。
常に0を integer で返します。

• key destination アバターkey.
• integer amount number of L$の数は0より多くすべきです。(amount > 0)

実行するには、llRequestPermissions による PERMISSION_DEBIT 権限がownerから与えられなければなりません。

警告

  • 権限の自動付与に頼らないようにしましょう。常に run_time_permissions イベントを使用しましょう。
  • スクリプトに PERMISSION_DEBIT の権限が不足していると、スクリプトはエラーを DEBUG_CHANNEL で叫び、操作に失敗します (しかしスクリプトは処理を続けます)。
  • PERMISSION_DEBIT がowner以外の人から許可され、関数が呼び出されると、 DEBUG_CHANNEL でエラーが叫ばれます。
  • いったん PERMISSION_DEBIT 権限が付与されると、スクリプトの中で (例えば、新しい llRequestPermissions 呼び出しなどにより) 権限をはく奪することができません。スクリプトはオブジェクトが derez (削除、取り外し、取り込み) されない限り権限が失われません。
  • オブジェクトからほかのオブジェクトへ払うことはできません。
  • グルーブに譲渡したオブジェクトは、お金を渡すことができません。(権限は付与されません)
  • 一度PERMISSION_DEBIT権限を持ったスクリプトは、アカウントのL$を空にできます。
    • 詐欺と窃盗はLinden Labの違反と罪の両方にあたります。
  • リージョン上で、各住民へ30秒間に30回の支払い上限が適用されます。上限を超えての継続はスクリプトエラーと、回数が過剰な間の支払い中止を起こします。履歴上、速すぎる支払いは断続的に失敗します。

サンプル

integer AMOUNT = 10;
integer STASH = 50;

update()
{
    if(STASH >= AMOUNT)
        llSetText("I have L$"+(string)STASH + " to give away!");
    else
        llSetText("I have no L$ to give away :(");
}

default
{
    state_entry()
    {
        llRequestPermissions(llGetOwner(), PERMISSION_DEBIT );  
    }

    run_time_permissions (integer perm)
    {
        if(perm & PERMISSION_DEBIT)
        {
            state ready;     
        }
    }
}

state ready
{
    state_entry()
    {
        update();
    }
    touch_start(integer num)
    {
        if(STASH >= AMOUNT)
        {
            llGiveMoney(llDetectedKey(0), AMOUNT);
            STASH -= AMOUNT;
            update();
        }
        else
        {
            llWhisper(0, "No more money to give away :(");
        }
    }
    money(integer m)
    {
        STASH += m;
        update();
    }
}

関連項目

イベント

•  run_time_permissions 権限取得イベント
•  money

関数

•  llGetPermissions 付与されている権限を取得します
•  llGetPermissionsKey 権限を許可したエージェントを取得します
•  llRequestPermissions 権限を要求します
•  llSetPayPrice

記事

•  権限/スクリプト

特記事項

Search JIRA for related Issues

Signature

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