Difference between revisions of "LlSetPayPrice/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Undo revision 850742 by Mako Nozaki (Talk))
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{LSL_Function/warning/ja|セキュリティ|常に (''常に!'') あなたの[[money/ja|money]]()イベントで支払われる額を確認しましょう. このUI要素はモーダレスで、過去に脆弱性のバグを持っています。
{{Issues/VWR-3048}}{{Issues/VWR-8744}}{{LSL_Function/warning/ja|セキュリティ|常に (''常に!'') {{LSLG/ja|money}}() イベントで支払われた額を確認しましょう。この UI 要素はモーダルではなく、過去に脆弱性のバグがありました。この関数だけで支払い手段を制限しようとしないようにしましょう。クライアントソフトウェアが安全であると''絶対に'' 信用しないようにしましょう。常に支払われた額が期待していた額と一致しているか確認しましょう。}}
支払いのための制約手段だけのために、この関数を使用しないでください。クライアントソフトウェアがセキュアであることは''一度も''信用されていません。常に支払い額が予期された値であると、正当性を確認しましょう。}}
{{LSL_Function/ja
{{LSL_Function/ja
|func_id=302|func_sleep=0.0|func_energy=10.0
|func_id=302|func_sleep=0.0|func_energy=10.0
|func=llSetPayPrice|sort=SetPayPrice
|func=llSetPayPrice|sort=SetPayPrice
|p1_type=integer|p1_name=price|p1_desc=PAY_* 定数あるいは正数
|p1_type=integer|p1_name=price|p1_desc=PAY_* 定数または正の数
|p2_type=list|p2_name=quick_pay_buttons|p2_desc=Four PAY_* 定数と(あるいは)複数の正数の値
|p2_type=list|p2_name=quick_pay_buttons|p2_desc=4 つの PAY_* 定数や整数値
|func_desc=支払いのテキストフィールドの初期額と、なんらかのこのオブジェクトのPayが選択されたときに表示するダイアログの支払いボタンを設定します。
|func_desc=このオブジェクトで支払いが選択されたときに表示されるダイアログの、デフォルトの支払額テキストと支払いボタンを設定します。
|func_footnote=この関数は[[money/ja|money]]イベントを実行しなかったステートから呼び出された場合は効果ありません。
|caveats=*この関数でオブジェクトに支払うことのできる金額を制限できるものだと思わないようにしましょう。 ''常に'' 支払われた額が期待していた額と一致しているか確認しましょう。
|caveats=*この関数はオブジェクトに支払い可能な金額の限界が保証されるものではないでしょう。
*{{LSLG/ja|money}} イベントを実装していない場合、この関数を呼び出しても何も起こりません。
|examples=これは'''price'''フィールドを除いて、150の値のボタン一つのみのダイアログボックスをユーザに与えるでしょう。
|examples='''price''' フィールドばなく、 150 というボタンを 1 個だけあるユーザダイアログを表示します。
<lsl>llSetPayPrice(PAY_HIDE, [150,PAY_HIDE,PAY_HIDE,PAY_HIDE])</lsl>
<source lang="lsl2">llSetPayPrice(PAY_HIDE, [150,PAY_HIDE,PAY_HIDE,PAY_HIDE])</source>


<lsl>integer price = 10;
<source lang="lsl2">integer price = 10;


default
default
Line 43: Line 42:
         else
         else
         {
         {
             //insert your give code here.
             //ここにものを配達するコードを入れましょう
             llInstantMessage(id, "You paid the right price");
             llInstantMessage(id, "You paid the right price");
         }
         }
     }
     }
}</lsl>
}</source>
|spec
|spec
|constants=
|constants=
Line 55: Line 54:
{{!}}-{{Hl2}}
{{!}}-{{Hl2}}
! colspan="2" {{!}} 定数
! colspan="2" {{!}} 定数
! {{HoverText|Alt|Alternate}}
! {{HoverText||代わりに指定できるもの}}
! 解説
! 解説
{{!}}-
{{!}}-
{{!}} [[PAY_HIDE]]
{{!}} {{LSLG/ja|PAY_HIDE}}
{{!}} -1
{{!}} -1
{{!}} <center>0</center>
{{!}} <center>0</center>
{{!}} 簡易支払いボタンを隠します。
{{!}} 簡易支払いボタンを隠します。
{{!}}-
{{!}}-
{{!}} [[PAY_DEFAULT]]
{{!}} {{LSLG/ja|PAY_DEFAULT}}
{{!}} -2
{{!}} -2
{{!}}  
{{!}}  
Line 92: Line 91:
{{!}}}
{{!}}}
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llGiveMoney/ja|llGiveMoney]]|}}
|also_functions={{LSL DefineRow||{{LSLG/ja|llGiveMoney}}|}}
|also_tests
|also_tests
|also_events={{LSL DefineRow||[[money/ja|money]]|}}
|also_events={{LSL DefineRow||{{LSLG/ja|money}}|}}
|also_articles
|also_articles
|notes
|notes
Line 101: Line 100:
|cat3=Dialog
|cat3=Dialog
|cat4
|cat4
|issues=
|issues
{{Bug|VWR-3048|[[llSetPayPrice/ja|llSetPayPrice]]が子プリム上では動きません - {{User|Marcoh Larsen}}}}
}}
}}

Latest revision as of 04:14, 25 February 2016

Emblem-important-red.png 警告 セキュリティ

常に (常に!) money() イベントで支払われた額を確認しましょう。この UI 要素はモーダルではなく、過去に脆弱性のバグがありました。この関数だけで支払い手段を制限しようとしないようにしましょう。クライアントソフトウェアが安全であると絶対に 信用しないようにしましょう。常に支払われた額が期待していた額と一致しているか確認しましょう。

要約

関数: llSetPayPrice( integer price, list quick_pay_buttons );

このオブジェクトで支払いが選択されたときに表示されるダイアログの、デフォルトの支払額テキストと支払いボタンを設定します。

• integer price PAY_* 定数または正の数
• list quick_pay_buttons 4 つの PAY_* 定数や整数値

定数 解説
PAY_HIDE -1
0
簡易支払いボタンを隠します。
PAY_DEFAULT -2 簡易支払いボタンに初期値を使用します。
ボタンの並び
1
2
3
4
初期値
$1 $5
$10 $20

警告

  • この関数でオブジェクトに支払うことのできる金額を制限できるものだと思わないようにしましょう。 常に 支払われた額が期待していた額と一致しているか確認しましょう。
  • money イベントを実装していない場合、この関数を呼び出しても何も起こりません。

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   llSetPayPrice doesn't work on Child Prims, default box used instead.

サンプル

price フィールドばなく、 150 というボタンを 1 個だけあるユーザダイアログを表示します。

llSetPayPrice(PAY_HIDE, [150,PAY_HIDE,PAY_HIDE,PAY_HIDE])
integer price = 10;

default
{
    state_entry()
    {
        llSetPayPrice(PAY_HIDE, [PAY_HIDE ,PAY_HIDE, PAY_HIDE, PAY_HIDE]);
        llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);
    }
    run_time_permissions(integer perm)
    {
        if(perm & PERMISSION_DEBIT)
            state cash;
    }
}

state cash
{
    state_entry()
    {
        llSetPayPrice(price, [price ,PAY_HIDE, PAY_HIDE, PAY_HIDE]);
    }
    money(key id, integer amount)
    {
        if(amount != price)
        {
            llGiveMoney(id, amount);
            llInstantMessage(id, "You paid "+(string)amount+", which is the wrong price, the price is: "+(string)price);
        }
        else
        {
            //ここにものを配達するコードを入れましょう
            llInstantMessage(id, "You paid the right price");
        }
    }
}

関連項目

イベント

•  money

関数

•  llGiveMoney

特記事項

All Issues

~ Search JIRA for related Issues
   llSetPayPrice doesn't work on Child Prims, default box used instead.
   llSetPayPrice causes "When Left Clicked: Pay Object" to break

Signature

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