spenk

Lift Code ComputerCraft

May 25th, 2013
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.49 KB | None | 0 0
  1. os.pullEvent = os.pullEventRaw
  2. os.loadAPI("CCGUI");
  3. os.loadAPI("RPAPI");
  4.  
  5. local side = "back";
  6.  
  7. local up = "green";
  8. local down = "lime";
  9. local to = 0;
  10. local delay = 0.2;
  11.  
  12. function pulse(dir)
  13.     RPAPI.setPower(side, "black", true);
  14.     while getLvl() ~= to do
  15.         RPAPI.setPower(side, dir, true);
  16.         os.sleep(delay);
  17.         RPAPI.setPower(side, dir, false);
  18.         os.sleep(delay);
  19.     end
  20.     RPAPI.setPower(side, "black", false);
  21. end
  22.  
  23. function getLvl()
  24.     if RPAPI.getPower(side, "magenta") == true then
  25.         return 1;
  26.     elseif RPAPI.getPower(side, "purple") == true then
  27.         return 2;
  28.     elseif RPAPI.getPower(side, "brown") == true then
  29.         return 3;
  30.     elseif RPAPI.getPower(side, "lightBlue") == true then
  31.         return 4;
  32.     elseif RPAPI.getPower(side, "yellow") == true then
  33.         return 5;
  34.     elseif RPAPI.getPower(side, "lightGray") == true then
  35.         return 6;
  36.     elseif RPAPI.getPower(side, "gray") == true then
  37.         return 7;
  38.     elseif RPAPI.getPower(side, "white") == true then
  39.         return 8;
  40.     elseif RPAPI.getPower(side, "orange") == true then
  41.         return 9;
  42.     else
  43.         return 10;
  44.     end
  45.  
  46. end
  47.  
  48. function getDir(from)
  49.     if from > to then
  50.         return up;
  51.     else
  52.         return down;
  53.     end
  54. end
  55.  
  56. function drawScreen()
  57.     def = CCGUI.newMenu()
  58.  
  59.     b1 = CCGUI.newItem()
  60.     b2 = CCGUI.newItem()
  61.     b3 = CCGUI.newItem()
  62.     b4 = CCGUI.newItem()
  63.     b5 = CCGUI.newItem()
  64.     b6 = CCGUI.newItem()
  65.     b7 = CCGUI.newItem()
  66.     b8 = CCGUI.newItem()
  67.     b9 = CCGUI.newItem()
  68.  
  69.  
  70.     b1:newName("[ 1]")
  71.     b1:newType("bp1")
  72.     b1:newColour(colours.magenta)
  73.  
  74.     b2:newName("[ 0]")
  75.     b2:newType("bp2")
  76.     b2:newColour(colours.magenta)
  77.  
  78.     b3:newName("[-1]")
  79.     b3:newType("bp3")
  80.     b3:newColour(colours.magenta)
  81.  
  82.     b4:newName("[-2]")
  83.     b4:newType("bp4")
  84.     b4:newColour(colours.magenta)
  85.  
  86.     b5:newName("[-3]")
  87.     b5:newType("bp5")
  88.     b5:newColour(colours.magenta)
  89.  
  90.     b6:newName("[-4]")
  91.     b6:newType("bp6")
  92.     b6:newColour(colours.magenta)
  93.  
  94.     b7:newName("[-5]")
  95.     b7:newType("bp7")
  96.     b7:newColour(colours.magenta)
  97.  
  98.     b8:newName("[-6]")
  99.     b8:newType("bp8")
  100.     b8:newColour(colours.magenta)
  101.  
  102.     b9:newName("[-7]")
  103.     b9:newType("bp9")
  104.     b9:newColour(colours.magenta)
  105.  
  106.  
  107.     def:newItem(b1)
  108.     def:newItem(b2)
  109.     def:newItem(b3)
  110.     def:newItem(b4)
  111.     def:newItem(b5)
  112.     def:newItem(b6)
  113.     def:newItem(b7)
  114.     def:newItem(b8)
  115.     def:newItem(b9)
  116.  
  117.     while true do
  118.         bp = def:draw()
  119.         if RPAPI.getPower(side, "black") ~= true then
  120.             if bp =="bp1" then to=1; pulse(getDir(getLvl())); CCGUI.msgBox({"Going to 1" ,"They see me rollin","They waitin"}); end
  121.             if bp =="bp2" then to=2; pulse(getDir(getLvl())); CCGUI.msgBox({"Going to 0" ,"They see me rollin","They waitin"}); end
  122.             if bp =="bp3" then to=3; pulse(getDir(getLvl())); CCGUI.msgBox({"Going to -1","They see me rollin","They waitin"}); end
  123.             if bp =="bp4" then to=4; pulse(getDir(getLvl())); CCGUI.msgBox({"Going to -2","They see me rollin","They waitin"}); end
  124.             if bp =="bp5" then to=5; pulse(getDir(getLvl())); CCGUI.msgBox({"Going to -3","They see me rollin","They waitin"}); end
  125.             if bp =="bp6" then to=6; pulse(getDir(getLvl())); CCGUI.msgBox({"Going to -4","They see me rollin","They waitin"}); end
  126.             if bp =="bp7" then to=7; pulse(getDir(getLvl())); CCGUI.msgBox({"Going to -5","They see me rollin","They waitin"}); end
  127.             if bp =="bp8" then to=8; pulse(getDir(getLvl())); CCGUI.msgBox({"Going to -6","They see me rollin","They waitin"}); end
  128.             if bp =="bp9" then to=9; pulse(getDir(getLvl())); CCGUI.msgBox({"Going to -7","They see me rollin","They waitin"}); end
  129.         else
  130.             CCGUI.msgBox({"The lift is rollin","please stay waitin."});
  131.         end
  132.     end
  133. end
  134. drawScreen()
Advertisement
Add Comment
Please, Sign In to add comment