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

Лидеры


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

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

  1. 2 балла
    Удалось реализовать простой отладчик для OpenOS. На данный момент он может собирать информацию о потоках, отлавливать в них ошибки и передавать в VSCode через интернет карту. Для сериализации используется библиотека json.lua, которая устанавливается вместе с клиентом отладчика командой OC-TS: Install client. В OpenOS клиент запускается командой tsdbg, после чего сразу же подключается к редактору. Можно отлаживать как Lua, так и TypeScript код. Если в папке со сгенерированными lua-файлами будут сурсмапы, то они будут использованы для преобразования стека вызовов. Скрин. Отладчик доступен в новой версии расширения; команда OC-TS: Init теперь генерирует конфигурацию для отладки. А теперь про брейкпоинты и инспекцию переменных. В OpenComputers существует всего 4 debug функции, среди которых нет всеми любимого sethook. У меня пока только одна идея - вставлять после каждой строки в отлаживаемом файле вызов функции, который проверяет необходимость остановки и собирает стек и переменные. Другой вопрос - насколько все это будет замедлять выполнение программы. Тем не менее, других вариантов у меня нет; может быть кто-нибудь предложит альтернативу. P. S. Запросы к localhost оказывается по умолчанию делать нельзя. Поэтому для работы отладчика внутри самой игры необходимо разрешить запросы в settings.conf -> internet -> blacklist. Не исключено, что в будущем отладчик получит возможность работать через интернет подобно различным мостам, чтобы позволить игрокам с удобством писать код на публичных серверах.
  2. 1 балл
    pastebin get iKzRve2g lib/forms.lua Конечно, браузер на такой библиотеке не построить, но для небольших приложений может сгодится. Библиотека позволяет создавать следующие визуальные компоненты: Form (форма) - является контейнером для остальных компонентов. Служит для быстрой смены экранного интерфейса без необходимости удалять и создавать компоненты. Button (кнопка) - тут всё понятно. Label (метка) - просто строка текста. Edit (окно ввода) - позволяет вводить текст. Frame (рамка) - просто рамка. List (список) - отображается в виде набора строк. Каждой строке ставится в соответствие элемент, способный хранить любое lua-значение (число, строку, таблицу и т.д.). Пользователь может прокручивать список, выбирать один из элементов, производить сортировку списка. И невизуальные компоненты: Event (событие) - обрабатывает системные события. Timer (таймер) - позволяет вызывать функцию-обработчик с заданным периодом. Пример работы с библиотекой: Попробовать библиотеку в действии можно в дата-центре на компьютере с координатами 10150, 14199. Для этого необходимо запустить файл form.lua
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...