Koteyk0o
-
Публикации
53 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Сообщения, опубликованные пользователем Koteyk0o
-
-
Обновлена версия для Extreme Reactors
- Пофикшен краш проги при выгрузке чанка с реактором.
- Строка выработки энергии показывает не только целое число, а и десятую долю.
-
1
-
11 минуту назад, uraabk сказал:Каждому коммутатору нужны будут диск, цп и память получается?
Если сильно сеть не напрягать, то не обязательно.
11 минуту назад, uraabk сказал:Но ведь если два игрока на двух компах купят одновременно что то, то отправится два файла из которых только один примется/сохранится на других пк или нет?
Ну это уже неверный подход к тому что тебе надо. Я так понял в общую какую-то базу записываются транзакции, они должны записываться через какой-то метод или что-то в этом роде. То-есть должна быть база (таблица, или хз что ты там используешь) в которую будут вноситься данные от других компов
1 минуту назад, uraabk сказал:Получается надо pim соединить с монитором и все это подключить к скрипту на компе и так для каждого монитора/pim, но разве они не будут мешать друг другу? Скрипт один, а мониторов много...
Как я понял там вообще мульти-мониторный вывод не реализован, но если писать самописную прогу нет никаких проблем отрисовывать инфу с одного компа на несколько мониторов.
Биндишь один моник к компу, отрисовываешь инфу на нем, биндишь другой моник, отрисовываешь инфу уже на нем, и так по кругу (ну или же лучше делать это не в цикле, а по каким-то эвентам)
-
2 минуты назад, uraabk сказал:Да куда там реальных)) Из ОС конечно же.
Ну тогда как я уже сказал выше, через сериализацию и отправку через сетевые модемы. Соединять компы надо через свитчи, чем меньше тем лучше, ибо сети OC достаточно медленные. Ну я думаю там если что сам разберешься.
-
8 минут назад, uraabk сказал:как соединить компы или создать общий файл со всеми данными на каком нибудь другом пк или что то в это духе?
Я не совсем понял, это все происходит на компах из OC? Или на реальных компах?
Если на компах из OC, то сериализация данных с помощью встроенной либы serialization, дальше отправка с помощью модемов по сети (через send, или broadcast, что больше подходит)
-
1
-
-
7 минут назад, aMax сказал:@Koteyk0o Объясню лучше. СВОЯ, значит на выбор. Свободный выбор. В любом случае я нашёл решение.
Объясню лучше, на будущее. OpenFM это лишь компонент для воспроизведения музыки по ссылке. СВОЮ музыку можно прикрутить откуда угодно, лишь бы была ссылка на воспроизведение. Пишешь прогу для поиска или хранения ссылок на музыку - получаешь свою музыку какую хочешь.
-
Будет исправлено, всем спасибо)
-
2 часа назад, hohserg сказал:Можно костылем пофиксить: определить разницу между сторонами north и forward, перехватывать и корректировать в ивенте сторону
Не совсем понял. Ведь редстоун карта сейчас возвращает сторону относительно всего мира, там не только north и forward. Кодом никак не определить сторону правильно, в данный момент. Только если не перебирать стороны где появился/исчез сигнал при срабатывании эвента, но это прям костыль костыль, хотя и должно работать
-
Редстоун карта возвращает ивент redstone_changed со стороной относительно всего мира, а не как повернут компьютер. Это баг или фича?
Отчетливо помню что раньше было не так (потому что после обновления на новый OC у меня перестал работать мой старый код, лол)
Если раньше оно возвращало сторону относительно компьютера, то сейчас возвращает относительно всего мира.
При этом, методы вроде setBundledOutput(3, 15, 255) как работали относительно стороны компьютера, так и работают.
Не создавал бы эту тему, если бы авторы мода ответили на мой issue
Потому что хочется получить ответ, это я шизанулся, или оно криво работает
В общем если откатить OC на версию 1.7.2 то там все ок работает, сторону возвращает относительно всего компа. С версии OC 1.7.3 оно уже возвращает сторону относительно всего мира.
В ченжлоге об этом ничего не сказано, так что похоже это все-таки баг.
ЦитатаChanged: redstone_changed event for bundled signals
Now includes the colour that changed, and only reports the old and new values for that colour-
1
-
1
-
-
Вставить ссылку, и включить, в чем проблема то?
radio.stop() radio.setURL('https://muz14.z1.fm/0/53/hans_zimmer__benjamin_wallfisch_-_tears_in_the_rain_(zf.fm).mp3') radio.play()
В новых версиях мода метод play() заменен на start()
Правда мод кривой кусок говна, потому что на некоторых версиях оно нормально пашет, а на некоторых версий неправильная ссылка может вообще убить радио вплоть до перезапуска мира. А так-же некоторые ссылки оно вообще может не воспроизводить без каких либо причин.
-
Накодил для себя монитор реактора из Extreme Reactors с поддержкой МЭ системы и хранилища из EnderIO
Прога с простым интерфейсом и крупным текстом, без всяких графических штучек, текст легко читается с экрана с большого расстояния
Что умеет:
- Вывод имени реактора (Если несколько реакторов то делаете несколько таких мониторов, и по имени реакторы будет проще найти)
- Расчет времени работы на остатке топлива (Если включена поддержка МЭ то расчет ведется с учетом йеллоурита в МЭ системе)
- Режим хранения (В этом режиме программа будет поддерживать ВЫКЛЮЧЕННОЕ состояние реактора)
- Время последнего включения реактора
- Вывод мощности реактора, вывод остатка топлива в МЭ и в самом реакторе, вывод запаса энергии в батарее EnderIO
- Поддержание нужного уровня заряда батареи реактора
Что не умеет (Но возможно будет добавлено):
- Не поддерживается несколько экранов
- Не поддерживаются несколько реакторов
- Не поддерживаются турбины
- Нет управления по модему
Проблемы:
- На 1.12.2 накопитель из EnderIO не считывается адаптером как мультиблочное хранилище, поэтому выводится информация только об одном блоке накопителя (На 1.7.10 все работает)
Конфиг:
reactor_Control = true, -- Разрешить управление реактором reactor_Storage_Mode = false, -- Режим хранения реактора, программа всегда будет поддерживать ВЫКЛЮЧЕННОЕ состояние ME_Storage_Support = false, -- Поддержка внешнего хранилища (Расчет остатка времени работы с учетом топлива в хранилище, и вывод топлива в хранилище на экран) EIO_Capacitor_Support = false, -- Поддержка EnderIO (Вывод запаса энергии на экран) reactor_Percent_Off = 100, -- Процент заполнения батареи реактора при котором он автоматически выключится reactor_Percent_Hysteresis = 5, -- Гистерезис заполнения батареи реактора reactor_Name = 'Nexus-6', -- Имя реактора
Установка (Версия для Extreme Reactors):
wget https://raw.githubusercontent.com/whoisnotthere/Extreme-Reactors-Display/refs/heads/main/reactor.lua /home/reactor_Display.lua
-
5
-
Ты не обновляешь контейнер раз в секунду, а отрисовываешь его содержимое раз в секунду - это большая разница. Пожалуйста, читай документацию более вдумчиво: в ней подробно описана концепция либы.Точно, спасибо, я почему-то подумал что это отрисовка с обновлением
Как говорится, ложь, говнокод и провокация. Скорее всего, ты сначала создаешь объекты под жирное разрешение экрана, затем изменяешь его на меньшее, позабыв изменить размеры объектовПросто при загрузке проги я изменял разрешение обращаясь напрямую к gpu, а оказывается надо обращаться к буферу. Спасибо
-
У меня возник тут достаточно туповатый вопрос. Как обновить os.time в контейнере? как я понимаю os.time выводить надо через Label, я вывожу, label присвоен контейнеру допустим с названием Time, и я допустим обновляю этот контейнер раз в секунду через Time:drawOnScreen(), но изменений я не вижу, как я понимаю я делаю что-то не так, хотелось бы узнать как это можно реализовать.
И еще у меня с либой две проблемы. На довольно старых версиях либы, когда еще GUI.list был GUI.tabBar все работало нормально, то-есть кликаешь на вкладку бара и все сразу переключается, сейчас же на вкладку надо нажимать по 2 раза, чтобы ее переключить. Баг или фича?
И на мониторах с маленьким разрешением по ширине (моник третьего уровня, но из-за нужд он используется с разрешением 80*50) некоторые элементы не помещаются на экран. То-есть у GUI.alert кнопка OK уезжает куда-то за пределы экрана вправо, а палитра вообще только наполовину помещается на экран, вроде это все проблемы
-
Программу не знаю но есть один метод
Можно распечатать модель из нескольких моделей :

При нажатии кнопки меняется режим редактора (С редактирования модели на "Многомодельный режим")
Тут я разместил 2 моделиДалее фича:

Можно включить сетку которая разделяет(визуально) модель на блоки число 16 это число на которые нужно разделить для блока в майне это число равно 16
Для того чтобы модель получалась не кривая нужно чтобы число блоков (в пример 64 64 64) делились на 16 без остатка
Пример модели с несколькими частями:
Модель ракеты Falcon 9 
Её части
Если построить эту модель она будет в высотой больше 60 блоков
P.S я распечатываю несколько моделей и собираю в одну большую
Супер, спасибо большое про метод, я не знал про него
Фалкон 9 очень крутой
-
Не подскажете какую нибудь программу редактирования 3Д моделей для дальнейшей печати на принтерах?
MagicaVoxel имеет ограничение 126^3, что позволяет распечатывать модели всего лишь размером до 7.8^3, что немного удручает
-
Написал, что не подходит, а причину не указал. Почему не подходит-то? Лично я для тех же целей использую именно GUI.textBox с параметром autoWrap = true и autoHeight = true
Действительно, сорри, как-то не обратил внимание на эти параметры
Но вообще странно что виджеты не переносят текст при превышении ширины
-
Идея
Сделать перенос текста в виджете Label/Text по превышению кол-во символов по ширине
То-есть если ширина виджета 50 пикселей, и текст не помещается в первую строку то текст начинает переносится
Хотя может конечно я не знаю, может это реализовано, но в документации ничего не нашел
TextBox не совсем подходит под это, ибо допустим если надо сделать описание какой-то кнопки под этой кнопкой, то приходится лепить несколько лейблов ибо текст просто не помещается
-
Никаких улучшений графика не планируется? Чтобы поддерживал отрицательные и положительные значения одновременно, типо поделить ось Y на 2 половины, или динамическое обновление графика по времени.
И еще, как можно заставить график обновляться динамически грубо говоря.
У меня просто по сети приходят значения, которые должны быть в графике, а получается график обновляется только при обновлении страницы с графиком
-
У изображений функция .onTouch работает?
Код
radioLayout:addChild(GUI.image(55, 19, image.load('/addfm.pic'))).onTouch = function() GUI.error('test') endПри нажатии на изображение ничего не происходит, совсем

-
Небольшое обновление, касающееся поставляемых по дефолту приложений и UX в целом:
• Добавлено приложение Braille для удобного создания изображений, составленных из символов Брайля
Было бы неплохо добавить заливку в приложение Braille, и было бы норм, а то вручную закрашивать все пиксели на большом изображении как-то ваще не круто(
И еще, когда в этой проге рисуешь что-то, и нечаянно задеваешь элемент этой проги, то чертово окно меняет свое расположение
И добавьте ластик, ибо без ластика ваще туго
-
Спасибо огромное, лучшая gui либа

-
У меня вопрос, а как можно менять контейнеры кнопкой?
Допустим в одном контейнере куча кнопок и какое нибудь изображение, в другом контейнере список, в третьем еще что нибудь, и т.д
Как эти контейнеры можно менять кнопкой? То-есть сначала остановить слушание эвентов, очистить буфер, загрузить новый контейнер, запустить слушание эвентов и отрисовать этот контейнер? или не так?
И еще, а можно ли как нибудь в либе организовать изменение размера текста? Конечно можно уменьшить разрешение, и тогда типо текст будет больше, но без изменения разрешения, допустим задействуя под символ несколько пикселей
-
Спасибо большое за помощь

-
Вопрос к автору темы, как с этой либой делать что либо в цикле?
Возможно я просто немного тупой, но у меня цикл не работает
local component = require("component") local term = require("term") local event = require("event") local gpu = component.gpu local computer = require('computer') local m = component.modem local screen = component.screen local rs = component.redstone local buffer = require("doubleBuffering") local GUI = require("GUI") local gray = 0x262525 -- серый цвет local white = 0xffffff -- белый цвет local button2 = 0x00d4ff -- цвет кнопки local button1 = 0x00a9ff -- цвет нажатия кнопки local black = 0x000000 -- черный local alarmbus = 1 local signalbus = 4 m.open(21) -- Открываем порт для управления term.clear() gpu.setResolution(74,50) local function onoffdisplay() if rs.getBundledInput(alarmbus,15) > 0 then screen.turnOn() else screen.turnOff() end end local mainContainer = GUI.fullScreenContainer() mainContainer:addChild(GUI.panel(1, 1, mainContainer.width, mainContainer.height, white)) mainContainer:addChild(GUI.panel(1, 1, mainContainer.width, 3, gray)) mainContainer:addChild(GUI.panel(1, 1, mainContainer.width, 3, gray)) mainContainer:addChild(GUI.label(35, 2, 5, 1, white, os.date('%H:%M'))) mainContainer:addChild(GUI.roundedButton(2, 6, 12, 5, button1, white, button2, white, 'Lights')).onTouch = function() m.broadcast(27,'lightsOnOff') end mainContainer:draw() buffer.draw(true) mainContainer:startEventHandling()Это код от панели управления в доме, когда на шине есть сигнал - экран включен, когда сигнала нет - выключен
В общем если добавить в конец
while true do onoffdisplay() end
То компьютер все равно не реагирует на изменения редстоуна
Просто решил использовать эту либу, а с ней у меня циклы почему-то не работают
Возможно есть какие-то ограничения, или что-то типо того?
-
Можно разделить функцию на две:
local function kek1() print('Привет') -- print надо выполнить один раз end local function kek2() if rs.getBundledInput(1,1) > 0 then rs.setBundledOutput(1,5,255) else rs.setBundledOutput(1,5,0) end end kek1() while true do kek2() os.sleep(0.5) endА можно воспользоваться флагом
local flag=true local function kek() if flag then print('Привет') -- print надо выполнить один раз flag=false end 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Спасибо, как раз версия с флагом подходит
А зачем огород городить? Можно же просто перед циклом воткнуть print('Привет').
Да, но тогда print будет выводиться только после запуска проги, а не после запуска функции
Тот код я всего лишь написал для примера

Chatbox и считывание команд для него
в Lua
Опубликовано:
Ого какую тему ты раскопал))
За эти 5 лет я успел выучить не только Lua