SHARE
TWEET

Untitled

a guest Feb 9th, 2019 141 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Hart Larsson - 2017
  2. //
  3. //--------------------Introduction------------------------------
  4. //
  5. // PXL SmartTexture HUD Configuration file
  6. //
  7. // Licencing
  8. // Please DO NOT distribuite an editable/viewable version of this script!
  9. // The concept and code are hereby released is not ON Public Domain
  10. // All the code is copyright of hart Larsson
  11. // Please dont modify, resell or reverse engineering.
  12.  
  13. //=================================================================
  14. //   Configuration editable Parameters for [PXL] ST_root_ HUD v3.3
  15. //=================================================================
  16.  
  17. // Write here your LICENSE CODE without spaces between = and ; (now is zero for default)
  18.  
  19. integer LicCode=21624659;
  20.  
  21. // Write the Product Name to control without spaces between "" (ONLY LETTERS and NUMBERS)
  22. // Name is case sensitive.
  23.  
  24. string ProductName="{FML}Ramen";
  25.  
  26. // (1|0 : ACTIVE | DEACTIVE) Enabling or disabling the Owner Startup message when attached
  27.  
  28. integer OwnerMessages=1;
  29.  
  30. // write between [ ] the list of the textures connected to all HUD buttons.
  31. // is possible for a single HUD button to send multiple texture change to differents prims
  32. //
  33. // The syntax:
  34. // button_name_List|name_of_the_destination_prims_to_retexture|UUID_key_of_the_texture_to_send|faces
  35. // Button_name_List can be a single name or a list of button separate by a minus sign "-" like: B1-B2-...-Bn
  36. // Name of destination prims can be single one or a list separated by minus sign "-" like: P1-P2-...-Pn
  37. // To specify all prims to retexture write ALL_PRIMS
  38. // for all faces retexturization please write ALL (optional)
  39. // for specify a list of face of a a prim use this syntax face1-face2-faceN where face1 and so on are numeric value from 0 to 5
  40. // all face numbers are separated by a minus sign "-"
  41. // remember that at the end of the all lines except the last texture line is needed a , char
  42.  
  43. list Textures = ["Black|{FML}Ramen|3ac3797a-7c5e-3c6c-5490-d8e31767cb82|3-2-0"              
  44.  
  45.                 ];
  46.  
  47.  
  48.  
  49. // the communication range is the distance between your HUD and your product/s
  50. //
  51. // Value    |   Range in Meters     |  common use
  52. //  0           10                      attachments
  53. //  1           20                      Rezzed products
  54. //  2           100                     Rezzed Products
  55. //  3           Region Whide            Sim Wide theme
  56. //
  57. // please read carefully the manual about the use
  58.  
  59. integer CommRange = 0;
  60.  
  61.  
  62.  
  63. //==============================================================
  64. //  END OF PARAMETERS, DO NOT TOUCH ANY OTHER LINES UNDER THIS
  65. //==============================================================
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153. //-------------------------------------------------
  154. StreamTextures(string ButtonName) {
  155.     integer len = llGetListLength( Textures );
  156.     string risultato ="";
  157.     integer c = 0;
  158.  
  159.     if ( len > 0 ) {
  160.  
  161.         integer i;
  162.         for( i = 0; i < len; i++ )
  163.         {            
  164.             list parsedrecord = llParseString2List(llList2String(Textures, i),["|"],[]);              
  165.             list ButtonID = llParseString2List(llList2String(parsedrecord,0) ,["-"],[]);  
  166.             string DestPrim = llList2String(parsedrecord,1);
  167.             string TextUUID = llList2String(parsedrecord,2);
  168.             string Faces = llList2String(parsedrecord,3);
  169.                                        
  170.             if(~llListFindList(ButtonID, (list)ButtonName))  
  171.             {
  172.                 risultato += DestPrim +"|"+
  173.                 TextUUID +"|"+Faces + ",";
  174.                 ++c;
  175.             }
  176.            
  177.             if (c >= 5 ) {
  178.                  risultato = llDeleteSubString(risultato,-1,-1);
  179.                  llMessageLinked(LINK_THIS,
  180.                                 2,
  181.                                 Encrypt("FOUNDTEXT#"+ risultato ),
  182.                                 (string)llGetOwner()
  183.                                 );            
  184.                 risultato = "";
  185.                 c=0;  
  186.             }
  187.         } // for
  188.  
  189.          if (risultato != "" ) {
  190.              risultato = llDeleteSubString(risultato,-1,-1);
  191.              llMessageLinked(LINK_THIS,
  192.                             2,
  193.                             Encrypt("FOUNDTEXT#"+ risultato ),
  194.                             (string)llGetOwner()
  195.                             );    
  196.         }  
  197.     } // len=0
  198. }
  199.  
  200. //------------------------------------------------
  201. // Encrypt/DeCrypt
  202. //------------------------------------------------
  203. string cryptokey = "";
  204. //------------------------------------------------
  205.  
  206. string Encrypt(string s1){
  207.     return llXorBase64StringsCorrect(llStringToBase64(s1), llStringToBase64(cryptokey));
  208. }
  209.  
  210. string Decrypt(string s1){
  211.     return llBase64ToString( llXorBase64StringsCorrect(s1, llStringToBase64(cryptokey)) );
  212. }
  213.  
  214.  
  215.  
  216. default
  217. {
  218.     //------------------- REZZING -----------------------
  219.  
  220.     on_rez(integer param)
  221.     {
  222.         llResetScript();
  223.     }
  224.  
  225.  
  226.     //------------------- ENTRY -----------------------
  227.  
  228.     state_entry() {
  229.        
  230.          cryptokey = (string)LicCode+ProductName;
  231.          if (OwnerMessages) llOwnerSay("SmartTexture Config, Free Memory: "+(string)llGetFreeMemory()+"KiB");
  232.  
  233.     }
  234.  
  235.     //------------------- LINKED -----------------------
  236.  
  237.  
  238.  
  239.     link_message(integer sender_number, integer number, string message, key id)
  240.     {
  241.  
  242.         if (id == llGetOwner() && number == 1) {
  243.  
  244.             list lstMessageParsed = llParseString2List(message,["#"],[]);
  245.  
  246.            
  247.             //-------------- send Config to HUD core
  248.            
  249.             if(llList2String(lstMessageParsed,0) == "LOAD")
  250.                 {
  251.                 llMessageLinked(LINK_THIS,
  252.                                 1,
  253.                                 "CONFIG#"+
  254.                                 (string)LicCode+"#"+
  255.                                 ProductName+"#"+
  256.                                 (string)OwnerMessages+"#"+
  257.                                 (string)CommRange,  
  258.                                 (string)llGetOwner()
  259.                                 );
  260.                 }
  261.            
  262.             if(llList2String(lstMessageParsed,0) == "SEARCHTEXT")
  263.             {
  264.                 StreamTextures( llList2String(lstMessageParsed,1) );
  265.             }
  266.                      
  267.         }  // id=1                            
  268.     } // linked end
  269.    
  270.    
  271. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top