tommy2805

monitor batterie wireless pcsender v1

Feb 26th, 2023 (edited)
747
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.15 KB | None | 0 0
  1. os.loadAPI("ocs/apis/sensor");
  2. lastCount = 0;
  3. destPCID = 6139
  4. for a, b in pairs(rs.getSides()) do
  5.     if peripheral.getType(b) == "sensor" then
  6.         prox = sensor.wrap(b);
  7.         break
  8.     end
  9. end
  10. for a, b in pairs(rs.getSides()) do
  11.     if peripheral.getType(b) == "modem" then
  12.         rednet.open(b)
  13.         break
  14.     end
  15. end
  16. -- controllo batterie
  17. while true do
  18.     t = {};
  19.     tar = prox.getTargets();
  20.     i = 1;
  21.     count = 0;
  22.     for name, basicDetails in pairs(tar) do
  23.         local moreDetails = prox.getTargetDetails(name);
  24.         if moreDetails.Name == "Adjustable Energy Storage Unit" or moreDetails.Name == "LiFePO4 battery" then
  25.             t[i] = name;
  26.             i = i + 1;
  27.             count = count + 1;
  28.         end
  29.     end
  30.     if (count ~= lastCount) then
  31.         local table = {
  32.             Name = "clear"
  33.         }
  34.         rednet.send(destPCID, textutils.serialize(table))
  35.     end
  36.     sleep(0.5);
  37.     if count > 0 then
  38.         local table = {
  39.             Name = "show",
  40.             details = prox.getTargetDetails(t[1]),
  41.             Nslot = 1,
  42.             xPos = 3,
  43.             yPos = 3
  44.         };
  45.         rednet.send(destPCID, textutils.serialize(table))
  46.     else
  47.         local table = {
  48.             Name = "NoInput",
  49.             xPos = 4,
  50.             yPos = 4
  51.         }
  52.         rednet.send(destPCID, textutils.serialize(table))
  53.     end
  54.     sleep(0.5);
  55.     if count > 1 then
  56.         local table = {
  57.             Name = "show",
  58.             details = prox.getTargetDetails(t[2]),
  59.             Nslot = 2,
  60.             xPos = 20,
  61.             yPos = 3
  62.         };
  63.         rednet.send(destPCID, textutils.serialize(table))
  64.     else
  65.         local table = {
  66.             Name = "NoInput",
  67.             xPos = 21,
  68.             yPos = 4
  69.         }
  70.         rednet.send(destPCID, textutils.serialize(table))
  71.     end
  72.     sleep(0.5);
  73.     if count > 2 then
  74.         local table = {
  75.             Name = "show",
  76.             details = prox.getTargetDetails(t[3]),
  77.             Nslot = 3,
  78.             xPos = 36,
  79.             yPos = 3
  80.         };
  81.         rednet.send(destPCID, textutils.serialize(table))
  82.     else
  83.         local table = {
  84.             Name = "NoInput",
  85.             xPos = 37,
  86.             yPos = 4
  87.         }
  88.         rednet.send(destPCID, textutils.serialize(table))
  89.     end
  90.     sleep(0.5);
  91.     if count > 3 then
  92.         local table = {
  93.             Name = "show",
  94.             details = prox.getTargetDetails(t[4]),
  95.             Nslot = 4,
  96.             xPos = 3,
  97.             yPos = 9
  98.         };
  99.         rednet.send(destPCID, textutils.serialize(table))
  100.     else
  101.         local table = {
  102.             Name = "NoInput",
  103.             xPos = 4,
  104.             yPos = 10
  105.         }
  106.         rednet.send(destPCID, textutils.serialize(table))
  107.     end
  108.     sleep(0.5);
  109.     if count > 4 then
  110.         local table = {
  111.             Name = "show",
  112.             details = prox.getTargetDetails(t[5]),
  113.             Nslot = 5,
  114.             xPos = 20,
  115.             yPos = 9
  116.         };
  117.         rednet.send(destPCID, textutils.serialize(table))
  118.     else
  119.         local table = {
  120.             Name = "NoInput",
  121.             xPos = 21,
  122.             yPos = 10
  123.         }
  124.         rednet.send(destPCID, textutils.serialize(table))
  125.     end
  126.     sleep(0.5);
  127.     if count > 5 then
  128.         local table = {
  129.             Name = "show",
  130.             details = prox.getTargetDetails(t[6]),
  131.             Nslot = 6,
  132.             xPos = 36,
  133.             yPos = 9
  134.         };
  135.         rednet.send(destPCID, textutils.serialize(table))
  136.     else
  137.         local table = {
  138.             Name = "NoInput",
  139.             xPos = 37,
  140.             yPos = 10
  141.         }
  142.         rednet.send(destPCID, textutils.serialize(table))
  143.     end
  144.     sleep(0.5);
  145.     if count > 6 then
  146.         local table = {
  147.             Name = "show",
  148.             details = prox.getTargetDetails(t[7]),
  149.             Nslot = 7,
  150.             xPos = 3,
  151.             yPos = 15
  152.         };
  153.         rednet.send(destPCID, textutils.serialize(table))
  154.     else
  155.         local table = {
  156.             Name = "NoInput",
  157.             xPos = 4,
  158.             yPos = 16
  159.         }
  160.         rednet.send(destPCID, textutils.serialize(table))
  161.     end
  162.     sleep(0.5);
  163.     if count > 7 then
  164.         local table = {
  165.             Name = "show",
  166.             details = prox.getTargetDetails(t[8]),
  167.             Nslot = 8,
  168.             xPos = 20,
  169.             yPos = 15
  170.         };
  171.         rednet.send(destPCID, textutils.serialize(table))
  172.     else
  173.         local table = {
  174.             Name = "NoInput",
  175.             xPos = 21,
  176.             yPos = 16
  177.         }
  178.         rednet.send(destPCID, textutils.serialize(table))
  179.     end
  180.     sleep(0.5);
  181.     if count > 8 then
  182.         local table = {
  183.             Name = "show",
  184.             details = prox.getTargetDetails(t[9]),
  185.             Nslot = 9,
  186.             xPos = 36,
  187.             yPos = 15
  188.         };
  189.         rednet.send(destPCID, textutils.serialize(table))
  190.     else
  191.         local table = {
  192.             Name = "NoInput",
  193.             xPos = 37,
  194.             yPos = 16
  195.         }
  196.         rednet.send(destPCID, textutils.serialize(table))
  197.     end
  198.     lastCount = count;
  199.     sleep(1);
  200. end
Advertisement
Add Comment
Please, Sign In to add comment