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

Лидеры


Популярный контент

Показан контент с высокой репутацией 05.08.2022 в Сообщения

  1. 2 балла
    Мониторы в OpenComputers поддерживают только текстовый режим, но интерфейс можно сделать круче с помощью символов из Юникода. До недавних пор символы приходилось выбирать из таблицы (https://computercraft.ru/topic/1962-shrift-v-oc/) и вручную проверять на то, подойдут ли они в интерфейс или иконку. Но сейчас я представляю вам IconPaint - программу, позволяющую интерактивно менять символы внутри иконки и сразу видеть результат! Как скачать: wget -fq https://raw.githubusercontent.com/ProgramCrafter/lua-utils/main/paint/paint.lua Управление такое: стрелки на клавиатуре выбирают редактируемый символ (справа подсвечивается синим), backspace, цифры и буквы a-f служат для редактирования шестнадцатеричного кода символа, клик левой кнопкой мыши по палитре задаст редактируемому символу такой же цвет текста, клик правой - цвет фона, выход по Ctrl-C; проделанная работа сохраняется в файл paint.dat. Пример paint.dat (осторожно, это валидный код на Lua, и при загрузке IconPaint запускает его, хоть и в ограниченном окружении): data = { {0x0020, 0x2580, 0x2580, 0x2580, 0x2580, 0x2580, 0x2580, 0x0020}, {0x0020, 0x0020, 0xE18B, 0xE146, 0xE147, 0xE18C, 0x0020, 0x0020}, {0x0020, 0x0020, 0xE18E, 0xE149, 0xE148, 0xE18D, 0x0020, 0x0020}, {0x0020, 0x2584, 0x2584, 0x2584, 0x2584, 0x2584, 0x2584, 0x0020} } overlay = {["2 3"]={16777215,2960685,2,3},["3 3"]={6684927,0,3,3},["4 3"]={16777215,6684927,4,3},["5 3"]={16777215,6684927,5,3},["7 2"]={16777215,2960685,7,2},["7 3"]={0,2960685,7,3},["3 4"]={0,2960685,3,4},["2 4"]={0,2960685,2,4},["5 4"]={0,2960685,5,4},["4 4"]={0,2960685,4,4},["7 4"]={0,2960685,7,4},["6 4"]={0,2960685,6,4},["6 1"]={0,2960685,6,1},["5 1"]={0,2960685,5,1},["4 1"]={0,2960685,4,1},["3 1"]={0,2960685,3,1},["2 1"]={0,2960685,2,1},["5 2"]={16777215,6684927,5,2},["6 2"]={6684927,0,6,2},["3 2"]={6684927,0,3,2},["4 2"]={16777215,6684927,4,2},["2 2"]={16777215,2960685,2,2},["6 3"]={6684927,0,6,3},["7 1"]={0,2960685,7,1}} Что в планах: расширить зону для редактирования иконки (сейчас 8x4 символа), добавить вставку символов из буфера обмена. Скриншот под спойлером:
  2. 1 балл
    Наверное уже все участники этого форума знают, что в opencomputers невозможено написать операционную систему с настоящей параллелизацией - достаточччно написать и запустить программу local x = 0 while true do x = x + 1 end и вся система зависнет, а затем компьютер перезагрузится с ошибкой "too long without yielding". Однако, блуждая по просторам основного форума opencomputers, я наткнулся на операционную системуCynosure, которая делает невозможное возможным.В ней приведенная выше программа не приведёт к экстренной перезагрузке, а будет работать, пока её не прервут. Её даже можно запустить в отдельном потоке и параллельно с ней запускать другие программы. Достигается это при помощи вот этого кода, перед запуском любой програмы или вызовом функции load обрабатывающего запускаемый код посредством добавки coroutine yield между всякими двумя действиями. Страницу операционной системы можно найти вот тут, а её ядро тут. Успешного ознакомления!
  3. 1 балл
    Да, пока только по коду. Включить сюда и таблицу символов можно, но это уже к переработке интерфейса. Сделано. (Кстати, теперь программа стала поддерживать тир2 мониторы. )
  4. 1 балл
    Если кому интересно, как я нашёл уязвимость с TLWY: В Cynosure есть файл /dev/base/load.lua: https://github.com/Ocawesome101/oc-cynosure/blob/dev/base/load.lua А там есть набор паттернов, которые говорят, куда вставлять yield. ... local patterns = { --[[ { "if([ %(])(.-)([ %)])then([ \n])", "if%1%2%3then%4__internal_yield() " }, { "elseif([ %(])(.-)([ %)])then([ \n])", "elseif%1%2%3then%4__internal_yield() " }, { "([ \n])else([ \n])", "%1else%2__internal_yield() " },--]] { "([%);\n ])do([ \n%(])", "%1do%2__internal_yield() "}, { "([%);\n ])repeat([ \n%(])", "%1repeat%2__internal_yield() " }, } ... Как говорится, если у вас есть проблема и вы используете регулярные выражения, то у вас есть две проблемы...
  5. 1 балл
    @num_pi, ты прав, но прости, брат, не удержался!
  6. 1 балл
    Поясню за хейт по поводу орфографии, говорю лично за себя, но предполагаю что возможно и у других участников форума, текст с явными и грубыми орфографическими ошибками вызывает такие же чувства и эмоции. Дело всё в том, что такой текст, трудно читать, мы как привыкшие с детства видеть текста написанные грамотно, такие текста для нас легко читаются, а когда мы встречаемся с текстом написанным без грамотно, с ошибками, мы вынужденны напрягать своё внимание, для чтения, а напрягаться очень лень, трудно, и вызывает жжение в области ниже копчика. Посему, рекомендую автору, если он не может самостоятельно выявить в своём тексте орфографические ошибки, хотя бы пользоваться word или онлайн-сервисом по типу https://rustxt.ru/check-spelling
  7. 0 баллов
    идея отличная. наконец-то что-то новенькое в open computers подъехало, да еще и unix-like круто, мне нравиться но... какой пароль от root? я хочу потыкать ос подобрал, пароль от root: root после входа в root ос приветствует, а потом too long without yielding....
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...