RazoR1 0 Опубликовано: 24 апреля, 2021 Описание: вывод определенной информации на open glases Награда: если кто возьмется за это то готов и материально помочь если мне помогут понять как это работает Оборудование: все что потребуется Требования к ПО: нужно сделать что бы на очки выводилась информация по энергии от реакторов и сколько поподает в молекулярный сборщик ! сам я похоже тут для такого Связь: дс RazoR1#5751 ( если есть те кто сможет разжевать интересующие меня темы буду очень рад с вами поговорить ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 586 Опубликовано: 24 апреля, 2021 Авось поможет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Xytabich 257 Опубликовано: 24 апреля, 2021 @Asior я описывал OpenPeripheral'овские очки, OpenGlasses это несколько другое https://minecraft.bymarcin.com/OpenGlasses/doku.php?id=start. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 586 Опубликовано: 25 апреля, 2021 аа, а я почему-то про них подумал, ну бывает. Ошибочка вышла Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
num_pi 29 Опубликовано: 17 декабря, 2021 У меня есть программа, но там нет вывода на очки энергии с реактора, молекулярки, но дописать это совсем не сложно. Вот держи. local component = require("component") local event = require("event") local keyboard = require("keyboard") local glasses = component.glasses local fs = require "filesystem" local timeConstant = 0.5 --время задержки для измерения тпс local uuid = { {["uuid_radar"] = "bf7955f9-b734-4b0d-9372-d5c034fabacf", ["name"] = "radar_home"} } local whitelist = { --Белый список, горят зеленым "user1", "user2" } local blacklist = { --Не выводим на очки совсем, те кто в ЧОРТном списке. "user3" } local function time() local f = io.open("/tmp/timeFile", "w") f:write("test") f:close() return (fs.lastModified("/tmp/timeFile")) end function addinformation() realTimeOld = time() os.sleep(timeConstant) realTimeNew = time() realTimeDiff = realTimeNew - realTimeOld TPS = 20000 * timeConstant / realTimeDiff tps_widget = glasses.addText2D() tps_widget.addTranslation(100, 14, 0) tps_widget.setText("TPS: ".. string.format("%.3f", TPS)) tps_widget.addColor(255,0,0,1) tps_widget.setFontSize(18) end function SaveListPlayers(Listplayers, TableListNamePlayers) TableListNamePlayers = Listplayers end function players() local location = {"Сейчас дома:"} for s = 1, #uuid do local radar = component.proxy(uuid[s].uuid_radar) local Listplayers = radar.getPlayers() print("ListplayersCount: " ..#Listplayers) print("uuidAmount: " ..#uuid) SaveListPlayers(Listplayers,uuid[s]) if Listplayers[1].name ~= nil then print("PlayersAvalabile: " ..Listplayers[1].name) function keyuuid() sskeyuuid = uuid[s].name.getID() end pcall(keyuuid) print(sskeyuuid) if sskeyuuid == nil then WidgetnameByNAME = uuid[s].name WidgetnameByNAME = glasses.addText2D() WidgetnameByNAME.addTranslation(x + 6,height, 0) WidgetnameByNAME.setText(location[s]) WidgetnameByNAME.addColor(255,215,0,1) WidgetnameByNAME.setFontSize(16) end for i = 1, #Listplayers do print("Listplayers[i].name: "..Listplayers[i].name) WidgetnameByNickName = Listplayers[i].name print("WidgetnameByNickName: " ..WidgetnameByNickName) WidgetnameByNickName = glasses.addText2D() WidgetnameByNickName.addTranslation(x + 10, 12 * i + height, 0) WidgetnameByNickName.addColor(255,0,0,0.4) for p = 1, #whitelist do if Listplayers[i].name == whitelist[p] then WidgetnameByNickName.addColor(0,255,0,0.85) plr = Listplayers[i].name WidgetnameByNickName.setText(plr) WidgetnameByNickName.setFontSize(12) end end for k = 1, #blacklist do if Listplayers[i].name == blacklist[k] then Listplayers[i].name.removeWidget() end end end height = height + #Listplayers * 10 + 10 end end end function main() if keyboard.isKeyDown(keyboard.keys.w) and keyboard.isControlDown() then print("Exiting...") os.exit() end offset = 17 height = 30 x, y = 1, 1 players() addinformation() end while true do pcall(main) os.sleep(6) glasses.removeAll() end Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Belzebub 0 Опубликовано: 17 декабря, 2021 По мерилу энергии могу посоветовать component.energy_counter.getCount (энергосчётчик) и component.average_counter.getAverage (стационарный энергосчётчик) из Nuclear Control 2. Если не ошибаюсь они умеют работать с eu и rf энергией, подключаются через адаптер. Вот пример использования energy_counter в проге с апдейтом через event.timer: c average_counter всё проще, но он багнутый и его считалка не всегда работает ¯\_(ツ)_/¯ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах