LlSetPayPrice Test

From Second Life Wiki
Revision as of 11:07, 6 August 2008 by Dan Linden (talk | contribs)
Jump to navigation Jump to search

[LLSetPayPriceTest]

[VERSION] 0.1

[LENGTH] 00:10

[TESTERS] 1

[OVERVIEW] This test has been designed to exercise the LLSetPayPrice LSL function.

[SETUP] This test requires 1 Tester and rezzable land

[*]

[0010] Right-click on the ground and select "Create" from the pie menu and Rez a cube

[0020] In edit click the "more >>" button if neccesary and insert the following script

[SCRIPT] llSetPayPricetest

[0030] Close the edit window

[0040] Right-click on the cube and choose "Pay"

[0050] Verify the buttons are the default: quick pay of 1, 5, 10, 20 and "0" (or last payed value, possibly blank) is in the Amount field.

[0060] Click cancel

[0070] Left-click on the cube

[0080] Right-click on the cube and choose "Pay"

[0090] Verify the buttons are: quick pay of 10, 20, 30, 40 and "100" is in the Amount field.

[0100] Click cancel

[0110] Left-click on the cube

[0120] Right-click on the cube and choose "Pay"

[0130] Verify the buttons are: quick pay of 1, 5, 10, 20 and "100" (or last payed value) is in the Amount field.

[0140] Click cancel

[0150] Left-click on the cube

[0160] Right-click on the cube and choose "Pay"

[0170] Verify only 1 quick pay button shows ($10) and the Amount field is hidden.

[0180] Click cancel

[0190] Left-click on the cube

[0200] Right-click on the cube and choose "Pay"

[0210] Verify only the Amount field is visible and it has a value of 100

[0220] Click cancel

[0230] Right-click and edit the cube, go into the contents and delete the previous script and replace it with the following

[SCRIPT] llSetPayPriceclear

[0240] Close the edit window

[0250] Left-click on the cube

[0260] Right-click on the cube and choose "Pay"

[0270] Verify the buttons are the default: quick pay of 1, 5, 10, 20 and Pay: "0" (or last payed value, possibly blank) is in the Amount field.

[0280] Click cancel

[0290] Clean up your prims

[END]


[llSetPayPricetest]

// llSetPayPrice test
// Each line (5 parameters) of buttons are the paremeters to 1 llSetPayPrice call
list buttons = [100,10,20,30,40,
                PAY_DEFAULT,PAY_DEFAULT,PAY_DEFAULT,PAY_DEFAULT,PAY_DEFAULT,
                PAY_HIDE,10,PAY_HIDE,PAY_HIDE,PAY_HIDE,
                100,PAY_HIDE,PAY_HIDE,PAY_HIDE,PAY_HIDE];
integer i = 0;

default
{
    touch_start(integer num)
    {
        llSetPayPrice(llList2Integer(buttons,i),llList2List(buttons,i+1,i+4));
        i += 5;
        if (i> llGetListLength(buttons)) i = 0;
    }
    
    money(key id, integer amount)
    {
        llSay(0,"Recieved $" + (string)amount + " from " + llKey2Name(id));
    }
}


[llSetPayPriceclear]

// llSetPayPrice clear
default
{
    touch_start(integer num)
    {
        llSetPayPrice(PAY_DEFAULT,[]);
    }

    money(key id, integer amount)
    {
        llSay(0,"Recieved $" + (string)amount + " from " + llKey2Name(id));
    }
}