llSetPayPrice
Revision as of 14:11, 11 May 2010 by Strife Onizuka (talk | contribs)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
![]() |
Security Warning! |
Always (ALWAYS!) check the amount paid in your money() event. This UI element isn't modal, and has had bugs exploited in the past. Do not use this function as the only limiting method for payment. Never trust the client software to be secure. Always validate the value paid is a value expected. |
Summary
Function: llSetPayPrice( integer price, list quick_pay_buttons );0.0 | Forced Delay |
10.0 | Energy |
Sets the default amount for the pay text field and pay buttons of the appearing dialog when someone chooses to pay this prim.
• integer | price | – | PAY_* constant or positive value | |
• list | quick_pay_buttons | – | Four PAY_* constants and/or positive integer values |
|
|
|
Caveats
Examples
This will give the user a dialog box without the price field and only one button with a value of 150. <lsl>llSetPayPrice(PAY_HIDE, [150,PAY_HIDE,PAY_HIDE,PAY_HIDE])</lsl>
<lsl>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 { //insert your give code here. llInstantMessage(id, "You paid the right price"); } }}</lsl>