Guest User

Untitled

a guest
Oct 18th, 2016
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.36 KB | None | 0 0
  1. local term = require("term")
  2. local component = require("component")
  3. local sides = require("sides")
  4. local rs = component.redstone
  5. local colors = require("colors")
  6. local gpu = component.gpu
  7. local screen = component.screen
  8. local event = require("event")
  9.  
  10.  
  11.  
  12. os.sleep(0.2)
  13.  
  14. local gpus = {}
  15. local screens = {}
  16.  
  17. for address, filter in component.list("gpu") do
  18. table.insert(gpus,address)
  19. end
  20.  
  21. for address, filter in component.list("screen") do
  22. table.insert(screens,address)
  23. end
  24.  
  25.  
  26. local gpu1 = component.proxy(gpus[1])
  27. local gpu2 = component.proxy(gpus[2])
  28.  
  29. gpu1.bind(screens[1], true)
  30. gpu2.bind(screens[2],true)
  31.  
  32. --[[
  33. gpu1.setResolution(20,5)
  34. gpu2.setResolution(20,5)
  35. ]]
  36. component.proxy(screens[1]).setTouchModeInverted(true)
  37. component.proxy(screens[2]).setTouchModeInverted(true)
  38.  
  39.  
  40.  
  41. function getScreenWidth(gpuz)
  42. local x,y = gpuz.getResolution()
  43. return x;
  44. end
  45. function getScreenHeight(gpuz)
  46. local x,y = gpuz.getResolution()
  47. return y;
  48. end
  49.  
  50. function clearScreen()
  51. gpu1.fill(1,1,getScreenWidth(gpu1),getScreenHeight(gpu1),' ')
  52. gpu1.setForeground(0xFFFFFF)
  53. gpu2.fill(1,1,getScreenWidth(gpu2),getScreenHeight(gpu2),' ')
  54. gpu2.setForeground(0xFFFFFF)
  55. gpu1.fill(2,2,getScreenWidth(gpu1)-2,getScreenHeight(gpu1)-2,'|')
  56. gpu1.setForeground(0x00FF00)
  57. gpu1.set((getScreenWidth(gpu2)/2)-1,(getScreenHeight(gpu1)/2)+1,"OPEN")
  58. gpu2.fill(2,2,getScreenWidth(gpu2)-2,getScreenHeight(gpu2)-2,'|')
  59. gpu2.setForeground(0x00FF00)
  60. gpu2.set((getScreenWidth(gpu2)/2)-1,(getScreenHeight(gpu2)/2)+1,"OPEN")
  61. end
  62.  
  63. function hasAccess(username)
  64. local occurences = 0
  65. local users = {"csmajor","G_Dog1985_"}
  66. for i=1,#users do
  67. if users[i] == username then
  68. occurences = occurences+1
  69. end
  70. if occurences > 1 then
  71. clearScreen()
  72. gpu1.setForeground(0xFF0000)
  73. gpu1.set(1,1,"DATABASE:Data > 1")
  74. gpu2.setForeground(0xFF0000)
  75. gpu2.set(1,1,"DATABASE:Data > 1")
  76. os.sleep(1)
  77. return false
  78. elseif occurences == 1 then
  79. return true
  80. end
  81. end
  82. return false
  83. end
  84.  
  85. function isRemoteAccess(message)
  86. for i,code in message do
  87. print(code)
  88. end
  89. end
  90.  
  91. function eventModemMessage(eventName, localAddress, remoteAddress, port, distance, messages)
  92. for i,code in pairs(messages) do
  93. print(code)
  94. end
  95. --[[if isRemoteAccess(messages) then
  96. gpu1.set((getScreenWidth(gpu1)/2)-3,(getScreenHeight(gpu1)/2)+1,"GRANTED")
  97. gpu2.set((getScreenWidth(gpu2)/2)-3,(getScreenHeight(gpu2)/2)+1,"GRANTED")
  98. rs.setOutput(sides.bottom,15)
  99. os.sleep(2)
  100. rs.setOutput(sides.bottom,0)
  101. clearScreen()
  102. end]]
  103. end
  104.  
  105. event.listen("modem_message",eventModemMessage)
  106.  
  107.  
  108.  
  109. local open = false
  110.  
  111.  
  112. function access(eventName,ip,x,y,button,playerName)
  113. clearScreen()
  114.  
  115.  
  116.  
  117. if open == false then
  118. open = true
  119. if(playerName ~= nil) then
  120. if(hasAccess(playerName)) then
  121. gpu1.set((getScreenWidth(gpu1)/2)-3,(getScreenHeight(gpu1)/2)+1,"GRANTED")
  122. gpu2.set((getScreenWidth(gpu2)/2)-3,(getScreenHeight(gpu2)/2)+1,"GRANTED")
  123. rs.setOutput(sides.bottom,15)
  124. os.sleep(3)
  125. rs.setOutput(sides.bottom,0)
  126. else
  127. gpu1.setForeground(0xFF0000)
  128. gpu1.set((getScreenWidth(gpu1)/2)-3,(getScreenHeight(gpu1)/2)+1,"DENIED")
  129. gpu2.setForeground(0xFF0000)
  130. gpu2.set((getScreenWidth(gpu2)/2)-3,(getScreenHeight(gpu2)/2)+1,"DENIED")
  131. os.sleep(2)
  132. end
  133. end
  134. end
  135. clearScreen()
  136. open = false
  137. end
  138.  
  139. event.listen("touch",access)
  140.  
  141. access()
Advertisement
Add Comment
Please, Sign In to add comment