appollon41

Spawners Tofeur v1

Mar 13th, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. mon = peripheral.wrap("back")
  2. lx,ly = mon.getSize()
  3. mon.setBackgroundColor(colors.blue)
  4. mon.clear()
  5. mon.setTextScale(2)
  6. mon.setCursorPos(lx/2-3,1)
  7. mon.setTextColor(colors.yellow)
  8. mon.write("SPAWNERS")
  9.  
  10. sp1_side = "right" -- Cursed Earth
  11. sp2_side = "front"
  12. sp3_side = "left"
  13.  
  14. rs.setOutput(sp1_side, true)
  15. rs.setOutput(sp2_side, true)
  16. rs.setOutput(sp3_side, true)
  17.  
  18. --fonctions
  19.  
  20. function switch_signal(side)
  21.  
  22. if rs.getInput(side) == true then
  23. rs.setOutput(side, false)
  24. else
  25. rs.setOutput(side, true)
  26. end
  27.  
  28. end
  29.  
  30. function boutons()
  31. create_button(math.floor(0.05*lx)+1,math.floor(0.3*lx)+1,(ly/3),(ly/3)+2,colors.red,"SPA1 OFF",colors.orange)
  32. create_button(math.floor(0.35*lx)+1,math.floor(0.65*lx)+1,(ly/3),(ly/3)+2,colors.red,"SPA2 OFF",colors.orange)
  33. create_button(math.floor(0.7*lx)+1,math.floor(0.95*lx)+1,(ly/3),(ly/3)+2,colors.red,"SPA3 OFF",colors.orange)
  34.  
  35. create_button(math.floor(0.05*lx)+1,math.floor(0.3*lx)+1,((ly/3)*2),((ly/3)*2)+2,colors.green,"SPA1 ON",colors.black)
  36. create_button(math.floor(0.35*lx)+1,math.floor(0.65*lx)+1,((ly/3)*2),((ly/3)*2)+2,colors.green,"SPA2 ON",colors.black)
  37. create_button(math.floor(0.7*lx)+1,math.floor(0.95*lx)+1,((ly/3)*2),((ly/3)*2)+2,colors.green,"SPA3 ON",colors.black)
  38. end
  39.  
  40. function create_button(xmin, xmax, ymin, ymax, color, text, tcolor)
  41.  
  42. local aire = 0
  43. local xtemp, ytemp = xmin, ymin
  44.  
  45. while aire < (((xmax-xmin)+1)*((ymax-ymin)+1)) do
  46. mon.setBackgroundColor(color)
  47. mon.setCursorPos(xtemp,ytemp)
  48. mon.write(" ")
  49.  
  50. if xtemp == xmax then
  51. xtemp = xmin
  52. ytemp = ytemp + 1
  53. else
  54. xtemp = xtemp + 1
  55. end
  56. aire = aire + 1
  57. end
  58.  
  59. mon.setTextColor(tcolor)
  60. mon.setCursorPos((xmin+xmax)/2 - (string.len(text)/2) + 1, (ymax+ymin)/2)
  61. mon.write(text)
  62. mon.setBackgroundColor(colors.blue)
  63. end
  64.  
  65. function touch_detect(lx, ly)
  66. local tevent, cote, x, y = os.pullEvent("monitor_touch")
  67. mon.setTextColor(colors.yellow)
  68. if y <=ly/2 then
  69. if x < lx/3 then
  70. rs.setOutput(sp1_side, true)
  71. elseif x>lx/3 and x<(lx/3)*2 then
  72. rs.setOutput(sp2_side, true)
  73. else
  74. rs.setOutput(sp3_side, true)
  75. end
  76. else
  77. if x < lx/3 then
  78. rs.setOutput(sp1_side, false)
  79. elseif x>lx/3 and x<(lx/3)*2 then
  80. rs.setOutput(sp2_side, false)
  81. else
  82. rs.setOutput(sp3_side, false)
  83. end
  84. end
  85. end
  86.  
  87. function status_set(side)
  88. mon.setCursorPos(0.25*lx,0.9*ly)
  89. if rs.getInput(sp1_side) == false then
  90. mon.write("ON ")else mon.write("OFF")
  91. end
  92. mon.setCursorPos(0.6*lx,0.9*ly)
  93. if rs.getInput(sp2_side) == false then
  94. mon.write("ON ")else mon.write("OFF")
  95. end
  96. mon.setCursorPos(0.92*lx,0.9*ly)
  97. if rs.getInput(sp3_side) == false then
  98. mon.write("ON ")else mon.write("OFF")
  99. end
  100. end
  101.  
  102. function set_status()
  103. mon.setTextColor(colors.yellow)
  104. mon.setCursorPos((lx/20)*1.5,0.9*ly)
  105. mon.write("Status:")
  106. mon.setCursorPos((lx/20)*8,0.9*ly)
  107. mon.write("Status:")
  108. mon.setCursorPos((lx/20)*14.5,0.9*ly)
  109. mon.write("Status:")
  110. end
  111.  
  112. function stat_off()--mep
  113. mon.setCursorPos(0.25*lx,0.9*ly)
  114. mon.write("OFF")
  115. mon.setCursorPos(0.6*lx,0.9*ly)
  116. mon.write("OFF")
  117. mon.setCursorPos(0.92*lx,0.9*ly)
  118. mon.write("OFF")
  119. end
  120.  
  121. function spawn()
  122. mon.setCursorPos(lx/2-3,1)
  123. mon.setTextColor(colors.yellow)
  124. mon.write("SPAWNERS")
  125. end
  126.  
  127. --main
  128. stat_off()
  129. while true do
  130. mon.clear()
  131. set_status()
  132. spawn()
  133. boutons()
  134. status_set()
  135. touch_detect(lx,ly)
  136. end
  137.  
  138. --code par appollon41, version OpenSource
Add Comment
Please, Sign In to add comment