You will need at least 3 prims for this project This script goes in the root prim:
integer price = 5; // price
float time = 0; // Enter a value if you want to auto scroll
string vendorname;
integer total;
integer counter;
integer change;
next()
{
total=llGetInventoryNumber(INVENTORY_TEXTURE);
vendorname = llGetObjectName();
counter++;
if(counter>=total)
{
counter=0;
}
llSetTexture(llGetInventoryName(INVENTORY_TEXTURE, counter),ALL_SIDES);
if (price > 0)
{
llSetText(vendorname + "\n" + llGetInventoryName(INVENTORY_TEXTURE, counter) + "\n L$" + (string)price + "\n", <1 ,1,1>, 1);
}
else
{
llSetText(vendorname + "\n" + llGetInventoryName(INVENTORY_TEXTURE, counter) + "\n Touch to recieve \n", 1><1 ,1,1>, 1);
}
llTriggerSound("Pressed", 1);
}
prev()
{
total=llGetInventoryNumber(INVENTORY_TEXTURE);
vendorname = llGetObjectName();
if (counter > 0)
{
counter--;
}
else
{
counter=total - 1;
}
llSetTexture(llGetInventoryName(INVENTORY_TEXTURE, counter),ALL_SIDES);
if (price > 0)
{
llSetText(vendorname + "\n" + llGetInventoryName(INVENTORY_TEXTURE, counter) + "\n L$" + (string)price + "\n", 1><1 ,1,1>, 1);
}
else
{
llSetText(vendorname + "\n" + llGetInventoryName(INVENTORY_TEXTURE, counter) + "\n Touch to recieve \n", 1><1 ,1,1>, 1);
}
llTriggerSound("Pressed", 1);
}
default
{
state_entry()
{
llRequestPermissions(llGetOwner(),PERMISSION_DEBIT );
next();
llSetTimerEvent(time);
}
touch_start(integer total_number)
{
if ( llGetLinkName(llDetectedLinkNumber(0)) == "next" )
{
next();
}
else if ( llGetLinkName(llDetectedLinkNumber(0)) == "prev" )
{
prev();
}
else
{
if (price > 0)
{
llWhisper(0, "Pay L$" + (string)price + " to buy");
}
else
{
llGiveInventory(llDetectedKey(0), llGetInventoryName(INVENTORY_TEXTURE, counter));
}
}
}
timer()
{
next();
}
money(key giver, integer amount)
{
if (amount price)
{
change = amount - price;
llSay(0, "Overpaid. vending item and giving L$" + (string)change + " change");
llGiveMoney(giver, change);
llGiveInventory(giver, llGetInventoryName(INVENTORY_TEXTURE, counter));
llInstantMessage(llGetOwner(), llKey2Name(giver) + " bought " + llGetInventoryName(INVENTORY_TEXTURE, counter) + " for L$" + (string)price);
}
else if (amount == price)
{
llGiveInventory(giver, llGetInventoryName(INVENTORY_TEXTURE, counter));
llInstantMessage(llGetOwner(), llKey2Name(giver) + " bought " + llGetInventoryName(INVENTORY_TEXTURE, counter) + " for L$" + (string)price);
}
}
on_rez(integer start_param)
{
llResetScript();
}
}>1>
name your back button 'prev' your forward button 'next' and link them to your root prim. drop your inventory and images in and your ready to go!