mrevan

tv script erro save

Nov 5th, 2016
659
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. integer channel_dialog;
  2. list buttons = ["Off"];
  3. key ToucherID;
  4. string message;
  5. integer listenID;
  6. string category;
  7.  
  8. get_categories()
  9. {
  10.     integer n = 0;
  11.     while (llGetInventoryName(INVENTORY_NOTECARD,n) != "")
  12.     {
  13.         buttons = buttons + llGetInventoryName(INVENTORY_NOTECARD,n);
  14.         ++n;
  15.     }
  16. }
  17.  
  18. get_videoList(string category)
  19. {
  20.     integer NumLines = osGetNumberOfNotecardLines(category);
  21.     integer n;
  22.     for(n=0;n<NumLines;n=n+2)
  23.     {
  24.         string NoteCardLine = osGetNotecardLine(category,n);
  25.         if (NoteCardLine != "")
  26.         {
  27.             buttons = buttons + NoteCardLine;
  28.         }
  29.     }
  30. }
  31.  
  32. play_video(string vid_url)
  33. {
  34.     llSetPrimMediaParams(2,
  35.         [
  36.             PRIM_MEDIA_ALT_IMAGE_ENABLE, 1,
  37.             PRIM_MEDIA_CURRENT_URL, vid_url,
  38.             PRIM_MEDIA_AUTO_LOOP, 1,
  39.             PRIM_MEDIA_AUTO_PLAY, 1,
  40.             PRIM_MEDIA_AUTO_SCALE, 1,
  41.             PRIM_MEDIA_PERMS_CONTROL, PRIM_MEDIA_PERM_NONE
  42.         ]);
  43. }
  44.  
  45. string get_video(string title)
  46. {
  47.     integer NumLines = osGetNumberOfNotecardLines(category);
  48.     integer n;
  49.     for(n=0;n<NumLines;++n)
  50.     {
  51.         string NoteCardLine = osGetNotecardLine(category,n);
  52.         if (NoteCardLine == title)
  53.         {
  54.             NoteCardLine = osGetNotecardLine(category,n+1);
  55.             return NoteCardLine;
  56.         }
  57.     }
  58.     return "";
  59. }
  60.  
  61. default
  62. {
  63.     state_entry()
  64.         {
  65.         llClearPrimMedia(2);
  66.         channel_dialog = -1 - (integer)("0x" + llGetSubString( (string)llGetKey(), -7, -1) );
  67.         state main_menu;
  68.         }
  69. }
  70.  
  71. state main_menu
  72. {
  73.     state_entry()
  74.     {
  75.         buttons = ["Off"];
  76.         message = "\nChoose a category.";
  77.         get_categories();
  78.     }
  79.          
  80.         touch_start(integer num_detected)
  81.         {
  82.             ToucherID = llDetectedKey(0);
  83.             llDialog(ToucherID, message, buttons, channel_dialog);
  84.             listenID = llListen(channel_dialog, "", ToucherID, "");
  85.         }
  86.  
  87.         listen(integer channel, string name, key id, string message)
  88.         {
  89.             if (message == "Off")
  90.             {
  91.                 state default;
  92.             }
  93.             else
  94.             {
  95.                 category = message;
  96.                 state sub_menu;
  97.             }
  98.         }
  99. }
  100.  
  101. state sub_menu
  102. {
  103.     state_entry()
  104.     {
  105.         buttons = ["Off"];
  106.         message = "\nChoose a video.";
  107.         get_videoList(category);
  108.         llDialog(ToucherID, message, buttons, channel_dialog);
  109.         listenID = llListen(channel_dialog, "", ToucherID, "");
  110.     }
  111.  
  112.     listen(integer channel, string name, key id, string message)
  113.     {
  114.         if (message == "Off")
  115.         {
  116.             state default;
  117.         }
  118.         else
  119.         {
  120.             play_video(get_video(message));
  121.         }
  122.         state main_menu;
  123.     }
  124. }
Add Comment
Please, Sign In to add comment