If you’re a scripter wanting to add functionality to your vendors, you might find the following details on the limited API built into our vendors useful. Note that not all of these API functions are available on catalogue vendors.
Vendor Navigation
Linked Message Integer
Linked Message String
Linked Message Key
Left arrow Clicked
401
Right arrow Clicked
402
Side panel clicked
-8009000
(string) panel number
Key of the person clicking
Vendor Offline/Online
Linked Message Integer
Linked Message String
Linked Message Key
Vendor goes offline
6005001
"off^name of the vendor"
Vendor goes online
6005001
"on"
Data Fetched From Product Database
(e.g. when the main panel is loading up a product to show)
A linked message will be sent with integer value of 502 and the string value a list of items separated by ^. If you turn this to a list (e.g. list temp = llParseStringKeepNulls(message, ["^"], []);) you'll find the following data items held in the various values of the array
0
Product number (with 1 being the first in the collection loaded in the vendor etc.)
1
Product name
2
Product description
3
Inventory item your server would deliver if this is purchased
4
Server information
5
Server information
6
Server information
7
Name of the product information notecard on the server if there is one available
8
Server information
9
Server information
10
Server information
11
Key of the texture to be used to display this product
12
Price
13
Currency (L for Linden, U for US dollars)
14
Miscellaneous internal flags and data
15
Miscellaneous internal flags and data
16
Miscellaneous internal flags and data
Product Sale
Linked Message Integer
Linked Message String
Linked Message Key
-147900
A series of data items separated by ^ ...
Key of the payer + ^
Name of the payer + ^
Key of the friend if being bought as a gift + ^
Price paid in L$ + ^
Name of the product
Server Deliveries
There are two useful API function built into the server. When it makes a delivery, it will send a linked message like this one: