Advertisement
DreamWolf

V For Symon Edition

Mar 7th, 2024 (edited)
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.47 KB | None | 0 0
  1. -- Инициируем все библиотеки и переменные
  2. local colors = require("colors")
  3. local component = require("component")
  4. local gpu = component.gpu
  5. local term = require("term")
  6. local br_reactor
  7. local PR
  8. local RR
  9. br_reactor = component.br_reactor
  10.  
  11.  
  12. -- Переводим реактор в активное состояние
  13. br_reactor.setActive(true)
  14.  
  15. -- Меняем цвет фона
  16. gpu.setForeground(0xFFFFFF)
  17.  
  18.  
  19. --Опускаем стержни, пока не будет сделана настройка системы
  20. if component.isAvailable("br_reactor") then
  21. br_reactor.setAllControlRodLevels(100)
  22. stats = br_reactor.getActive()
  23. else
  24. print("Этой программе требуется беспроводной модем для работы!")
  25. end
  26.  
  27. --Очистка терминала
  28. term.clear()
  29.  
  30.  
  31. --Вывод текста и выбор ячейки
  32. print("Сделано Волчарой")
  33. print("Добро пожаловать в программу для поддерживания реактора в нужном количестве энергии")
  34. print("Пожалуйста, выберете из какого мода используется ячейка")
  35. print("1) ThermalExpansion")
  36. print("2) Ender IO")
  37.  
  38. --Ввод ответа
  39.  
  40. local DD = tonumber(io.read())
  41.  
  42. --Проверка на выбор
  43.  
  44. if DD == 1 then
  45. --Инициируем и определяем называние ячейки
  46. nazv = "ThermalExpansion"
  47. bank = component.tile_thermalexpansion_cell_resonant_name
  48. print("")
  49. print("Вы выбрали ThermalExpansion")
  50.  
  51. else
  52. nazv = "EnderIO"
  53. bank = component.capacitor_bank
  54. print("")
  55. print("Вы выбрали Ender IO")
  56.  
  57. end
  58.  
  59. --Выюор режима работы MFSU
  60.  
  61. print("Выбери режим работы")
  62. print("1) Режим без MFSU")
  63. print("2) Режим с MFSU")
  64.  
  65. --Проверка максимума и ввод на выбор
  66.  
  67. local YACH = bank.getMaxEnergyStored()
  68. local MFSs = tonumber(io.read())
  69.  
  70. -- Проверка и если да, выбор в пользу MFSU, инициируем нужные библиотеки
  71.  
  72. if MFSs == 2 then
  73. print("Пожалуйста, введите номер стороны как вы ставили свой (Красный камень) ")
  74. print("Подсказка: Верх: 0, Вниз:1, Зад:2, Перед:3, Право:4, Лево:5")
  75. sid = tonumber(io.read())
  76. mfsu = component.mfsu
  77. red = component.redstone
  78. mfsuS = mfsu.getEUStored()
  79. print("Пожалуйста, введите ограничение для ячейки " .. nazv)
  80. print("Максимальное количество энергии в ячейке: " .. YACH)
  81. rar = tonumber(io.read())
  82.  
  83. else
  84. end
  85.  
  86.  
  87. --Проверка вместимости ячейки
  88. local YACH = bank.getMaxEnergyStored()
  89.  
  90. print("")
  91. print("Через 5 секунд программа включится и вы должны указать, сколько должна программа поддерживать rf энергии в накопителе")
  92. print("Максимальное количество энергии в ячейке: " .. YACH)
  93.  
  94. --Ожидание 5 сек.
  95. os.sleep(5)
  96.  
  97. --Ввод данных (поддержка)
  98. local PR = tonumber(io.read())
  99.  
  100. --Проверка данных на ёмкость и поддержку
  101. while PR > YACH do
  102. print("Вы ошиблись в вводе данных, пожалуйста, попробуйте снова")
  103. PR = tonumber(io.read())
  104. end
  105.  
  106. --Проверка на MFSU и если да, то выбираем количество и т.д.
  107.  
  108. if MFSs == 2 then
  109. print("Выберите количество поддержки для MFSU")
  110. lol = mfsu.getEUCapacity()
  111. print("Максимально возможно: " .. lol)
  112. mfsup = tonumber(io.read())
  113.  
  114. while mfsup > lol do
  115. print("Вы ошиблись в вводе данных, пожалуйста, попробуйте снова")
  116. mfsup = tonumber(io.read())
  117. end
  118.  
  119. else
  120. end
  121.  
  122. --Ввод данных (обновление)
  123. print("Как часто будет происходить обновление ёмкости? (Укажите в секундах)")
  124. local RR = tonumber(io.read())
  125.  
  126. --Очистка терминала + благодарственное письмо
  127. term.clear()
  128. print("Спасибо за выбор программы Support For Cell. Удачного использования")
  129. os.sleep(5)
  130.  
  131. --Проверка доступности реактора + выключение по завершении работы реактора
  132. while stats == true do
  133. stats = br_reactor.getActive()
  134. local X = bank.getEnergyStored()
  135.  
  136. --Очистка терминала
  137. term.clear()
  138.  
  139. --Основной текст + Вывод данных (Поддержка + ёмкость ячейки)
  140. print("Сделано Волчарой")
  141. print("Для выключение программы зажмите сочетание клавиш CTRL+ALT+C, или просто вручную выключите реактор и он выключится через " .. RR .. " секунд")
  142. print("Вы выбрали поддержку = " .. PR)
  143. print("Ёмкость ячейки = " .. X)
  144.  
  145. --Вывод статуса стержней
  146. if X < PR then
  147. print("Статус стержней: Подняты")
  148. else
  149. print("Статус стержней: Опущены")
  150. end
  151.  
  152. --Если выбор в пользу MFSU делаем цикл с редстоуном
  153.  
  154. if MFSs == 2 then
  155. local mfsuS = mfsu.getEUStored()
  156. print("Сейчас в MFSU хранится = " .. mfsuS)
  157. print("Вы выбрали поддержку для MFSU = " .. mfsup)
  158. if rar < X then
  159. if mfsuS < mfsup then
  160. print("Идёт перекачивание энергии в MFSU")
  161. red.setOutput(sid, 15)
  162. else
  163. print("Не идёт перекачивание энергии в MFSU. (Этого просто не требуется)")
  164. red.setOutput(sid, 0)
  165. end
  166. else
  167. red.setOutput(sid, 0)
  168. print("Не идёт перекачивание энергии в MFSU. (Слишком низкое количество энергии в изначальной ячейке")
  169. end
  170. else
  171. end
  172.  
  173. --Ожидание по частоте обновления
  174. os.sleep(RR)
  175.  
  176. --Регулировка стержней по поддержке
  177. if X < PR then
  178. br_reactor.setAllControlRodLevels(0)
  179. else
  180. br_reactor.setAllControlRodLevels(100)
  181.  
  182. --Конец программы
  183. end
  184. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement