Fingercomp
-
Публикации
1 629 -
Зарегистрирован
-
Посещение
-
Победитель дней
283
Сообщения, опубликованные пользователем Fingercomp
-
-
К слову, моционный сенсор должен вставляться в микроконтроллеры, если вы не застряли где-то в начале прошлого года.
-
Насколько я помню, Алекс ведь уже тестировал этот мод и хотел даже поставить когда-то. Но он оказался слишком кривым, чтобы на паблик сервер ставить можно было в здравом уме.
-
1
-
-
Мы его похоронили.
···
Неожиданно, да?
···
2018-06-16 третий этап UT:R отправился на кладбище, которое охраняет Хель. Без слёз, потому что провожать было некому.
Некролог я пишу в первый раз. И даже это получилось с задержкой в 4 дня. Собственно, именно такого рода проблемы и послужили причиной смерти.
Подробнее. 2017-12-16 у нас начался новый проект, над которым мы... ну, теперь я только — над которым я работаю. Название ему есть wonderful — это убер-GUI-либа на стероидах, и она есть на гитхабе. Идея этого проекта сама появилась, когда я обдумывал инфо-панели и систему разработки под дрона. Эти компоненты есть графические программы. Со второй проблем никаких не было, а вот фича первой в том, что там на один комп приходилось 4 монитора. Ни одна либа не позволяла делать обработку гуи нескольких мониторов, а то "решение", которое я описал в 2 постах выше, есть невероятный костыль, что я прекрасно понимал. Поэтому появилась потребность создавать свою либу. По пути мы придумали мегатонну всяких фич: система ивентов, стили, ООП, лейауты, гибкость и расширяемость...
Если дальше я буду продолжать, то получим рекламу либы вместо некролога UT#3, поэтому лучше рассказать, почему мы пробили все дедлайны на скорости света. Вандерфул был жутко интересен. Надо сказать, что я его полгода уже пилю и до сих пор не забросил. Соответственно, мне стало совсем не до UT#3, поэтому UT#3 загнулся фактически уже тогда.
Добили его перевыборы меня в ирке в конце февраля, в результате которых хостер, @Fiender, потерял опку, а мы — доступ к его серверу. В итоге у нас 3.5 месяца хоста не было. Мы про UT#3 тогда уже забыли, однако. ¯\_(ツ)_/¯
В общем, третьей части Unreal Tournament: Resurrection не получилось. Второй раз возрождать мы уже не будем. Четвёртую часть делать тоже не будем: на этом мы серию ивентов завершаем. Разработки, которые уже есть, доступны на гитхабе. Разработки, которых ещё нет, мы скоро почистим.
Первые два этапа были довольно весёлыми и забавными. Если ещё не смотрели, пробежитесь по топикам: #1, #2.
И да. Заходите в ирку. UT#3 там уже не будет, но есть тонна всякого интересного вместо этого. Там же можно и за нашими следующими проектами следить.
-
1
-
-
Никто ничего не убирал никогда. Но на вопрос "как" ответ только один ща есть: написать программу. Программы. И либы. Да, самому.
-
-
Шифт-ПКМ с диском в руке и на кнопку тыкс.
-
4
-
-
Но метатаблица в плане типов данных - просто table, разве нет?
Это покрывается четвёртым случаем =)
В ней можно поведение при сравнении переопределять.
if setmetatable({value = 4}, {__lt = function(self, other) return self.value < other end}) < 5 then print("It works, unexpectedly.") end-
3
-
1
-
-
Посмотрел репозиторий, он два года не обновлялся, ну да ладно. Насколько я понял, там просто перекодировка в ascii в своем формате, а потом декодировка и воспроизведение. Я же предлагаю вывод команд для GPU, т.е. с минимальной перерисовкой экрана -> меньше фризов и лагов, меньший размер кадра в памяти -> ее экономия и возможность стрима, если это вообще на опенкомпах возможно, наскаолько я помню, там очень маленькое ограничение на размер данных в тик.
Ну и, как писал выше, можно кучу настроек накидать, типа набора символов для вывода, кол-во цветов, разрешение, мб дизеринг шрифтами брайля сделать, возможностей море.
Но все таки хочется стримы сделать.
Там группируются в команды для GPU конвертером. Как бы.
Стримы через ice2 как-то делаются. Твитч на сервере BTM смотрели же. И звук был.
-
-
Числовые операции (например, операторы <, >, +, *, ...) бросают ошибку, если скормишь им nil.
-
1
-
-
Не планируешь писать фтпху для подключения к впс? Ну тип ftp://site.ru
Было б прикольно.
П.с. Хз как это реализовать, но костылем каким-нибудь, мостом, например, наверняка можно.
Эм. Никак?
-
1
-
-
В теме нигде не нашёл упоминания, что если даже AE будет поставлен, то его адски занёрфят, отрежут всё нафиг, оставят пару блоков — убьют в нём смысл, по сути, так как очень к тормозам и заборам из труб стимулирует.
-
1
-
-
В начале поста был список с инфой всякой про библиотеку.
Название: бла-бла
Версия: 1.4.2
Скачать: ссылка
...и так далее. Вот такая штука.
Значения для них ставились в специальных полях, отдельно от самого сообщения. И темы по шаблону создавались тоже: сначала инфа, потом само сообщение. А сейчас всё это внезапно исчезло, так как шаблон удалён был.
Я полагаю, Кибер знать больше должен здесь.
-
Объясните дураку, как скачать библиотеку? Я потратил 15 минут и не нашел в четырежды просмотренном посте ссылку на саму либу, только на зависимости. И такое почти во всех темах с библиотеками. ГДЕ ОНИ ХРАНЯТСЯ? ОТКУДА ИХ КАЧАТЬ?
А это кто-то из админов доигрался с шаблонами. Так, что теперь они все потёрлись. А в них была инфа, включая ссылку на либу.
-
Опасения совершенно не напрасны. Критика объективна и по делу. Причём об этом я уже говорил Тоторе, когда мы строили эту сеточку.
После долгих дебатов пришлось выбросить всё нафиг и дать просто такой способ сети с flood routing. Забить сеть вайлтруду можно любую, только у нас вся сеть упадёт, а в нормальном роутинге только узел, принимающий пакеты.
-
Я б советовал сразу отсюда юзать: https://github.com/ben-mkiv/OCGlasses — там сложнее, но есть вика внятная.
World Located — рисуются в мире 3д-объектами. Вокруг них можно ходить, например, как вокруг блока обычного.
Overlay Located — рисуются на HUD игрока, как хотбар или шкала здоровья.
Можно визуализировать, но для этого нужно писать свою прогу. Или найти готовую, кто-то делал уже, я думаю.
Очки рисуют то, что ты на компе через компонент моста укажешь. Если на компе будет кол-во энергии от робота, полученного, например, по сети, можешь и это рисовать.
Сам пример я дать не могу, ибо тестить негде. Вот ссылки:
- Рисование моделек OBJ.
- Ещё мы юзали эти очки в сервере UT#2, можешь посмотреть на файлики.
-
2
-
Забавно, что иридий стоит дешевле распылителя пены. Даже 60 UU дёшево — но раз это для людей, которым небезразлично будущее сервера (а мне, судя по этому, безразлично абсолютно), то пусть хотя бы 50-60 UU стоит.
-
Заданный в ОП вопрос действительно интересен, поэтому я отвечу на него.
term.read, io.read, io.stdin:read — вот вся эта дружная команда не исполняется параллельно — понятно почему, я думаю. А если нужно?
Значит, или ввод, или выполнение действий таки надо заставить работать параллельно. Если два сделать, то получим демон, который захватит ввод, что достаточно глупо. Потому и варианта 2.
Вариант 1. Вынести ввод в параллель.
Обозначенные выше команды не исполняются параллельно, как я уже сказал.
Мы можем переписать их так, чтобы они ловили ивенты листенерами, а не пуллом — получим собственную GUI-библиотеку.
Можно облегчить себе задачу, и использовать стороннюю GUI-библиотеку. Этот вариант предпочтительнее, если ещё нужно рисовать кого-то, помимо ввода.
А можно попробовать вынести ввод в тред. Треды — это такие штуки, которые были добавлены в одном из не столько давних обновлений OpenOS, и позволяют исполняться нескольким блокам кода параллельно — но не одновременно! Только что-то одно в данный момент времени, а переключение между тредами будет по os.sleep или event.pull.
Если у тебя в фермере после каждого вызова долгого метода (любое движение у робота таковым является) будет стоять хотя бы os.sleep(0), то можешь поставить такое:
local term = require("term") local thread = require("thread") thread.create(function() while true do local input = term.read() -- всё, дальше можем обрабатывать ввод end end)Есть у меня сомнения, что os.exit() из треда сработает, но можно попробовать. Сами треды чистить не нужно — они сами остановятся при завершении процесса.
Вариант 2. Параллельным делать обработку действий.
Этот вариант оптимальнее, говорю сразу.
Чтобы совсем ничего не менять, то можно просто обернуть саму обработку в отдельный тред, как в коде выше мы ввод принимали. Я бы так и сделал.
А можно зарегистрировать слушателей событий с помощью event.listen. Первым аргументом имя ивента, вторым — функция-обработчик.
Нельзя забывать поставить event.ignore в конце программы, иначе слушатель будет работать, как демон, вне процесса. Аргументы те же.
Треды в этом плане лучше гораздо. В них можно даже регистрировать слушателей, и они автоматически подчистятся с выходом из программы, в том числе и при ошибке.
-
2
-
-
Чисто по тьюрингу - это возможно, загрузить текстуры, инициализировать весь колхоз для рендера, а там уже и рендерить можно, но с точки человекочасов - бред.
В OpenComputers невозможно же. Просто памяти не хватит. И процессора.
-
Хочешь попросить, чтобы на стороне сервера робот (или что-то ещё) отрендерил картинку с помощью клиентского кода и затем ещё куда-то её отправил?
...Это не только невозможно; честно говоря, это вообще бред.
-
2
-
-
Пусть будет 20000. Без разницы толком, лишь бы число было не слишком большим и не слишком мелким.
-
Библиотека проста, только её читать... ещё то удовольствие это, с таким-то стилем кода. Но это субъективно.
Что она делает? Попробую расписать, основываясь на том, что я прочёл.
Пусть будут 3 корутины. Запустим #2 из #1.
Обычно третью корутину из второй запускаем с помощью coroutine.resume — но после выскакивания из #3, управление будет в #2.
С помощью библиотеки же можно вызвать coroutine.resume другой корутины, при этом стопнув текущую. То есть при вызове из #2 управление будет передано в #1, откуда затем сразу же пойдёт оно в #3, а потом, когда #3 стопнется, вернётся в #1.
...Зачем только?
P. S. Пример совершенно непонятен.
-
4
-
-
А разве какие-то фиксы там не брались для витчери?
-
Прочитайте описание пунктов ниже перед голосованием.
Так получилось, что в чате возникли отдельные всплески нытья и несогласия с курсом сервера. Поэтому было предложено провести голосовалку, которая закрепит основные вопросы по направлению сервера.
Подчёркнутые опции означают те, которые выбраны были при разработке сервера.
На практике это означает, что при их выборе Алексу придётся меньше возиться, так как с ними уже заготовлен сервер, то есть он откроется быстрее.Это означает, что для них уже имеются фиксы.Голосование длится пару дней. Не успели — просьба потом не ныть.
Мод на голод?
Их установлено несколько штук. Один всякие культуры добавляет, другой заставляет питаться чаще и разнообразнее. Настройки достаточно щадящие и новичка сразу с ног не валят.
Если вы выбираете...
Да — нужно будет задумываться о рационе, брать еды с собою и здорово кушать.
Нет — тогда можете до скончания веков жрать яблоки, а ваш персонаж от этого даже с ума не сойдёт.
Ведьмовский мод Witchery?
Всякие колдунства, заклятия, фамильяры и прочие ведьмины прелести жизни. Потому что это весело. Не все постигли дзен и способны тереть нос свой о монитор OpenComputers, а так можно всяких сов и кошек повызывать.
Если вы выбираете...
Да — мод этот остаётся, можно будет жечь ведьм.
Нет — мода не будет.
Таум и аддоны?
Есть Таум и несколько штук аддонов к нему. Добавляют вместе они несколько палочек, которыми можно махать и воплощать волшебства разной степени сложности, и другие средства для творения магии.
Если вы выбираете...
Да — будет таум и комплект приложений к нему.
Нет — магия вам противна, и это будет принято к сведению.
Тинкер?
Tinker's Construct, который добавляет более продвинутые и модульные инструментики. Почему-то некоторым не нравился.
Если вы выбираете...
Да — можете наслаждаться удобными инструментами.
Нет — придётся обходиться обычными кирками, крафтить и чаровать их наудачу.
-
3
-

Блокирование сообщения в чате по условию.
в Разные (отсортировать)
Опубликовано:
Нет, почему. Можно. Никто не запрещает.
Но не средствами одного OpenComputers.