Advertisement
NAPTlME

ArenaMasterComp

Sep 6th, 2014
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 11.96 KB | None | 0 0
  1. --ArenaMasterComp
  2. --NAPTlME
  3.  
  4. l = peripheral.wrap("monitor_8")
  5. m = peripheral.wrap("monitor_9")
  6. n = peripheral.wrap("monitor_10")
  7. o = peripheral.wrap("monitor_11")
  8. p = peripheral.wrap('pim_5')
  9. p2 = peripheral.wrap('pim_4')
  10. chest = peripheral.wrap('container_chest_3')
  11. chest2 = peripheral.wrap('container_chest_5')
  12. l.setBackgroundColor(colors.black)
  13. m.setBackgroundColor(colors.black)
  14. n.setBackgroundColor(colors.black)
  15. o.setBackgroundColor(colors.black)
  16. l.clear()
  17. m.clear()
  18. n.clear()
  19. o.clear()
  20.  
  21. bet = {}
  22. qty = {}
  23. function setup()
  24.   l.setTextScale(1)
  25.   m.setTextScale(1)
  26.   n.setTextScale(1)
  27.   o.setTextScale(1)
  28.   w,h = m.getSize()
  29.   l.setBackgroundColor(colors.white)
  30.   m.setBackgroundColor(colors.white)
  31.   n.setBackgroundColor(colors.white)
  32.   o.setBackgroundColor(colors.white)
  33.   for i = 1,h do
  34.     l.setCursorPos((w/2)-1,i)
  35.     m.setCursorPos((w/2)-1,i)
  36.     n.setCursorPos((w/2)-1,i)
  37.     o.setCursorPos((w/2)-1,i)
  38.     l.write(" ")
  39.     m.write(" ")
  40.     n.write(" ")
  41.     o.write(" ")
  42.   end
  43.   l.setBackgroundColor(colors.black)
  44.   m.setBackgroundColor(colors.black)
  45.   n.setBackgroundColor(colors.black)
  46.   o.setBackgroundColor(colors.black)
  47.   line1 = "Challenger 1"
  48.   line1_1 = "Challenger 2"
  49.   line3 = "Head- "
  50.   line4 = "Chest- "
  51.   line5 = "Legs- "
  52.   line6 = "Feet- "
  53.   line7 = "Spells- "
  54.   line8 = "Inventory- "
  55.   line9 = "Bet- "
  56.   line10 = "Team 1- "
  57.   line10_1 = "Team 2- "
  58.   l.setCursorPos((w/4)-(string.len(line1)/2),1)
  59.   l.write(line1)
  60.   m.setCursorPos((w/4)-(string.len(line1)/2),1)
  61.   m.write(line1)
  62.   n.setCursorPos((w/4)-(string.len(line1)/2),1)
  63.   n.write(line1)
  64.   o.setCursorPos((w/4)-(string.len(line1)/2),1)
  65.   o.write(line1)
  66.   l.setCursorPos((3*w/4)-(string.len(line1_1)/2),1)
  67.   l.write(line1_1)
  68.   m.setCursorPos((3*w/4)-(string.len(line1_1)/2),1)
  69.   m.write(line1_1)
  70.   n.setCursorPos((3*w/4)-(string.len(line1_1)/2),1)
  71.   n.write(line1_1)
  72.   o.setCursorPos((3*w/4)-(string.len(line1_1)/2),1)
  73.   o.write(line1_1)
  74.   l.setCursorPos(1,3)
  75.   l.write(line3)
  76.   m.setCursorPos(1,3)
  77.   m.write(line3)
  78.   n.setCursorPos(1,3)
  79.   n.write(line3)
  80.   o.setCursorPos(1,3)
  81.   o.write(line3)
  82.   l.setCursorPos((w/2)+2,3)
  83.   l.write(line3)
  84.   m.setCursorPos((w/2)+2,3)
  85.   m.write(line3)
  86.   n.setCursorPos((w/2)+2,3)
  87.   n.write(line3)
  88.   o.setCursorPos((w/2)+2,3)
  89.   o.write(line3)
  90.   l.setCursorPos(1,4)
  91.   l.write(line4)
  92.   m.setCursorPos(1,4)
  93.   m.write(line4)
  94.   n.setCursorPos(1,4)
  95.   n.write(line4)
  96.   o.setCursorPos(1,4)
  97.   o.write(line4)
  98.   l.setCursorPos((w/2)+2,4)
  99.   l.write(line4)
  100.   m.setCursorPos((w/2)+2,4)
  101.   m.write(line4)
  102.   n.setCursorPos((w/2)+2,4)
  103.   n.write(line4)
  104.   o.setCursorPos((w/2)+2,4)
  105.   o.write(line4)
  106.   l.setCursorPos(1,5)
  107.   l.write(line5)
  108.   m.setCursorPos(1,5)
  109.   m.write(line5)
  110.   n.setCursorPos(1,5)
  111.   n.write(line5)
  112.   o.setCursorPos(1,5)
  113.   o.write(line5)
  114.   l.setCursorPos((w/2)+2,5)
  115.   l.write(line5)
  116.   m.setCursorPos((w/2)+2,5)
  117.   m.write(line5)
  118.   n.setCursorPos((w/2)+2,5)
  119.   n.write(line5)
  120.   o.setCursorPos((w/2)+2,5)
  121.   o.write(line5)
  122.   l.setCursorPos(1,6)
  123.   l.write(line6)
  124.   m.setCursorPos(1,6)
  125.   m.write(line6)
  126.   n.setCursorPos(1,6)
  127.   n.write(line6)
  128.   o.setCursorPos(1,6)
  129.   o.write(line6)
  130.   l.setCursorPos((w/2)+2,6)
  131.   l.write(line6)
  132.   m.setCursorPos((w/2)+2,6)
  133.   m.write(line6)
  134.   n.setCursorPos((w/2)+2,6)
  135.   n.write(line6)
  136.   o.setCursorPos((w/2)+2,6)
  137.   o.write(line6)
  138.   l.setCursorPos(1,7)
  139.   l.write(line7)
  140.   m.setCursorPos(1,7)
  141.   m.write(line7)
  142.   n.setCursorPos(1,7)
  143.   n.write(line7)
  144.   o.setCursorPos(1,7)
  145.   o.write(line7)
  146.   l.setCursorPos((w/2)+2,7)
  147.   l.write(line7)
  148.   m.setCursorPos((w/2)+2,7)
  149.   m.write(line7)
  150.   n.setCursorPos((w/2)+2,7)
  151.   n.write(line7)
  152.   o.setCursorPos((w/2)+2,7)
  153.   o.write(line7)
  154.   l.setCursorPos(1,8)
  155.   l.write(line8)
  156.   m.setCursorPos(1,8)
  157.   m.write(line8)
  158.   n.setCursorPos(1,8)
  159.   n.write(line8)
  160.   o.setCursorPos(1,8)
  161.   o.write(line8)
  162.   l.setCursorPos((w/2)+2,8)
  163.   l.write(line8)
  164.   m.setCursorPos((w/2)+2,8)
  165.   m.write(line8)
  166.   n.setCursorPos((w/2)+2,8)
  167.   n.write(line8)
  168.   o.setCursorPos((w/2)+2,8)
  169.   o.write(line8)
  170.   l.setCursorPos(1,16)
  171.   l.write(line9)
  172.   m.setCursorPos(1,16)
  173.   m.write(line9)
  174.   n.setCursorPos(1,16)
  175.   n.write(line9)
  176.   o.setCursorPos(1,16)
  177.   o.write(line9)
  178.   l.setCursorPos(1,13)
  179.   l.write(line10)
  180.   m.setCursorPos(1,13)
  181.   m.write(line10)
  182.   n.setCursorPos(1,13)
  183.   n.write(line10)
  184.   o.setCursorPos(1,13)
  185.   o.write(line10)
  186.   l.setCursorPos((w/2)+2,13)
  187.   l.write(line10_1)
  188.   m.setCursorPos((w/2)+2,13)
  189.   m.write(line10_1)
  190.   n.setCursorPos((w/2)+2,13)
  191.   n.write(line10_1)
  192.   o.setCursorPos((w/2)+2,13)
  193.   o.write(line10_1)
  194. end
  195.  
  196. team1 = {}
  197. team2 = {}
  198. inv1 = {}
  199. inv2 = {}
  200.  
  201. setup()
  202. --need to differentiate which pim has a player on it
  203. while true do
  204.   t,e = os.pullEvent()
  205.   if t == "player_on" then
  206.     l.clear()
  207.     m.clear()
  208.     n.clear()
  209.     o.clear()
  210.     setup()
  211.     s = 0
  212.     if p.getInventorySize() > 0 then
  213.       l.setCursorPos((w/4)-(string.len(e)/2),2)
  214.       m.setCursorPos((w/4)-(string.len(e)/2),2)
  215.       n.setCursorPos((w/4)-(string.len(e)/2),2)
  216.       o.setCursorPos((w/4)-(string.len(e)/2),2)
  217.       l.write(e)
  218.       m.write(e)
  219.       n.write(e)
  220.       o.write(e)
  221.       for k in pairs (inv1) do
  222.         inv1[k] = nil
  223.       end
  224.       if not team1[e] then
  225.         table.insert(team1,e)
  226.       end
  227.       d = p.getAllStacks()
  228.       for i = #d, #d-3 do
  229.         d2 = textutils.serialize(d[i])
  230.         q,e,vw = string.find(d2,'rawName%s=%s"item.([.:%w%d%s%?%_]+)')
  231.         if vw ~= nil then
  232.           v = string.gsub(vw,"_", " ")
  233.           lin =3
  234.           l.setCursorPos(8, lin)
  235.           m.setCursorPos(8, lin)
  236.           n.setCursorPos(8,lin)
  237.           o.setCursorPos(8,lin)
  238.           lin= lin+1
  239.           l.write(v)
  240.           m.write(v)
  241.           n.write(v)
  242.           o.write(v)
  243.         end
  244.       end
  245.       for i = 1, #d-4 do
  246.         d2 = textutils.serialize(d[i])
  247.         q,e, id = string.find(d2,"id%s=%s(%d+)")
  248.         if id == 20371 then
  249.           s = s+1
  250.         else
  251.           q,e,vw = string.find(d2,'rawName%s=%s"item.([.:%w%d%s%?%_]+)')
  252.           if vw ~= nil then
  253.             v = string.gsub(vw,"_"," ")
  254.             table.insert(inv1,v)
  255.           end
  256.         end
  257.       end
  258.       l.setCursorPos(8,7)
  259.       m.setCursorPos(8,7)
  260.       n.setCursorPos(8,7)
  261.       o.setCursorPos(8,7)
  262.       l.write(s)
  263.       m.write(s)
  264.       n.write(s)
  265.       o.write(s)
  266.       l.setCursorPos(8,8)
  267.       m.setCursorPos(8,8)
  268.       n.setCursorPos(8,8)
  269.       o.setCursorPos(8,8)
  270.       lin = 8
  271.       g = 1
  272.       sn = 1
  273.       repeat
  274.         j = 0
  275.         for i = tonumber(g),#inv1 do
  276.           j = j+string.len(inv1[i])+2
  277.           g = i
  278.           if j > ((w/2)-2) then
  279.             j = j - string.len(inv1[i])-2
  280.             break
  281.           end
  282.         end
  283.         l.setCursorPos(8,lin)
  284.         l.clearLine()
  285.         m.setCursorPos(8,lin)
  286.         m.clearLine()
  287.         n.setCursorPos(8,lin)
  288.         n.clearLine()
  289.         o.setCursorPos(8,lin)
  290.         o.clearLine()
  291.         for k = tonumber(sn),tonumber(g) do
  292.           l.write(inv1[k]..", ")
  293.           m.write(inv1[k]..", ")
  294.           n.write(inv1[k]..", ")
  295.           o.write(inv1[k]..", ")
  296.         end
  297.         lin = lin+1
  298.         sn = g
  299.       until g == #inv1
  300.       x,y = l.getCursorPos()
  301.       for i = 1, ((w/2)-2-x) do
  302.         l.write(" ")
  303.         m.write(" ")
  304.         n.write(" ")
  305.         o.write(" ")
  306.       end  
  307.     elseif p2.getInventorySize() > 0 then
  308.       l.setCursorPos((3*w/4)-(string.len(e)/2),2)
  309.       m.setCursorPos((3*w/4)-(string.len(e)/2),2)
  310.       n.setCursorPos((3*w/4)-(string.len(e)/2),2)
  311.       o.setCursorPos((3*w/4)-(string.len(e)/2),2)
  312.       l.write(e)
  313.       m.write(e)
  314.       n.write(e)
  315.       o.write(e)
  316.       if not team2[e] then
  317.         table.insert(team2,e)
  318.       end
  319.       for k in pairs (inv2) do
  320.         inv2[k] = nil
  321.       end
  322.       d = p2.getAllStacks()
  323.       for i = #d, #d-3 do
  324.         d2 = textutils.serialize(d[i])
  325.         q,e,vw = string.find(d2,'rawName%s=%s"item.([.:%w%d%s%?%_]+)')
  326.         if vw ~= nil then
  327.           v = string.gsub(vw,"_", " ")
  328.           lin = 3
  329.           l.setCursorPos((w/2)+10, lin)
  330.           m.setCursorPos((w/2)+10, lin)
  331.           n.setCursorPos((w/2)+10,lin)
  332.           o.setCursorPos((w/2)+10,lin)
  333.           lin = lin+1
  334.           l.write(v)
  335.           m.write(v)
  336.           n.write(v)
  337.           o.write(v)
  338.         end
  339.       end
  340.       for i = 1, #d-4 do
  341.         d2 = textutils.serialize(d[i])
  342.         q,e, id = string.find(d2,"id%s=%s(%d+)")
  343.         if id == 20371 then
  344.           s = s+1
  345.         else
  346.           q,e,vw = string.find(d2,'rawName%s=%s"item.([.:%w%d%s%?%_]+)')
  347.           if vw ~= nil then
  348.             v = string.gsub(vw,"_"," ")
  349.             table.insert(inv2,v)
  350.           end
  351.         end
  352.       end
  353.       l.setCursorPos((w/2)+10,7)
  354.       m.setCursorPos((w/2)+10,7)
  355.       n.setCursorPos((w/2)+10,7)
  356.       o.setCursorPos((w/2)+10,7)
  357.       l.write(s)
  358.       m.write(s)
  359.       n.write(s)
  360.       o.write(s)
  361.       l.setCursorPos((w/2)+10,8)
  362.       m.setCursorPos((w/2)+10,8)
  363.       n.setCursorPos((w/2)+10,8)
  364.       o.setCursorPos((w/2)+10,8)
  365.       lin = 8
  366.       g = 1
  367.       sn = 1
  368.       repeat
  369.         j = 0
  370.         for i = g,#inv2 do
  371.           j = j+string.len(inv2[l])+2
  372.           g = i
  373.           if j > ((w/2)-2) then
  374.             j = j - string.len(inv2[i])-2
  375.             break
  376.           end
  377.         end
  378.         l.setCursorPos((w/2)+10,lin)
  379.         l.clearLine()
  380.         m.setCursorPos((w/2)+10,lin)
  381.         m.clearLine()
  382.         n.setCursorPos((w/2)+10,lin)
  383.         n.clearLine()
  384.         o.setCursorPos((w/2)+10,lin)
  385.         o.clearLine()
  386.         for k = sn,g do
  387.           l.write(inv2[k]..", ")
  388.           m.write(inv2[k]..", ")
  389.           n.write(inv2[k]..", ")
  390.           o.write(inv2[k]..", ")
  391.         end
  392.         lin = lin+1
  393.         sn = g
  394.       until g == #inv1
  395.       x,y = l.getCursorPos()
  396.       for i = 1, (w-x) do
  397.         l.write(" ")
  398.         m.write(" ")
  399.         n.write(" ")
  400.         o.write(" ")
  401.       end  
  402.     end
  403.     l.setCursorPos(8,13)
  404.     m.setCursorPos(8,13)
  405.     n.setCursorPos(8,13)
  406.     o.setCursorPos(8,13)
  407.     for i = 1,#team1 do
  408.       l.write(team1[i]..", ")
  409.       m.write(team1[i]..", ")
  410.       n.write(team1[i]..", ")
  411.       o.write(team1[i]..", ")
  412.     end
  413.     l.setCursorPos((w/2)+10,13)
  414.     m.setCursorPos((w/2)+10, 13)
  415.     n.setCursorPos((w/2)+10,13)
  416.     o.setCursorPos((w/2)+10,13)
  417.     for i = 1,#team2 do
  418.       l.write(team2[i]..", ")
  419.       m.write(team2[i]..", ")
  420.       n.write(team2[i]..", ")
  421.       o.write(team2[i]..", ")
  422.     end
  423.     for  k in pairs(bet) do
  424.       bet[k] = nil
  425.     end
  426.     for k in pairs(qty) do
  427.       qty[k] = nil
  428.     end
  429.     ch1 = chest.getAllStacks()
  430.     for i = 1,#ch1 do
  431.       ch1_1 = textutils.serialize(ch1[i])
  432.       q,e,chItem = string.find(ch1_1,'name%s=%s"([.:%w%d%s%?%_]+)')
  433.       q,e,chQty = string.find(ch1_1, 'qty%s=%s(%d+)')
  434.       if not bet[chItem] then
  435.         table.insert(bet,chItem)
  436.         table.insert(qty,chQty)
  437.       else n = bet[chItem]
  438.         num = tonumber(qty[n])
  439.         num = num + tonumber(chQty)
  440.         qty[n] = num
  441.       end
  442.     end
  443.     ch2 = chest2.getAllStacks()
  444.     for i = 1,#ch2 do
  445.       ch2_1 = textutils.serialize(ch2[i])
  446.       q,e,chItem = string.find(ch1_1,'name%s=%s"([.:%w%d%s%?%_]+)')
  447.       q,e,chQty = string.find(ch1_1, 'qty%s=%s(%d+)')
  448.       if not bet[chItem] then
  449.         table.insert(bet,chItem)
  450.         table.insert(qty,chQty)
  451.       else n = bet[chItem]
  452.         num = tonumber(qty[n])
  453.         num = num + tonumber(chQty)
  454.         qty[n] = num
  455.       end
  456.     end
  457.     l.setCursorPos(8,16)
  458.     m.setCursorPos(8,16)
  459.     n.setCursorPos(8,16)
  460.     o.setCursorPos(8,16)
  461.     for i = 1,#bet do
  462.       l.write(qty[i].." "..bet[i]..", ")
  463.       m.write(qty[i].." "..bet[i]..", ")
  464.       n.write(qty[i].." "..bet[i]..", ")
  465.       o.write(qty[i].." "..bet[i]..", ")
  466.     end
  467.   elseif t == "redstone" then
  468.     for k in pairs (team1) do
  469.       team1[k] = nil
  470.     end
  471.     for k in pairs (team2) do
  472.       team2[k] = nil
  473.     end
  474.     setup()
  475.   end
  476.   sleep(0.5)
  477. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement