Advertisement
Albatros123

main

May 29th, 2015
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.89 KB | None | 0 0
  1. os.loadAPI("System/API/ecsapi")
  2. os.loadAPI("System/API/windows")
  3. os.loadAPI("System/API/config")
  4.  
  5. windows.clearScreen(colors.lightBlue)
  6.  
  7. local m = windows.findPeripheral("monitor")
  8. if m == nil then
  9.     windows.error("This program requires external advanced monitor.")
  10.     return 0
  11. end
  12. m=peripheral.wrap(m)
  13. if not m.isColor() then
  14.     windows.error("This program will work only with ADVANCED monitor.")
  15.     return 0
  16. end
  17.  
  18. --------------------------------
  19.  
  20. local args = {}
  21.  
  22. local pathToConfig = "System/NewsTicker/userdata.cfg"
  23.  
  24. local function askAndRemember(p1,p2,p3,p4)
  25.     local data = windows.input("auto","auto","News Ticker",12,{"String",p1},{"Scale",p2},{"Delay",p3},{"Speed",p4})
  26.     config.write(pathToConfig,"string",data[1])
  27.     config.write(pathToConfig,"scale",data[2])
  28.     config.write(pathToConfig,"delay",data[3])
  29.     config.write(pathToConfig,"speed",data[4])
  30.     args[1],args[2],args[3],args[4] = data[1],data[2],data[3],data[4]
  31. end
  32.  
  33. if fs.exists(pathToConfig) then
  34.     args[1]=config.read(pathToConfig,"string")
  35.     args[2]=config.read(pathToConfig,"scale")
  36.     args[3]=config.read(pathToConfig,"delay")
  37.     args[4]=config.read(pathToConfig,"speed")
  38.  
  39.     askAndRemember(args[1],args[2],args[3],args[4])
  40. else
  41.     askAndRemember("rabotay","5","10","0.1")
  42. end
  43.  
  44. windows.clearScreen(colors.lightBlue)
  45.  
  46.  
  47. ---------------------------------
  48.  
  49. m.setTextScale(tonumber(args[2]))
  50. local xSize, ySize = m.getSize()
  51.  
  52. local function display()
  53.     m.setBackgroundColor(colors.black)
  54.     m.setTextColor(colors.white)
  55.     m.clear()
  56.  
  57.     local str=args[1]
  58.  
  59.     str = " "..str .. string.rep(" ",tonumber(args[3]))
  60.  
  61.     while true do
  62.      str = string.sub(str, 2, -1) .. string.sub(str, 1, 1)
  63.      m.setCursorPos(math.ceil(xSize/2-#str/2), math.ceil(ySize/2))
  64.      m.write(str)
  65.      sleep(tonumber(args[4]))
  66.     end
  67. end
  68.  
  69. local function govno()
  70.     windows.attention({"Program started!"},{"Press OK to quit."})
  71. end
  72.  
  73. parallel.waitForAny(govno,display)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement