gguitar

Touch Texture Change Menu (owner only)

Nov 24th, 2019
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. list MENU1 = [];
  2. list MENU2 = [];
  3. integer listener;
  4. integer MENU_CHANNEL = 1000;
  5. Dialog(key id, list menu)
  6. {
  7. llListenRemove(listener);
  8. listener = llListen(MENU_CHANNEL, "", NULL_KEY, "");
  9. llDialog(id, "Select one Texture: ", menu, MENU_CHANNEL);
  10. }
  11. default
  12. {
  13. on_rez(integer num)
  14. {
  15. llResetScript();
  16. }
  17. touch_start(integer num_detected){
  18. if(llDetectedKey(0) != llGetOwner()) return;
  19. {
  20. integer i = 0;
  21. MENU1 = [];
  22. MENU2 = [];
  23. integer c = llGetInventoryNumber(INVENTORY_TEXTURE);
  24. if (c <= 12)
  25. {
  26. for (; i < c; ++i)
  27. MENU1 += llGetInventoryName(INVENTORY_TEXTURE, i);
  28. }
  29. else
  30. {
  31. for (; i < 11; ++i)
  32. MENU1 += llGetInventoryName(INVENTORY_TEXTURE, i);
  33. if(c > 22)
  34. c = 22;
  35. for (; i < c; ++i)
  36. MENU2 += llGetInventoryName(INVENTORY_TEXTURE, i);
  37. MENU1 += "►";
  38. MENU2 += "◄";
  39. }
  40. Dialog(llDetectedKey(0), MENU1);
  41. }
  42. }
  43. listen(integer channel, string name, key id, string message)
  44. {
  45. if (channel == MENU_CHANNEL)
  46. {
  47. llListenRemove(listener);
  48. if (message == "►")
  49. {
  50. Dialog(id, MENU2);
  51. }
  52. else if (message == "◄")
  53. {
  54. Dialog(id, MENU1);
  55. }
  56. else
  57. {
  58. // change side here
  59. llSetTexture(message, ALL_SIDES);
  60. }
  61. }
  62. }
  63. }
Add Comment
Please, Sign In to add comment