Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- variable utilisateur
- local screen = "top";
- local stargate = "stargate_0";
- local address = {
- { name = " CLOSE ", adrs = "CLOSE", color = colors.black},
- { name = " Azreall ", adrs = "WSTTVHV78", color = colors.red},
- { name = " Wetixx ", adrs = "FLR482SXS", color = colors.cyan},
- { name = " Deep ", adrs = "9992HVO8S", color = colors.lime},
- { name = " Overworld ", adrs = "US7I59SSA", color = colors.purple},
- };
- -- variable programme
- nbitem = #address;
- mouseWidth = 0;
- mouseHeight = 0;
- hp = 0;
- monitor = peripheral.wrap(screen);
- ppor = peripheral.wrap(stargate);
- w,h=monitor.getSize();
- -- print init
- print("init with "..nbitem.." address");
- print("monitor wrap "..screen)
- print(w)
- print(h)
- print("portal wrap "..stargate);
- -- print on screen
- monitor.setBackgroundColor(colors.black);
- monitor.clear();
- for key,value in pairs( address ) do
- hp = hp +1;
- monitor.setCursorPos(1,hp)
- monitor.setBackgroundColor(value.color);
- monitor.write(tostring(value.name));
- end
- -- function placeX
- function placeX(height)
- hpl = 0;
- for key,value in pairs( address ) do
- hpl = hpl +1;
- monitor.setCursorPos(3,hpl)
- monitor.setBackgroundColor(value.color);
- if hpl == height then
- monitor.write("X");
- else
- monitor.write(" ");
- end
- end
- end
- -- function placeV
- function placeV(add)
- hpl = 0;
- for key,value in pairs( address ) do
- hpl = hpl +1;
- monitor.setCursorPos(3,hpl)
- monitor.setBackgroundColor(value.color);
- if value.adrs == add then
- monitor.write("V");
- else
- monitor.write(" ");
- end
- end
- end
- -- function click
- function checkClickPosition()
- print(mouseHeight.."/"..h.."("..nbitem..")");
- if mouseHeight < nbitem + 2 then
- local addresslocal = address[mouseHeight];
- print(addresslocal.adrs);
- placeX(mouseHeight);
- if addresslocal.adrs == "CLOSE" then
- ppor.disconnect();
- else
- state, n = ppor.stargateState()
- if state ~= "Idle" then
- placeX(1);
- ppor.disconnect();
- os.sleep(3);
- placeX(mouseHeight);
- end
- ppor.dial(addresslocal.adrs);
- end
- end
- end
- -- Start Loop
- repeat
- event,p1,p2,p3 = os.pullEvent()
- if event=="monitor_touch" then
- mouseWidth = p2
- mouseHeight = p3
- checkClickPosition()
- elseif event == "sgStargateStateChange" then
- print(p1.." "..p2.." "..p3);
- if p2 == "Connected" then
- placeV(ppor.remoteAddress());
- elseif p2 == "Idle" then
- placeV("CLOSE");
- end
- end
- until event=="char"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement