Перейти к содержимому

Koteyk0o

Пользователи
  • Публикации

    53
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Все публикации пользователя Koteyk0o

  1. Вся функция должна выполняться в цикле, но в функции есть команда, которая выполняется один раз, помимо другого То-есть вот так примерно local function kek() print('Привет') -- print надо выполнить один раз if rs.getBundledInput(1,1) > 0 then rs.setBundledOutput(1,5,255) else rs.setBundledOutput(1,5,0) end end while true do kek() os.sleep(0.5) end
  2. я неправильно написал, как раз таки да, сколько выполнится функция, столько выполнится и print а мне надо чтобы Print выполнился только один раз, хоть и функция в цикле По идее надо сделать переменную, и если print выполняется один раз, то записываем это в переменную, и print больше не выполняется Или можно сделать как-то еще?
  3. То-есть допустим есть цикл, есть функция В функции есть команда print('Привет') Функция находится в цикле, ибо там обновляется информация Но в функции команда print('Привет') выполняется только один раз, хоть и функция в цикле
  4. Это я знаю, да Но так как страница находится в цикле, если поместить в код страницы term.clear() допустим, то страница будет постоянно очищаться, то-есть мигать
  5. Спасибо, а как очистить экран один раз после переключения страницы? То-есть убрать старую инфу с экрана А то бывает что символы после переключения накладываются
  6. Наверное это глупая тема, но все же. Допустим у меня есть несколько страниц в дисплее с информацией и графикой. Как очистить один раз экран в цикле? И когда осуществляется переход между страницами дисплея, надо его чистить. Но при этом, на некоторых страницах есть информация, которая обновляется в реал тайме. И как сделать переход между страницами, не останавливая выполнение программы? Ну то-есть не используя os.sleep, чтобы информация на экранах могла обновляться, но и при этом был переход между страницами. local component = require("component") local term = require("term") local gpu = component.gpu local computer = require('computer') local rs = component.redstone local green = 0x04ff00 -- зеленый цвет local red = 0xff0000 -- красный цвет local gray = 0x262525 -- серый цвет local white = 0xffffff -- белый цвет local yellow = 0xfaff00 -- желтый local purple = 0xc300ff -- фиолетовый local black = 0x000000 -- черный local blue = 0x000cff -- синий gpu.setBackground(black) local function getAllSpecificComponets(filter) local tableObjects ={} for address, componentType in component.list(filter) do table.insert(tableObjects, component.proxy(address)) end return tableObjects end local function mfsu() -- первая страница информации gpu.setResolution(4,3) gpu.setForeground(white) gpu.set(1,1,'MFSU') myMFSU = getAllSpecificComponets('mfsu') gpu.set(1,3,tostring(math.floor(myMFSU[6].getStored()*100/40000000))..' %') end local function clocks() -- вторая страница информации gpu.setResolution(5,3) gpu.setForeground(white) gpu.set(2,1,'TIME') myMFSU = getAllSpecificComponets('mfsu') gpu.set(1,3,os.date('%H:%M')) end while true do mfsu() -- Как вот тут сделать переход между страницами, не прерывая обновление информации? clocks() end
  7. спасибо, я не так искал просто ;D
  8. Не работает!1!1111!! Блин, автор был последний раз на форуме в Июне, походу не увижу рабочий монитор жидкостей(( Ни у кого нет норм монитора жидкостей?
  9. Спасибо большое, все работает И как раз понял как это все работает
  10. Да, забыл написать, есть компик с прогой, прога чекает чат чатбоксом А как разобрать сообщение на отдельные слова и проверить ник? В инете не нашел инфы И забыл написать, вайт-лист в проге, не на сервере То-есть список тех игроков, на сообщения которых чатбокс будет реагировать
  11. В общем есть чат бокс из Computronics И надо сделать добавление юзера в вайт-лист командой из чата допустим $$adduser НИК Как считать ник? Допустим отправляем в чат $$adduser Koteyk0o и получаем сообщение "$$adduser Koteyk0o" Как из этого сообщения считать ник?
  12. Даа, точно, после else забыл про gpu.setForeground(red) Жесть, целый час искал проблему, не мог понять в чем косяк Да, код попробую сократить Огромное спасибо Да, спасибо, поправлю код
  13. Сделал небольшую хрень для визуализации питания систем дома Но есть проблема с 3 последними стрелками Именно почему-то последние 3 стрелки тупят, со всем остальным норм Мне кажется это потому, что возможно я неправильно использую gpu.setForeground Проблема находится на строчках 157-185 При активации стрелки на строчке 157, активируются все стрелки которые находятся ниже, то-есть 169,178 строчки С остальными стрелками все нормально, они загораются как надо Буду очень благодарен за помощь Код говнокод проги Работает нормально, загорается одна стрелочка, как и надо А вот тут косяк, должна гореть одна нижняя стрелочка, горят все три сразу
  14. Спасибо, понял Получается когда лампа мигает с помощью слипов, и приходит событие от модема, то оно просто пропускается из-за сна системы Спасибо большое за помощь
  15. Что blink это не эвент а переменная это я понял, просто не так выразился Я имел ввиду то, что когда эвент blinkOFF, то переменной blink присваивается значение false добавил в event.pull таймаут 0.5 секунд, но все равно комп отказывается видеть команду на выключение, и из-за этого не присваивает переменной blink значение false, и мигание просто не отключается чувствую себя тупым((( local component = require("component") local event = require("event") local m = component.modem local rs = component.redstone m.open(27) -- открываем порт rs.setBundledOutput(4,0,0) -- вырубаем все сигналы rs.setBundledOutput(4,3,0) rs.setBundledOutput(4,9,0) rs.setBundledOutput(4,15,0) rs.setBundledOutput(4,1,0) rs.setBundledOutput(4,4,0) rs.setBundledOutput(4,14,0) rs.setBundledOutput(4,6,0) os.sleep(0.2) m.broadcast(80,'Компьютер загружен') -- сообщаем главному компьютеру о загрузке while true do local _, _, from, port, _, message = event.pull(0.5,modem_message) print('message= ',message) if message == 'LampON' then -- значение переменной 1 local blink = true end if message == 'LampOFF' then -- значение переменной 0 local blink = false end if blink == true then -- если переменная больше нуля, то мигаем rs.setBundledOutput(4,4,255) os.sleep(0.4) rs.setBundledOutput(4,4,0) os.sleep(0.3) end end
  16. В таком случае лампа мигает один раз, и на этом все А необходимо сделать так, что когда blink = true лампа мигает бесконечное кол-во раз, пока не будет эвента на выключение, то-есть blink = false
  17. Спасибо за разъяснение, но как я понимаю она будет мигать тогда, когда будет команда на включение И выходит придется постоянно подавать команду на включение?
  18. В общем когда в комп по сети отправлена команда "LampON", то он должен мигать лампой которая подключена к нему бандлед кабелем. Команда принимается, все ок, но это нельзя выключить когда подается команда "LampOFF" компьютер на нее не реагирует, пока не убьешь цикл мигания В чем косяк? Подскажите пожалуйста, какая у меня ошибка в моем коде говнокоде)) local component = require("component") local event = require("event") local m = component.modem local rs = component.redstone m.open(27) -- открываем порт rs.setBundledOutput(4,0,0) -- вырубаем все сигналы rs.setBundledOutput(4,3,0) rs.setBundledOutput(4,9,0) rs.setBundledOutput(4,15,0) rs.setBundledOutput(4,1,0) rs.setBundledOutput(4,4,0) rs.setBundledOutput(4,14,0) rs.setBundledOutput(4,6,0) os.sleep(0.2) m.broadcast(80,'Компьютер загружен') -- сообщаем главному компьютеру о загрузке while true do local _, _, from, port, _, message = event.pull("modem_message") print("Got a message from " .. from .. " on port " .. port .. ": " .. tostring(message)) if message == 'LampON' then -- значение переменной 1 lampstatus = 1 end if message == 'LampOFF' then -- значение переменной 0 lampstatus = 0 end while lampstatus > 0 do -- если переменная больше нуля, то мигаем rs.setBundledOutput(4,4,255) os.sleep(0.4) rs.setBundledOutput(4,4,0) os.sleep(0.3) end end
  19. Спасибо большое, этого в принципе хватило Если сигнал изменился -> какой сигнал изменился -> если тот сигнал который нам надо -> выполняем то что задано
  20. И еще вопрос, есть обычная физическая кнопка, она подключена допустим к красному проводу в шине. Когда ее нажимаю, должно написать button pressed. Но ничего не происходит. Что не так? local component = require("component") local rs = component.redstone while true do if rs.getBundledInput(left,red) > 0 then print("BUTTON PRESSED") end end
  21. Всем привет В общем есть прога, она установлена на главном компе, и чекает все сообщения в сети на 3333 порту И есть второй комп, который при нажатии на кнопку отправляет в сеть сообщение с цифрой нажатой кнопки (То-есть пятая кнопка это сообщение в виде "5555") То-есть на кнопку нажал, сообщение отправилось, главный комп сообщение принял, включил определенный редстоун сигнал, и выключил его У меня такого не происходит, пока не нажмешь какую нибудь другую кнопку на втором компе И как можно реализовать вкл/выкл одной кнопкой? То-есть пришло сообщение, сигнал включился, пришло сообщение еще раз - выключился И еще вопрос, как помигать лампочкой через редстоун адаптер? То-есть допустим 1 секунду горит, 1 секунду не горит. и так бесконечно пока не прекратишь этот цикл На ардуинке все просто, там через delay можно сделать)) или millis, а тут не особо врубаюсь как это сделать Сорян за такие тупые вопросы, но только начал осваивать Lua(( local component = require("component") local event = require("event") local m = component.modem local rs = component.redstone local sides = require("sides") local colors = require("colors") m.open(3333) print(m.isOpen(3333)) while true do local _, _, from, port, _, message = event.pull("modem_message") print("Got a message from " .. from .. " on port " .. port .. ": " .. tostring(message)) if message == 5555 then rs.setBundledOutput(5,11,255) print("button5") end if message == 1111 then print("button1") end if message == 2222 then print("button2") end if message == 3333 then print("button3") end if message == 4444 then print("button4") end end
×
×
  • Создать...