Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
-- by zayats (fullscreen fixed) -------------------------------------------------- -- COMPONENTS -------------------------------------------------- local component = require("component") local unicode = require("unicode") local event = require("event") local computer = require("computer") local gpu = component.gpu local ae = component.me_interface -------------------------------------------------- -- FULLSCREEN -------------------------------------------------- local w, h = gpu.maxResolution() gpu.setResolution(w, h) gpu.fill(1, 1, w, h, " ") -------------------------------------------------- -- DATA -------------------------------------------------- local items = { {"Редстоун сингулярность", "minecraft:redstone_block", 0, 20900, "Avaritia:Singularity", 3}, {"Железная сингулярность", "minecraft:iron_block", 0, 19800, "Avaritia:Singularity", 0}, {"Кварцевая сингулярность", "minecraft:quartz_block", 0, 18700, "Avaritia:Singularity", 4}, {"Лазуритовая сингулярность", "minecraft:lapis_block", 0, 19800, "Avaritia:Singularity", 2}, {"Алмазная сингулярность", "minecraft:diamond_block", 0, 16236, "universalsingularities:universal.vanilla.singularity", 2}, {"Золотая сингулярность", "minecraft:gold_block", 0, 17600, "Avaritia:Singularity", 1}, {"Медная сингулярность", "ThermalFoundation:Storage", 0, 19800, "Avaritia:Singularity", 5}, {"Оловянная сингулярность", "ThermalFoundation:Storage", 1, 19800, "Avaritia:Singularity", 6}, {"Свинцовая сингулярность", "ThermalFoundation:Storage", 3, 18700, "Avaritia:Singularity", 7}, {"Серебрянная сингулярность", "ThermalFoundation:Storage", 2, 18700, "Avaritia:Singularity", 8}, {"Никелевая сингулярность", "ThermalFoundation:Storage", 4, 19800, "Avaritia:Singularity", 9} } local requestSize = 1 -------------------------------------------------- -- UI -------------------------------------------------- local function drawTable() local height = #items + 2 gpu.fill(1, 1, w, 1, "─") gpu.fill(1, 1, 1, height, "│") gpu.fill(w, 1, 1, height, "│") gpu.fill(1, height, w, 1, "─") gpu.set(1, 1, "┌") gpu.set(w, 1, "┐") gpu.set(1, height, "└") gpu.set(w, height, "┘") gpu.set(2, 1, "[Название]") gpu.set(w - 11, 1, "[Кол-во]") end local function drawButton(x, y, text, color) local old = gpu.getForeground() gpu.setForeground(color) gpu.set(x, y, text) gpu.setForeground(old) end local function draw() for i = 1, #items do local y = i + 1 gpu.set(2, y, items[i][1]) gpu.set(w - 11, y, tostring(items[i][4])) drawButton(w - 3, y, "+", 0x00FF00) end end -------------------------------------------------- -- AE UTILS -------------------------------------------------- local function getSize(name, dmg) for _, item in ipairs(ae.getItemsInNetwork()) do if item.name == name and item.damage == dmg then return item.size end end return 0 end -------------------------------------------------- -- EXPORT -------------------------------------------------- local function start(item) local need = item[4] local drop = 0 local tries = 0 gpu.set(2, #items + 2, item[1] .. " 0 / " .. need) while drop < need do local r = ae.exportItem({id = item[2], dmg = item[3]}, "DOWN", need - drop) local c = r and r.size or 0 drop = drop + c gpu.fill(2, #items + 2, w - 2, 1, " ") gpu.set(2, #items + 2, item[1] .. " " .. drop .. " / " .. need) if c == 0 then tries = tries + 1 if tries > 20 then break end os.sleep(0.1) end end end -------------------------------------------------- -- CRAFT -------------------------------------------------- local function craft(id) local item = items[id] if not item then return end while getSize(item[2], item[3]) < item[4] do ae.requestCrafting( {id = item[2], dmg = item[3]}, (item[4] * requestSize) - getSize(item[2], item[3]) ) gpu.fill(2, #items + 2, w - 2, 1, " ") gpu.set(2, #items + 2, "Доступно: " .. getSize(item[2], item[3]) .. " / " .. item[4] ) os.sleep(0.2) end start(item) end -------------------------------------------------- -- TOUCH -------------------------------------------------- local function detect(_, _, x, y) for i = 1, #items do if x == w - 3 and y == i + 1 then computer.beep(1000, 0.1) craft(i) end end end -------------------------------------------------- -- START -------------------------------------------------- drawTable() draw() event.listen("touch", detect) while true do os.sleep(0.1) end
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)