LlGiveMoney/ja
< LlGiveMoney
Jump to navigation
Jump to search
Revision as of 05:56, 25 February 2016 by SakuraNoel Fayray (talk | contribs)
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: integer llGiveMoney( key destination, integer amount );
amount L$ のお金をスクリプトのオーナーから destination のアバターへ転送します。
常に 0 を integer で返します。
• key | destination | – | アバターの UUID | |
• integer | amount | – | L$ の額, ゼロより大きくないといけない (amount > 0) |
実行するには、llRequestPermissions による PERMISSION_DEBIT 権限がオーナーから与えられなければなりません。
警告
- 権限の自動付与に頼らないようにしましょう。常に run_time_permissions イベントを使用しましょう。
- スクリプトに PERMISSION_DEBIT の権限が不足していると、スクリプトはエラーを DEBUG_CHANNEL で叫び、操作に失敗します (しかしスクリプトは処理を続けます)。
- PERMISSION_DEBIT がオーナー以外の人から許可され、関数が呼び出されると、 DEBUG_CHANNEL でエラーが叫ばれます。
- いったん PERMISSION_DEBIT 権限が付与されると、スクリプトの中で (例えば、新しい llRequestPermissions 呼び出しなどにより) 権限をはく奪することができません。スクリプトはオブジェクトが derez (削除、取り外し、取り込み) されない限り権限が失われません。
- オブジェクトからほかのオブジェクトへ払うことはできません。
- この関数がお金をあげるのに成功したか失敗したかをスクリプトが伝えることはできません。
- グルーブに譲渡したオブジェクトは、お金を渡すことができません (権限は付与されません) 。
- 地域でその住人が所有しているスクリプト全体で、30 秒間に 30 回の支払制限があります。支払いが度を過ぎるとスクリプトエラーを発生させ、過剰レートが収まるまでは支払いを中断します。以前は、ペースの速い支払いは飛び飛びに失敗していました。
- 一度 PERMISSION_DEBIT 権限を持ったスクリプトは、アカウントの L$ を空にできます。
- 詐欺と窃盗はLinden Labの違反と犯罪の両方にあたります。この関数を悪用すると、BAN されたり、法的措置がとられたりするリスクを冒すこととなります。さらに、LL はお金が振り込まれたアカウントを差し止め、正当な持ち主にお金を返すこともあります。関係のない取引によるものも差し戻しされ、取引にかかわったアカウントが差し止められることもあります。このシステムは詐欺師に親切なようにはできていません。
サンプル
//シンプルなブタの貯金箱です。だれでも支払え、だれでもクリックしてお金を引き出すことができます。
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();
}
}
関連項目
イベント
• | run_time_permissions | – | 権限取得イベント | |
• | money |
関数
• | llGetPermissions | – | 付与されている権限を取得します | |
• | llGetPermissionsKey | – | 権限を許可したエージェントを取得します | |
• | llRequestPermissions | – | 権限を要求します | |
• | llSetPayPrice |
記事
• | 権限/スクリプト |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。