De DigiWiki.
default
{
touch_start(integer num_detected)
{
// avatar touching
key avatarKey = llDetectedKey(0);
string avatarName = llKey2Name(avatarKey);
// key of the owner
key owner = llGetOwner();
// generated random key
key random = llGenerateKey();
// number of objects inside the same prim
integer numberOfObjects = llGetInventoryNumber(INVENTORY_OBJECT);
if (numberOfObjects)
{
// name of first object sorted by name inside the prim's inventory
string itemName = llGetInventoryName(INVENTORY_OBJECT, 0);
llGiveInventory(avatarKey, itemName);
llInstantMessage(avatarKey, "Your transaction key is '" + (string)random + "'.");
llInstantMessage(owner, "Transaction record:\n"
+ "receiver: " + avatarName + " (" + (string)avatarKey + ")\n"
+ "item: " + itemName + "\n"
+ "transaction key: " + (string)random);
}
else
{
// PUBLIC_CHANNEL has the integer value 0
llSay(PUBLIC_CHANNEL, "No items to give away, sorry!");
}
}
}