-- NO MOVIE, NO TAS LIFElocal msgmax = 10local darkscreen = not falsedesmume = (stylus ~= nil)if not emu then error("This script runs under an emulua host.") returnendlocal fontx, fonty = 4, 7if desmume then fontx, fonty = 4+2, 8+2elseif FCEU then fontx, fonty = 6, 8endfunction getscreensize() if desmume then return 256, 192 -- elseif FCEU then -- return 256, 224 else local tempgd = gui.gdscreenshot() if tempgd ~= nil then return tempgd:byte(3)*256 + tempgd:byte(4), tempgd:byte(5)*256 + tempgd:byte(6) else return nil, nil end endendlocal scrx, scry = getscreensize()if scrx == nil then error("Load a game before you run the script.") returnendlocal msgpos = {}local msgvx, msgvy = {}, {}local msgmaxspeed = 3local msgdepth = 10for i = 1, msgmax do repeat msgvx[i] = math.random(-msgmaxspeed, msgmaxspeed) msgvy[i] = math.random(-msgmaxspeed, msgmaxspeed) until msgvx[i] ~= 0 and msgvy[i] ~= 0 msgpos[i] = {} for j = 1, msgdepth do msgpos[i][j] = {} end msgpos[i][1].x, msgpos[i][1].y = math.random(0, scrx - fontx - 1), math.random(0, scry - fonty - 1) for j = 2, msgdepth do msgpos[i][j].x, msgpos[i][j].y = msgpos[i][j-1].x, msgpos[i][j-1].y endendprint("Note: restart the script if the game screen size has been changed.")gui.register(function() local msg = "" local mode = movie.mode() if not movie.active() then msg = "NO MOVIE" elseif mode == "finished" then msg = "FINISHED" end if msg == "" then return end if darkscreen then gui.opacity(0.5) gui.box(0, 0, scrx-1, scry-1, "black", "black") end local clipx, clipy clipx = scrx - (fontx * msg:len()) clipy = scry - fonty for i = 1, msgmax do msgpos[i][1].x, msgpos[i][1].y = msgpos[i][1].x + msgvx[i], msgpos[i][1].y + msgvy[i] if msgpos[i][1].x < 0 or msgpos[i][1].x >= clipx then msgvx[i] = -msgvx[i] if msgvx[i] < 0 then msgvx[i] = math.random(-msgmaxspeed, -1) msgpos[i][1].x = clipx else msgvx[i] = math.random(1, msgmaxspeed) msgpos[i][1].x = 0 end end if msgpos[i][1].y < 0 or msgpos[i][1].y >= clipy then msgvy[i] = -msgvy[i] if msgvy[i] < 0 then msgvy[i] = math.random(-msgmaxspeed, -1) msgpos[i][1].y = clipy else msgvy[i] = math.random(1, msgmaxspeed) msgpos[i][1].y = 0 end end for j = msgdepth, 2, -1 do msgpos[i][j].x, msgpos[i][j].y = msgpos[i][j-1].x, msgpos[i][j-1].y end for j = msgdepth, 1, -1 do if j == 1 then gui.opacity(1.0) else gui.opacity(0.5 * ((msgdepth-j)/msgdepth)) end gui.text(msgpos[i][j].x, msgpos[i][j].y, msg) end end gui.opacity(1.0)end)-- while true do emu.frameadvance() end