-- Zapper Fun -- quick and dirty script that shows zapper position and fire button presses in FCEUX -- Written by miau -- http://morphcat.de/lua/ local Z_LSPAN = 20 --life span (in frames) of white box local Z_LSPAN_CLICK = 30 --life span of red box local Z_MAX = 60 --maximum amount of boxes on screen local zbuf = {} local zindex = 1 local timer = 0 local lastclick = zapper.read().fire local lastx = zapper.read().x local lasty = zapper.read().y function zapper_addcoord(x,y,click) zbuf[zindex] = {t=timer,x=x,y=y,click=click} zindex = zindex + 1 if(zindex>Z_MAX) then zindex = 1 end end function box(x1,y1,x2,y2,color1,color2) if(x1>=0 and y1>=0 and x2<=255 and y2<=255) then gui.drawbox(x1, y1, x2, y2, color1, color2) end end while(true) do local x = zapper.read().x local y = zapper.read().y local click = zapper.read().fire --gui.text(0, 8, string.format("x=%d",x)); --gui.text(0, 18, string.format("y=%d",y)); --gui.text(0, 28, string.format("click=%d",click)); if(click==1 and click~=lastclick) then zapper_addcoord(x,y,1) elseif(x~=lastx or y~=lasty) then zapper_addcoord(x,y,0) end lastclick=click lastx=x lasty=y box(x-3, y-3, x+3, y+3, "white", 0) for i=1,Z_MAX do if(zbuf[i]) then ltime = timer-zbuf[i].t if(zbuf[i].click==0) then if(ltime