Advertisement
LegoStax

Scroll Function

Jul 24th, 2014
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.17 KB | None | 0 0
  1. -- Scroll Stuff
  2. local w,h = term.getSize()
  3. scrollpos = 1
  4. local data = {
  5. "derp","pie","stupid","people","I","like","pancakes","derpy","man","stoops","over","to","grab","his","hat","from","the","watered","street","and","I","like","him","for","it","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"
  6. }
  7. local greatestpos = 1
  8. for i = 1,#data do
  9.     local ref = data[i]
  10.     if #ref > greatestpos then
  11.         greatestpos = #ref
  12.     end
  13. end
  14.  
  15. pospossible = #data-(h-1)
  16. if pospossible < 1 then
  17.     pospossible = 1
  18. end
  19.  
  20. local function buffer()
  21.     term.setCursorPos(1,1)
  22.     for i = scrollpos,#data do
  23.         if i > #data then break end
  24.         term.write(data[i])
  25.         for i = 1,greatestpos do
  26.             term.write(" ")
  27.         end
  28.         local x,y = term.getCursorPos()
  29.         y = y+1
  30.         term.setCursorPos(1,y)
  31.         if y > 19 then break end
  32.     end
  33. end
  34. buffer()
  35. while true do
  36.     local e, p1, p2, p3 = os.pullEvent()
  37.     if e == "char" and p1 == "q" then
  38.         break
  39.     elseif e == "mouse_scroll" then
  40.         if p1 == 1 and scrollpos < pospossible then
  41.             scrollpos = scrollpos+1
  42.         elseif p1 == -1 and scrollpos > 1 then
  43.             scrollpos = scrollpos-1
  44.         end
  45.         buffer()
  46.     end
  47. end
  48.  
  49. shell.run("clear")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement