Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. -- variable utilisateur
  2. local screen = "top";
  3. local stargate = "stargate_0";
  4. local address = {
  5. { name = " CLOSE ", adrs = "CLOSE", color = colors.black},
  6. { name = " Azreall ", adrs = "WSTTVHV78", color = colors.red},
  7. { name = " Wetixx ", adrs = "FLR482SXS", color = colors.cyan},
  8. { name = " Deep ", adrs = "9992HVO8S", color = colors.lime},
  9. { name = " Overworld ", adrs = "US7I59SSA", color = colors.purple},
  10. };
  11.  
  12. -- variable programme
  13. nbitem = #address;
  14. mouseWidth = 0;
  15. mouseHeight = 0;
  16. hp = 0;
  17. monitor = peripheral.wrap(screen);
  18. ppor = peripheral.wrap(stargate);
  19. w,h=monitor.getSize();
  20.  
  21. -- print init
  22. print("init with "..nbitem.." address");
  23. print("monitor wrap "..screen)
  24. print(w)
  25. print(h)
  26. print("portal wrap "..stargate);
  27.  
  28. -- print on screen
  29. monitor.setBackgroundColor(colors.black);
  30. monitor.clear();
  31. for key,value in pairs( address ) do
  32. hp = hp +1;
  33. monitor.setCursorPos(1,hp)
  34. monitor.setBackgroundColor(value.color);
  35. monitor.write(tostring(value.name));
  36. end
  37.  
  38. -- function placeX
  39. function placeX(height)
  40. hpl = 0;
  41. for key,value in pairs( address ) do
  42. hpl = hpl +1;
  43. monitor.setCursorPos(3,hpl)
  44. monitor.setBackgroundColor(value.color);
  45. if hpl == height then
  46. monitor.write("X");
  47. else
  48. monitor.write(" ");
  49. end
  50. end
  51. end
  52.  
  53. -- function placeV
  54. function placeV(add)
  55. hpl = 0;
  56. for key,value in pairs( address ) do
  57. hpl = hpl +1;
  58. monitor.setCursorPos(3,hpl)
  59. monitor.setBackgroundColor(value.color);
  60. if value.adrs == add then
  61. monitor.write("V");
  62. else
  63. monitor.write(" ");
  64. end
  65. end
  66. end
  67.  
  68. -- function click
  69. function checkClickPosition()
  70. print(mouseHeight.."/"..h.."("..nbitem..")");
  71. if mouseHeight < nbitem + 2 then
  72. local addresslocal = address[mouseHeight];
  73. print(addresslocal.adrs);
  74. placeX(mouseHeight);
  75. if addresslocal.adrs == "CLOSE" then
  76. ppor.disconnect();
  77. else
  78. state, n = ppor.stargateState()
  79. if state ~= "Idle" then
  80. placeX(1);
  81. ppor.disconnect();
  82. os.sleep(3);
  83. placeX(mouseHeight);
  84. end
  85. ppor.dial(addresslocal.adrs);
  86. end
  87. end
  88. end
  89.  
  90. -- Start Loop
  91. repeat
  92. event,p1,p2,p3 = os.pullEvent()
  93. if event=="monitor_touch" then
  94. mouseWidth = p2
  95. mouseHeight = p3
  96. checkClickPosition()
  97. elseif event == "sgStargateStateChange" then
  98. print(p1.." "..p2.." "..p3);
  99. if p2 == "Connected" then
  100. placeV(ppor.remoteAddress());
  101. elseif p2 == "Idle" then
  102. placeV("CLOSE");
  103. end
  104. end
  105. until event=="char"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement