// THE DESERT RATS Stage Backdrop Media Prim // Put this in a prim you own. Touch the prim to load the looping stage page as Shared Media. // If the video appears on the wrong side of the prim, change MEDIA_FACE below. integer MEDIA_FACE = 0; string VIDEO_PAGE_URL = "https://cavemans.us/assets/videos/desert-rats-stage.html"; string VIDEO_MP4_URL = "https://cavemans.us/assets/videos/secondlife/THE_DESERT_RATS_14_IMAGE_STAGE_BACKDROP_SILENT.mp4"; integer MENU_CHANNEL; integer LISTEN_HANDLE; key OWNER; showMenu(key toucher) { MENU_CHANNEL = -1 - (integer)llFrand(1000000.0); if (LISTEN_HANDLE) llListenRemove(LISTEN_HANDLE); LISTEN_HANDLE = llListen(MENU_CHANNEL, "", toucher, ""); llDialog(toucher, "THE DESERT RATS Stage Backdrop", ["LOAD PAGE", "LOAD MP4", "STOP", "OWNER SAY"], MENU_CHANNEL); } loadMedia(string url) { llSetPrimMediaParams(MEDIA_FACE, [ PRIM_MEDIA_CURRENT_URL, url, PRIM_MEDIA_HOME_URL, url, PRIM_MEDIA_AUTO_PLAY, TRUE, PRIM_MEDIA_CONTROLS, PRIM_MEDIA_CONTROLS_STANDARD, PRIM_MEDIA_PERMS_INTERACT, PRIM_MEDIA_PERM_ANYONE, PRIM_MEDIA_PERMS_CONTROL, PRIM_MEDIA_PERM_OWNER, PRIM_MEDIA_WIDTH_PIXELS, 1280, PRIM_MEDIA_HEIGHT_PIXELS, 720 ]); } default { state_entry() { OWNER = llGetOwner(); } touch_start(integer total_number) { key toucher = llDetectedKey(0); if (toucher == OWNER) { showMenu(toucher); } else { llInstantMessage(toucher, "This Desert Rats video screen is owner controlled."); } } listen(integer channel, string name, key id, string message) { if (LISTEN_HANDLE) { llListenRemove(LISTEN_HANDLE); LISTEN_HANDLE = 0; } if (message == "LOAD PAGE") { loadMedia(VIDEO_PAGE_URL); } else if (message == "LOAD MP4") { loadMedia(VIDEO_MP4_URL); } else if (message == "STOP") { llClearPrimMedia(MEDIA_FACE); } else if (message == "OWNER SAY") { llOwnerSay("Second Life page: " + VIDEO_PAGE_URL); llOwnerSay("Direct MP4: " + VIDEO_MP4_URL); } } }