Advertisement
Guest User

Untitled

a guest
Mar 29th, 2015
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. // ************************
  2. // Script for WALL/DOOR, whatever.
  3. // ************************
  4.  
  5. integer LineHasParam(string sParamName, string sData) // TRUE or FALSE.
  6. {
  7. if (llSubStringIndex(llToLower(llStringTrim(sData, STRING_TRIM)), llToLower(sParamName)) == 0) return TRUE; // Found at start of line.
  8. return FALSE; // Didn't find or it wasn't at start of line.
  9. }
  10.  
  11. string Line2String(string sData)
  12. {
  13. integer i = llSubStringIndex(llToLower(sData), "=");
  14. if (i < 0) return "";
  15. return llStringTrim(llGetSubString(sData, i + 1, -1), STRING_TRIM);
  16. }
  17.  
  18.  
  19. default
  20. {
  21. on_rez(integer iStartParam)
  22. {
  23. llResetScript();
  24. }
  25. state_entry()
  26. {
  27. llListen(9878901, "", "", "");
  28. }
  29. listen(integer iChannel, string sSenderPrimOrAviLegacyName, key kSenderKey, string sMsg)
  30. {
  31. if (iChannel == 9878901)
  32. {
  33. // The message should be something like: llSay(0, "NewTexture=" + (string)SomeTextureKey);
  34. if (LineHasParam("ChangeTexture", sMsg))
  35. {
  36. key kTex = (key)Line2String(sMsg);
  37. if (kTex) llSetTexture(kTex, ALL_SIDES);
  38. }
  39. }
  40. }
  41. }
  42.  
  43.  
  44.  
  45.  
  46. // ************************
  47. // Script for HUD or controller.
  48. // ************************
  49.  
  50. list glTextures; // = ["4ffc5a28-4a4c-8565-147e-e29ba24c1c84",
  51. // "376dc963-e04d-72c2-5a43-458144e34db1",
  52. // "89fe353e-a41e-1a6d-4091-91338c068f37"];
  53.  
  54. list glTexNames; // = ["Window",
  55. // "Touch Msg",
  56. // "Bear"];
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63. default
  64. {
  65. on_rez(integer iStartParam)
  66. {
  67. llResetScript();
  68. }
  69. state_entry()
  70. {
  71. llListen(9878901, "", "", "");
  72. }
  73. touch_start(integer iNumDetected)
  74. {
  75. integer i;
  76. glTextures = [];
  77. glTexNames = [];
  78. for (i = llGetInventoryNumber(INVENTORY_TEXTURE) - 1; i >=0; i--)
  79. {
  80. glTexNames += llGetInventoryName(INVENTORY_TEXTURE, i);
  81. glTextures += llGetInventoryKey(llGetInventoryName(INVENTORY_TEXTURE, i));
  82. }
  83. llDialog(llDetectedKey(0), "\nPick a texture for doing stuff with.", glTexNames, 9878901);
  84. }
  85. listen(integer iChannel, string sSenderPrimOrAviLegacyName, key kSenderKey, string sMsg)
  86. {
  87. if (iChannel == 9878901)
  88. {
  89. integer i = llListFindList(glTexNames, [sMsg]);
  90. if (i != -1)
  91. {
  92. llSay(9878901, "NewTexture=" + llList2String(glTextures, i));
  93. }
  94. }
  95. }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement