RandKey

From Second Life Wiki
Revision as of 14:32, 22 January 2015 by ObviousAltIsObvious Resident (talk | contribs) (<lsl> tag to <source>)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

User-Defined Function: key uRandKey();

Returns a random key.


Code:

  • LSO: 366 bytes
  • MONO: 1536 bytes
key uRandKey(){
    integer vIntHex;
    integer vIntChr = 32;
    string  vStrHex = "0123456789abcdef";
    do{
        vStrHex += llGetSubString( vStrHex, vIntHex = (integer)llFrand( 16.0 ), vIntHex );
    }while (--vIntChr);
    return
      (key)(llGetSubString( vStrHex, 0xFFFFFFE0, 0xFFFFFFE7 ) + //-- (-32, -25)
      "-" + llGetSubString( vStrHex, 0xFFFFFFE8, 0xFFFFFFEB ) + //-- (-24, -21)
      "-" + llGetSubString( vStrHex, 0xFFFFFFEC, 0xFFFFFFEF ) + //-- (-20, -17)
      "-" + llGetSubString( vStrHex, 0xFFFFFFF0, 0xFFFFFFF3 ) + //-- (-16, -13)
      "-" + llGetSubString( vStrHex, 0xFFFFFFF4, 0xFFFFFFFF )); //-- (-12, -1)
}
/*//--                       Anti-License Text                         --//*/
/*//     Contributed Freely to the Public Domain without limitation.     //*/
/*//   2009 (CC0) [ http://creativecommons.org/publicdomain/zero/1.0 ]   //*/
/*//  Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ]  //*/
/*//--                                                                 --//*/

Caveats

KBcaution.png Important: This function is of limited use since the addition of llGenerateKey. only use this if you absolutely need a completely random key, rather than a unique one.