Quakemaster

Untitled

May 8th, 2022 (edited)
12
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. local json = dofile('json.lua')
  2. local surface = dofile('surface.lua')
  3. local monitor = peripheral.find('monitor')
  4. local w, h = monitor.getSize()
  5. local screen = surface.create(w, h)
  6. local LibDeflate = dofile('LibDeflate.lua')
  7.  
  8. local function start()
  9. local ws, err = http.websocket('ws://127.0.0.1:3000/attach')
  10. if err then
  11. print(err)
  12. elseif ws then
  13. while true do
  14. -- Request draw from server
  15. ws.send(json.encode({type = 'REQUEST_DRAW'}))
  16.  
  17. -- Wait for frame
  18. while true do
  19. local response = json.decode(ws.receive())
  20.  
  21. if response.type == 'ERROR' then
  22. -- Message we recieved was an error of some sort, log it
  23. print('[ERROR] ' .. response.error)
  24. elseif response.type == 'SCREEN_DRAW' then
  25. local output = LibDeflate:DecompressZlib(response.screen)
  26. local surf = surface.load(output, true)
  27. surf:toPalette(surface.palette.cc, true)
  28.  
  29. screen:drawSurfaceSmall(surf, 0, 0)
  30. screen:output(monitor)
  31. break
  32. end
  33. end
  34. end
  35. end
  36. end
  37.  
  38. start()
Add Comment
Please, Sign In to add comment