llGenerateKey

From Second Life Wiki
Revision as of 10:17, 5 October 2012 by Kireji Haiku (talk | contribs) (added example)
Jump to navigation Jump to search

Summary

Function: key llGenerateKey( );

Generates a key using Version 5 (SHA-1 hash) UUID generation to create a unique key.
Returns the key generated.

Caveats

  • The specific UUID version is an implementation detail that has changed in the past and may change again in the future. Do not depend upon the UUID that is returned to be Version 5.
  • As the UUID produced is versioned, it should never return a value of NULL_KEY.

Examples

<lsl> 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!");
       }
   }

}

</lsl>

Deep Notes

History

Signature

function key llGenerateKey();