Difference between revisions of "LlGiveMoney/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Undo revision 849192 by Mako Nozaki (Talk))
Line 1: Line 1:
{{LSL_Function/permission/ja|PERMISSION_DEBIT|grant=owner}}{{LSL_Function/ja
{{LSL_Function/permission/ja|PERMISSION_DEBIT|grant=owner}}{{LSL Function/avatar/ja|destination}}{{LSL_Function/ja
|func_id=99|func_sleep=0.0|func_energy=10.0
|func_id=99|func_sleep=0.0|func_energy=10.0
|func=llGiveMoney|sort=GiveMoney
|func=llGiveMoney|sort=GiveMoney
|return_type=integer|return_text=常に{{HoverText|0|0}}
|return_type=integer|return_text=常に {{HoverText|0|ゼロ}}
|p1_type=key|p1_name=destination|p1_desc=アバターkey.
|p1_type=key|p1_name=destination
|p2_type=integer|p2_name=amount|p2_desc=number of L$の数は0より多くすべきです。('''amount''' > 0)
|p2_type=integer|p2_name=amount|p2_desc=L$ の額, ゼロより大きくないといけない ('''amount''' > 0)
|func_desc=スクリプトのオーナから'''destination'''のアバターへと'''amount'''L$のお金を譲渡します。
|func_desc='''amount''' L$ のお金をスクリプトのオーナーから '''destination''' のアバターへ転送します。
|spec
|spec
|caveats=*オブジェクトからほかのオブジェクトへ払うことはできません。
|caveats=*オブジェクトからほかのオブジェクトへ払うことはできません。
*グルーブに譲渡したオブジェクトは、お金を渡すことができません。(権限は付与されません)
*この関数がお金をあげるのに成功したか失敗したかをスクリプトが伝えることはできません。
*一度PERMISSION_DEBIT権限を持ったスクリプトは、アカウントのL$を空にできます。
*グルーブに譲渡したオブジェクトは、お金を渡すことができません (権限は付与されません) 。
**詐欺と窃盗は{{LL|TOS}}の違反と罪の両方にあたります。
*地域でその住人が所有しているスクリプト全体で、30 秒間に 30 回の支払制限があります。支払いが度を過ぎるとスクリプトエラーを発生させ、過剰レートが収まるまでは支払いを中断します。以前は、ペースの速い支払いは飛び飛びに失敗していました。
*リージョン上で、各住民へ30秒間に30回の支払い上限が適用されます。上限を超えての継続はスクリプトエラーと、回数が過剰な間の支払い中止を起こします。履歴上、速すぎる支払いは断続的に失敗します。
*一度 {{LSLG/ja|PERMISSION_DEBIT}} 権限を持ったスクリプトは、アカウントの L$ を空にできます。
|examples=<lsl>
**詐欺と窃盗は{{LL|TOS}}の違反と犯罪の両方にあたります。この関数を悪用すると、BAN されたり、法的措置がとられたりするリスクを冒すこととなります。さらに、LL はお金が振り込まれたアカウントを差し止め、正当な持ち主にお金を返すこともあります。関係のない取引によるものも差し戻しされ、取引にかかわったアカウントが差し止められることもあります。このシステムは詐欺師に親切なようにはできていません。
integer AMOUNT = 10;
|examples=<lsl>//シンプルなブタの貯金箱です。だれでも支払え、だれでもクリックしてお金を引き出すことができます。
integer STASH = 50;
 
integer AMOUNT = 10; //クリックされるたびに支払うお金の金額
integer STASH = 50;   //スクリプトのデフォルトの支払い残高


update()
update()
Line 64: Line 66:
         update();
         update();
     }
     }
}
}</lsl>
</lsl>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llSetPayPrice/ja|llSetPayPrice]]}}
|also_functions={{LSL DefineRow||{{LSLG/ja|llSetPayPrice}}}}
|also_events={{LSL DefineRow||[[money/ja|money]]|}}
|also_events={{LSL DefineRow||{{LSLG/ja|money}}|}}
|also_tests
|also_tests
|also_articles
|also_articles

Revision as of 16:20, 4 May 2010

要約

関数: integer llGiveMoney( key destination, integer amount );

amount L$ のお金をスクリプトのオーナーから destination のアバターへ転送します。
常に 0を integer で返します。

• key destination アバターの UUID
• integer amount L$ の額, ゼロより大きくないといけない (amount > 0)

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

警告

  • 権限の自動付与に頼らないようにしましょう。常に run_time_permissions イベントを使用しましょう。
  • スクリプトに PERMISSION_DEBIT の権限が不足していると、スクリプトはエラーを DEBUG_CHANNEL で叫び、操作に失敗します (しかしスクリプトは処理を続けます)。
  • PERMISSION_DEBIT がowner以外の人から許可され、関数が呼び出されると、 DEBUG_CHANNEL でエラーが叫ばれます。
  • いったん PERMISSION_DEBIT 権限が付与されると、スクリプトの中で (例えば、新しい llRequestPermissions 呼び出しなどにより) 権限をはく奪することができません。スクリプトはオブジェクトが derez (削除、取り外し、取り込み) されない限り権限が失われません。
  • オブジェクトからほかのオブジェクトへ払うことはできません。
  • この関数がお金をあげるのに成功したか失敗したかをスクリプトが伝えることはできません。
  • グルーブに譲渡したオブジェクトは、お金を渡すことができません (権限は付与されません) 。
  • 地域でその住人が所有しているスクリプト全体で、30 秒間に 30 回の支払制限があります。支払いが度を過ぎるとスクリプトエラーを発生させ、過剰レートが収まるまでは支払いを中断します。以前は、ペースの速い支払いは飛び飛びに失敗していました。
  • 一度 PERMISSION_DEBIT 権限を持ったスクリプトは、アカウントの L$ を空にできます。
    • 詐欺と窃盗はLinden Labの違反と犯罪の両方にあたります。この関数を悪用すると、BAN されたり、法的措置がとられたりするリスクを冒すこととなります。さらに、LL はお金が振り込まれたアカウントを差し止め、正当な持ち主にお金を返すこともあります。関係のない取引によるものも差し戻しされ、取引にかかわったアカウントが差し止められることもあります。このシステムは詐欺師に親切なようにはできていません。

サンプル

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