Advertisement
Guest User

functions

a guest
Jul 20th, 2022
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.82 KB | None | 0 0
  1. scambi = {}
  2. semafori = {}
  3. scambiPos = {}
  4. scambiName = {}
  5. scambiStatus = {}
  6. semaforiPos = {}
  7. semaforiName = {}
  8. semaforiStatus = {}
  9.  
  10. function split(s, delimiter)
  11.   result = {}
  12.   for match in (s..delimiter):gmatch("(.-)"..delimiter) do
  13.     table.insert(result, match)
  14.   end
  15.   return result
  16. end
  17.  
  18. function scambio(x, y, type, color)
  19.   local scambio = {}
  20.   table.insert(scambio, color)
  21.   table.insert(scambio, x)
  22.   table.insert(scambio, y)
  23.   table.insert(scambio, type)
  24.   table.insert(scambi, scambio)
  25.   table.insert(scambiPos, x .. "," .. y)
  26.   table.insert(scambiName, color)
  27.   table.insert(scambiStatus, "false")
  28. end
  29.  
  30. function semaforo(x, y, color)
  31.   local semaforo = {}
  32.   table.insert(semaforo, color)
  33.   table.insert(semaforo, x)
  34.   table.insert(semaforo, y)
  35.   table.insert(semafori, semaforo)
  36.   table.insert(semaforiPos, x .. "," .. y)
  37.   table.insert(semaforiName, color)
  38.   table.insert(semaforiStatus, "false")
  39. end
  40.  
  41. function getSemaforoPositionByName(color)
  42.   for i, v in pairs(semaforiName) do
  43.     if (v == color) then
  44.       return semaforiPos[i]
  45.     end
  46.   end
  47. end
  48.  
  49. function getScambioPosByName(color)
  50.   for i, v in pairs(scambiName) do
  51.     if (v == color) then
  52.       return scambiPos[i]
  53.     end
  54.   end
  55. end
  56.  
  57. function getScambioTypeByName(color)
  58.   for i, v in pairs(scambiName) do
  59.     if (v == color) then
  60.       return scambi[i][4]
  61.     end
  62.   end
  63. end
  64.  
  65. function getScambioNameByPos(x, y)
  66.   for i, v in pairs(scambiPos) do
  67.     if (x .. "," .. y == v) then
  68.       return scambiName[i]
  69.     end
  70.   end
  71. end
  72.  
  73. function viewScambi()
  74.   for i, v in pairs(scambiName) do
  75.     local dim = split(scambiPos[i], ",")
  76.     local type = getScambioTypeByName(v)
  77.     term.setCursorPos(tonumber(dim[1]), tonumber(dim[2]))
  78.     term.setTextColor(colors.white)
  79.     term.setBackgroundColor(colors.blue)
  80.     if isScambioDeviato(v) == "true" then
  81.       term.write(type)
  82.     else
  83.       term.write("-")
  84.     end
  85.   end
  86. end
  87.  
  88. function isScambioDeviato(color)
  89.   for i, v in pairs(scambiName) do
  90.     if v == color then
  91.       return scambiStatus[i]
  92.     end
  93.   end
  94.   return false
  95. end
  96.  
  97. function getSegnaleNumberInArray(color)
  98.   for i, v in pairs(scambiName) do
  99.     if v == color then
  100.       return i
  101.     end
  102.   end
  103.   return false
  104. end
  105.  
  106. function setScambio(color)
  107.   local pos = split(getScambioPosByName(color), ',')
  108.   term.setCursorPos(tonumber(pos[1]), tonumber(pos[2]))
  109.   term.setTextColor(colors.white)
  110.   term.setBackgroundColor(colors.blue)
  111.   local number = getSegnaleNumberInArray(color)
  112.   if isScambioDeviato(color) == "true" then
  113.     scambiStatus[number] = "false"
  114.   else
  115.     scambiStatus[number] = "true"
  116.   end
  117.   local actNumber = 0
  118.   for i, v in pairs(scambiStatus) do
  119.     if v == "true" then
  120.       actNumber = actNumber + colors[scambiName[i]]
  121.     end
  122.   end
  123.   rs.setBundledOutput("bottom", actNumber)
  124. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement