LlGiveMoney/ja

From Second Life Wiki
< LlGiveMoney
Revision as of 18:43, 19 September 2008 by Adicted Waco (talk | contribs)
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回の支払い上限が適用されます。上限を超えての継続はスクリプトエラーと、回数が過剰な間の支払い中止を起こします。履歴上、速すぎる支払いは断続的に失敗します。

サンプル

<lsl> integer AMOUNT = 10; integer STASH = 50;

update() {

   if(STASH >= AMOUNT)
       llSetText("I have L$"+(string)STASH + " to give away!", <1,1,1>, 1);
   else
       llSetText("I have no L$ to give away :(", <1,1,1>, 1);

}

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(key id, integer m)
   {
       STASH += m;
       update();
   }

}

</lsl>

関連項目

イベント

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

関数

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

記事

•  権限/スクリプト

特記事項

Search JIRA for related Issues

Signature

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