Totoro
-
Публикации
1 950 -
Зарегистрирован
-
Посещение
-
Победитель дней
289
Сообщения, опубликованные пользователем Totoro
-
-
Как обстоят дела с критическими точками и состоянием гонки?
А эти проблемы актуальны для сопрограмм Lua?
Проблема может возникнуть при неправильном проектировании программы (например доступа к файлу), но это уже проблема программиста а не библиотеки. Или я ошибаюсь?
-
В какой то момент программа муравья будет настолько сильной, что собрать стационарный генератор будет проще чем сжигать внутри. Строительные подпрограммы будут крафтить и собирать другие блоки, почему бы не собрать и зарядник.
Верно. Следовательно, весь Муравейник может развернуть один робот, который имеет апгрейды инвентарь, контроллер инвентаря, верстак и генератор (или панель).
Пришла интересная мысль. При наличии RailCraft может ли робот поставить зарядник, конвертер и Clockwork Engine, а далее заряжать сам себя периодически "подкручивая" пружину двигателя?
-
1
-
-
С черепашками проще - нашел лавовое озеро, сбегал на угле и заправился на год.
С роботами сложнее. Нужно целую базу строить что бы их заряжать. Но думаю тоже возможно.
Насчет лавы не уверен, но ездить на любом горючем материале или заряжаться от солнца могут и роботы. Им тоже не нужна база.
А вот реализация более сложной системы, когда роботы воспроизводят себя, на черепашках будет действительно проще. (С тех пор как роботы собираются не на верстаке, а в сборщике, который требует для работы внешний источник энергии.)
Чтобы упростить задачу, можно изменить стартовые условия и включить в минимальный "набор для захвата мира" сборщик и угольный генератор.

-
1
-
-
Все здорово осложняется необходимостью иметь источник энергии.
Самодостаточный "Скайнет" будет вынужден практически повторять путь развития обычного игрока в Майнкрафт (а ГрегТех дополнительно осложняет этот процесс).
-
1
-
-
Судя по всему, тебе нужен API redstone (или, кратко - rs).
Описание здесь - http://computercraft.info/wiki/Redstone_(API)
Краткий перевод здесь - http://minecraft-ru.gamepedia.com/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Xytabich/ComputerCraft/API/Redstone
Делаешь примерно такую программу:
while true do event = os.pullEvent("redstone") -- ждем сигнала if rs.getAnalogInput("left") == rs.getAnalogInput("right") then rs.setOutput("top", 15) -- если сигналы слева и справа совпали по силе - шлем сигнал вверх end endТам есть три набора функций:
redstone.getInput - возвращает просто true/false если есть/нет сигнала с заданной стороны
redstone.getAnalogInput - возвращает числовое значение от 0 до 15
redstone.getBundledInput - для работы с пучками проводов RedPower
Используй какой нужен.
-
немогу понять как работает лифт Totoro,(при выборе этажа должны загоратся красные камни на нужных этажах? или как-то по другому ?)
у меня почемуто не загораются красные камни
Не думал, что кто-то серьезно будет строить его, поэтому не сделал удобного интерфейса для настройки

Лифт строится так: делается рельса, этажи.
На первом этаже стоит блок редстоуна или факел. То есть сигнал подается всегда, чтобы вагонетка не упала с рельсы.
С тыльной стороны ставится компьютер, а его монитор используется как монитор первого этажа.
Скачиваем на него программу Elevator, изменяем константу TRACK_SIDE в начале. Она обозначает в каком направлении на рельсу будет подаваться сигнал редстоуна на этажах. Может принимать значения north, south, west и east (или back, front, right и left соответственно).
Далее надо сохранить и запустить на этом компьютере программу Elevator (должна появиться зеленая менюшка с одной кнопкой).
Теперь можно подключать этажи. Каждый этаж - это пара монитор и красный контролер (красные блоки на скриншотах сверху). Их можно соединить одним длинным кабелем с компьютером, который стоит внизу.
Хитрость в том, что этажи надо подключать поочередно. Чтобы они не перепутались в программе.
Сначала первый контроллер и монитор (они создадут кнопку "2" в меню), затем следующие контроллер и монитор (в меню появится кнопка "3") и т.д.
Я сделал так, чтобы можно было соединить все одним кабелем и не мучаться с назначением адресов вручную.
Все, осталось оторвать клавиатуру от самого первого монитора - и можно пользоваться. По клику на кнопке, контроллер соответствующего этажа выдаст сигнал на ту сторону, которая обозначена в начале программы константой TRACK_SIDE и вагонетка передвинется.
-
Я правильно понял, теперь что бы включить новый компьютер одной OP-дискеты не достаточно? Нужно еще Lua BIOS EEPROM. Или можно загрузиться только с EEPROM?
Чтобы загрузить стандартную OpenOS - да. Нужен Lua BIOS (или свой чип выполняющий аналогичные действия).
С одного только EEPROM тоже можно загрузиться. Если написать свой. (Я в блоге писал про особенности программирования EEPROM'а). Всю нужную функциональность надо будет тоже самому описать в коде (не больше 4 Кб, если больше - надо выносить код. На дискету (как делает OpenOS) или подгружать из сети).
Например надо будет забиндить видеокарту к монитору, иначе не будет видно изображения.
-
-
...
Не удивлюсь, если в ОС завтра появиться встроенный Биолок, RFID cards, Cryptographic accelerator, Speaker, свои сортировщики предметов такие как в MiscPeripherals, анализаторы гейтов и прочее. А возможно даже скоро в ОС появиться свой встроенный термоядерный реактор и молекулярная сборочная крафтящая машина.

...
Так что ОС - это аля-солянка всего что есть, скажем так, единый универсальный компьютерный мод, в котором скоро будет все, возможно даже свои мобы и картошка Фри. Так что все там будет хорошо, я думаю.
Пока что в ОС нет ничего лишнего.

Я не думаю, что автор будет изобретать свой ТЯР. Ибо во-первых мод просто поддерживает интерфейсы к уже существующим тярам. А во-вторых мод придерживается простых правил - если есть моды на энергию - они могут быть подключены к компьютерам. Если играешь без модов на энергию - компьютеры энергии не требуют.
Всякие добавляемые плюшки просто расширяют охват "компьютеризации". Чтобы компьютер был не просто фиговиной, которую зачем-то строят серверные фрики, а полезной и интересной вещью. (Моя точка зрения.)
P.S. А свой моб есть - дрон.

-
1
-
-
забыли про принтер который там тоже теперь есть, и он цветной! и он выглядит как принтер!
OpenPrinter это отдельный аддон от Michiyo.
(Для 1.7.10 нужно скачивать билд 73+)
-
1
-
-
А есть ли возможность ОС-компьютер включить в Craftnet?
СС-компьютер подключается по Craftnet к ОС-компьютеру. То подключается к мосту и регистрирует канал с именем, совпадающим с адресом СС-компьютера. Может ли такой ОС-компьютер обслуживать несколько клиентов?
Мне нужно разобраться с подключением к CraftNet из OC. Думаю, особых проблем не будет.
Что касается нескольких клиентов: программа может авторизоваться несколько раз, с разными ключами. Но, она не сможет отсортировать приходящие сообщения. Мост не уточняет для какого ключа сообщение (или от какого). Поэтому они будут просто приходить кучей, со всех ключей.
Особенно порадовала строчка 93


-
Ну так теперь надо мост CC-OC делать.
Это несложно. Получится примерно такая программа:
local event = require('event') local br = require('bridge') local modem = require('component').modem local PORT = 27 modem.open(PORT) local ready = false ready = br.init() print("Подключение: ", ready) if not ready then print("[ОШИБКА] Не удалось установить соединение с мостом. Проверьте наличие интернет платы!") end io.write("Введите ключ: ") local key = io.read() ready = br.auth(key) print("Авторизация: ", ready) if not ready then print("[ОШИБКА] Не удалось авторизоваться с выбранным ключем!") else print("Авторизация успешна.") end print("Нажмите любую клавишу для выхода.") while ready do br.pull() name, data = event.pull(0.5) if name == 'key_down' then break elseif name == 'socket_message' then modem.broadcast(data) end end modem.close() br.finish() print("Трансляция завершена.") -
Дааааа. дроны, это что-то веселенькое, интересное и крутое. Я так понял они летят по кратчайшему пути между двумя точками, а не так как роботы и черепахи?
Похоже на то.
И их можно использовать, как доставщиков предметов и жидкостей кому-то? Или они только пока зверей на веревках таскают? И по сундукам они не шаряться чужим?
Да, они умеют вещи и жидкости таскать.
Насчет чужих сундуков - надо тестить, тестить! =)
Вообще - это же идеальный робот шпион. Пролез в форточку, пошарился по сундукам и смылся. И все на дистанционном управлении.
Своя программа есть. Она на его EEPROM пишется. Там в видео видно.
В видео автор просто сделал ему прогу, которая ловит дистанционные команды через сетевую плату, беспроводную.
Радиус связи тоже надо потестить.
-
1
-
-
Итак, близится Новый Год. Что нас ждет в очередном пре-релизе?
OpenComputers Version 1.4.3 Beta 1
Автор обещает подробный чейнджлог чуть позже, а пока - кратко о самом главном:
- Добавлено: Микроконтроллер 2 уровня. Это означает, что вы сможете поставить в него более мощные детали. (Возможно даже красную плату 2 уровня, которая умеет работать с многожильным редстоуном. =) Прим. Totoro)
- Добавлено: Дроны!
- Добавлено: Апгрейд-поводок. (Или "лассо", как вам больше нравится. Прим. Totoro)
- Изменено: Переписано изрядно внутренней роботической логики. Чтобы она подходила и дронам.
Drones? Drones!Дроны для роботов - это как микроконтроллеры для компьютеров. Они более ограничены, но зато - дешевле. И имеют другие возможности. В частности: они представляют из себя "существа" (Entity), что дает им новые возможности по взаимодействию с миром. (Он умеет летать сквозь двери, йуххууу! Прим. Totoro) Пока, это используется только для одной цели - апгрейда-лассо. Он позволяет дрону заарканить животное и таскать его его повсюду за собой.
Дроны не умеют переключать рычаги, ломать или ставить блоки, также как и использовать предметы или инструменты. Они - что-то вроде всем известных почтовых голубей.
Вот здесь вы можете посмотреть на дрона, на то, как он выглядит, и что он умеет:
Также обновилась документация на http://ocdoc.cil.li/, а я скоро подтяну статьи на gamepedia.
Beta?Да. Автор будет рад, если вы поможете ему с тестированием всего добавленного. В особенности - роботов (взаимодействие с инвентарем/сундуками и цистернами/жидкостями), микроконтроллеров (обоих уровней) и дронов.
Все найденные проблемы отправляйте сюда: https://github.com/MightyPirates/OpenComputers/issues
Или на английский форум: http://oc.cil.li/index.php?/index
Автор заранее благодарит вас.
-
2
-
В итоге получилось вот это:
Ты удалил строки
if type=="motion" and nick==prnick and pass==(z<0) then wait=false; print("passed at "..x..y..z) endкоторые закрывали дверь раньше, чем истекут 5 секунд, если игрок уже прошел через нее.
И поменял местами строки
break os.sleep(5)
В результате команду os.sleep() программа пропускает и нет задержки в 5 сек. после того как кто-то прошел.
Странный баг был из-за того, что ты поменял условие на pass=(x>0) в одном месте, в в другом (тот кусок, который ты потом вырезал) - не поменял.
PS. Я бы выкинул все "реквайры" в начало программы, и добавил бы брейк таймера в условие преждевременного выхода. :P
-
100 строк кода, и у меня висят часы.


-
7
-
-
Отличная штука, а я думал на 1.7.10 ставить плагинчик.
И не понял, мод требует Forge 10.13.2.1236+ что ли?
Да, похоже на то.
И когда видно голограмку, только в очках?
Да. Это "очки дополненной реальности". Терминал - центр. Он создает и управляет виртуальными объектами.
Игроки биндят очки к терминалу, надевают - и видят виртуальный текст и объекты.
Можно, например, написать программу мониторинга машин, цистерн и батарей. Бегаешь по дому, взглянул на машину - выкатывается оконко с инфой. Взглянул на цистерну - появляется другое окошко, показывает уровень жидкости. И т.д.
Глянул на дверь - список всех, кто в нее входил

-
Надо поставить на серверы, без раздумий.
Как раз можно потестировать на новом 1.7.10-сервере.
-

Мод, который придется очень кстати - очки виртуальной реальности для OpenComputers!
http://oc.cil.li/index.php?/topic/351-mc-1710oc-140-openglasses/
(Скачивать здесь: http://starchasers.pl/OpenGlasses/doku.php?id=download)
Помимо уже знакомых возможностей очков из OpenPeripherals (которые, к слову, поддерживаются в OC не полностью), как то:
- рисовать перед глазами точки, линии, четырехугольники, а также писать текст разных размеров и цветов;
Мод добавляет новые возможности:
- виртуальные кубы, которые как бы дополняют мир (см. скриншот)
- точки, линии и фигуры, которые тоже "находятся" в мире. (то есть ты можешь обойти вокруг них, к примеру)
- текст, висящий в мире (наподобии ника над игроком)
- функция, определяющая на какой блок смотрит игрок (что позволяет выводить информацию только тогда, когда игрок посмотрит на нужный блок, или информацию о блоке, на который смотрит игрок)
- функция, определяющая расстояние от игрока до виртуального объекта (чтобы скрывать объекты, от которых игрок далеко)
- функция, которая устанавливает, видны ли виртуальные объекты сквозь реальные

Чертовски интересная штука, этот мод.
А что вы думаете?-
6
-
-
Итак, мод получает еще одно обновление и пару важных изменений:
- Добавлено: EEPROM, содержит BIOS - код используемый для загрузки компьютера.
- Добавлено: Блок микроконтроллера. Собирается в ассемблере (сборщике). Это очень ограниченный, одноблочный, не конфигурируемый компьютер для мелких задач (вроде контроля сигнала редстоуна).
- Добавлено: RAID-блок. Хранит три жестких диска. Создает из них одну файловую систему, суммарного объема.
- Изменено: В слот для дискеты в сборщике электроники (Electronic's Assembler) теперь нужно класть EEPROM. Это означает, что устанавливать ОСь роботу вы должны на жесткий диск (нельзя поместить дискету с ОСью в конструкцию, как раньше).
- Пофикшено: физика блоков клавиатуры и кабелей, которая создавала проблемы движению.
- Пофикшено: more.lua - некорректная обработка длинных строк.
- Пофикшено: внутри-серверное сообщение передающееся другим не подсоединенным серверам. На этот раз действительно пофикшено. Кажется.
- Пофикшено: ввод на планшетах работал только в том мире, где планшет был запущен (и другие связанные с этим глюки работы).
- Пофикшено: несколько мелких багов.
EEPROM
Что это такое, и зачем оно?
Это новый предмет, который необходим всем девайсам - компьютерам, серверам, роботам, планшетам - чтобы с него загружаться. Он содержит часть кода, которая прежде была жестко вписана в сам мод. Этот код - первое, что загружает компьютер при включении. EEPROM может быть только один в каждом компьютере (в отличии от файловых систем). Стандартный Lua BIOS (который крафтится из EEPROM и книги) делает то же, что и раньше: ищет файловую систему с файлом init.lua и запускает его. Далее операционная система загружается как обычно.
В то же время, это нововведение позволяет загружать компьютер с посторонних (даже не из OpenComputers) устройств. Например с кода переданного по сети. Или с ленточных кассет из Computronics.
Чтобы избежать поломки ваших, уже существующих компьютеров, они все автоматически получат Lua BIOS EEPROM в новом EEPROM-слоте. Таким образом они смогут работать и загружаться как и раньше. А при создании новых компьютеров, вы уже будете должны установить его сами.
EEPROM может быть перепрограммирован через его компонент. Поместите EEPROM в работающий компьютер, и используйте команду component.eeprom.set(newCode) или воспользуйтесь новой программой flash.lua в OpenOS (переустановите систему, если необходимо, чтобы эта программа появилась).
Microcontrollers
Это экономичные, очень простые компьютеры. Они не могут подключаться к внешним компонентам - как и роботы - и даже не имеют видеокарты. Также у них нет файловой системы. Программирование микроконтроллера осуществляется исключительно через программирование EEPROM встроенного в него! (Думаю будет уместен термин "прошивка" =). прим. Totoro) Чтобы сделать этот процесс немного легче, у вас есть возможность совместить на верстаке готовый микроконтроллер и новый EEPROM, чтобы заменить на него старый EEPROM, внутри микроконтроллера. (Так меняются карты в навигационном апгрейде).
В отличии от корпусов компьютеров (case), микроконтроллеры сохранят всю свою начинку, если вы их сломаете. По сути, у них и нет никакой "начинки". Вы просто включаете и выключаете их на ПКМ.
Они предназначены для простых задач (ткнуть в угол и забыть), ради которых не стоит собирать полноценный компьютер.
Единственный минус пока - они не умеют работать с "многожильными" редстоун-проводами. Только обычный редстоун. Так что будьте креативными

P.S. Очень интересное обновление. Я займусь некоторыми экспериментами, а потом обновлю по возможности статьи на gamepedia.
Обнаружите, что-то что я упустил - пишите, дополню.
-
1
-
Почему-то мне проще так делать. Чем писать 3 строки 1 из них не зная как работает.
Неверный подход к проблеме.
-
1
-
-
Программа в первом посте - это стандартная OpenComputers Dig, которая включена в мод (ее можно найти на дискетах в сокровищнице).
Написана Kenny, оригинал можно найти здесь: http://openprograms.github.io/
Была залита анонимом (GravityFolls, я полагаю) на pastebin 1 декабря.
-
3
-
-
Использовать OpenComputers!!!
Там и мониторы имеют большее разрешение!
В OpenComputers под 1.6.4 многоблочные мониторы тоже "гасят" изображение, когда смотришь на них "краем глаза".
Мы установили это, когда тестировали тир (экран 6х8), возле моего дома.
-
Можно XLS-парсер набросать



Многопоточность в ComputerCraft
в Библиотеки
Опубликовано:
Аргументацию в студию! Пожалуйста.
Хочу разобраться с этим вопросом.