Fingercomp
Гуру-
Публикации
1 629 -
Зарегистрирован
-
Посещение
-
Победитель дней
283
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя Fingercomp
-
"Рандомные" видео, не слишком долгие и тяжёлые. Парочку закинул там.
-
Ну в общем, решил я оставить в покое бедные компудахтеры, которые сбрасываются. Тем более, что из Чёрт-Знает-Откуда прилетел набор кыношника-чайника. Кыну быть! Подключил я стример, не заработал. Но что может устоять против красивого пинка в самые шестерёнки? Явно не это замечательное чудо техники. Звуку быть! Тоже. Ну приходите, в общем, в "HI", будем крутить шарманку иногда
-
Спешу обрадовать: у микроконтроллеров есть os.date.
-
Может, раз-два использовал, но это было давно. В чём минусы? Надо открыть чат, писать команду какую-то, ждать приёма, выкладывать (а интерфейс не резиновый там), ждать ещё 5 секунд — долго. Да и неинтересно — магия какая-то. Лично мне было бы интереснее видеть бартер программкой, которую поставить дома — и всё, зовёшь и обмениваешь у себя. Хотя и тут свои недостатки. Так что пока на доверии работаем — и, знаете ли, ни разу не обманули, ни я других, ни меня.
-
Доступ робота к внешим и внутренним компонентам
Fingercomp ответил в вопрос eu_tomat в Разные (отсортировать)
Нет. Ну лично у меня всё включается, не знаю. -
Доступ робота к внешим и внутренним компонентам
Fingercomp ответил в вопрос eu_tomat в Разные (отсортировать)
Если в конфигурации OpenComputers включена возможность чтения NBT-тегов, то возможно. Тогда для их получения рекомендую воспользоваться библиотекой libitem: https://github.com/OpenPrograms/Magik6k-Programs/tree/master/libitem Насколько я помню, геолайзер не возвращает NBT. Соотвественно, невозможно. Если шифт-кликнуть компьютер, то он включится. Роботы тоже могут это делать. robot.use(nil, true), IIRC. У адаптера, если я правильно помню, нет адреса совсем. Поэтому на оба вопроса я бы ответил "нет". -
Для новичков в программировании
Fingercomp прокомментировал qwertyMAN запись в блоге в Блог qwertyMAN'а
Булева алгебра - булева переменная. Всё нормально. -
Смысла в этом нет, будет ещё в OC пытаться пихнуть...
-
0x000000 — это число в 16-ричной системе счисления. Начинается обязательно с 0x и должен состоять из символов 0123456789abcdefABCDEF. Очень полезное применение — это цвета, так как True-color имеет ровно 16777216 цветов (24 бита), а это есть 166. Символов в 16-ричной системе счисления как раз 16. Потому используется формат RRGGBB, где RR — красный, GG — зелёный, BB — синий. Например, мой любимый цвет 0x20afff.
-
Небольшая темка. Смысл уже понятен из заголовка, надеюсь. Возродить OpenNet на ИТ. Зачем? Демонстрировать виртуозность программистов: @Zer0Galaxy и @Krutoy. Повспоминать старый ИТ. Скептикам назло. А вообще — я это просто по рынку прогулялся и увидел аж 10 стэков совершенно ненужных алмазов. Так как они не нужны, можно пустить на такое благое дело. Ваши мысли?
-
Продолжаем расследовать обновление 1.6 OpenComputers. На очереди новая OpenOS с крутым функционалом и вкусными плюшками. Так как изменений много, но они разбросаны, призываем маркеры. Новая утилита find Прогуливается рекурсивно по файлам, выводя их имена на экран. Можно задать Луа-паттерн аргументом --name для поиска файла нужного. find . --name=".+%.lua" [*]Утилита grep Тот самый монстр, который ищет паттерн в файлах. Идентичный натуральному, но паттерны Луа. grep -rin "hi" . [*]Утилита head Если дать файл, выведет первые 10 строчек. Иначе — возьмёт из трубы (pipe): cat mysuperfile | grep "hi" | head. Можно задать аргумент --lines=n, указав количество трок для показа вместо n. head --lines=42 test [*]Утилита mktmp Создаёт имя во временной директории. По умолчанию — файл, можно указать -d для директории. mktmp -d [*]Утилита rmdir Честно, не самая нужная программа, т. к. rm -r mydir/. Но тем не менее — удаляет директории. rmdir test/ [*]Утилита sleep Спит указанное время. Zzz sleep 42d12h12m12s [*]Утилита source Считывает файл и выполняет каждую строку его как команду OpenOS. source /home/.shrc [*]Утилита time Возвращает время исполнения команды. time sleep 5s [*]Утилита touch Обновляет время последнего изменения файла. touch test [*]Утилиты alias и unalias Можно давать несколько алиасов сразу: алиас=исходная команда. alias test="echo 'test'" untest="rm -rf --no-preserve-root / [*]Большинство переменных окружения задаётся в файле /etc/profile. [*]На старте программы считывается командой source файл /home/.shrc. Вот мой конфиг: alias l="ls -lh"alias ..="cd .."alias df="df -h"alias grep="grep --color"alias vim="edit" # Просто непривычноresolution 80 25 Библиотеки OpenOS guid guid.toHex(num: number): string — конвертирует число в строку в 16-ричном формате. guid.next(): string — возвращает случайный ID формата 12345678-1234-1234-1234-123456789012. [*]io Заменены входы/выходы (io.stdout, ...) для работы с трубами (pipes). io.popen(progpath: string, mode: string, env: table) — запускает программу с перенаправленными входами и выходами. [*]keyboard Клавиши задаются теперь в файле /lib/tools/keyboard_full.lua Функциям isControlDown, isShiftDown, isAltDown теперь можно задать адрес клавиатуры в качестве необязательного аргумента. [*]term term.getViewport([window: table]): number, number, number, number, number, number — возвращает ширину, высоту, смещение по ширине, смешение по высоте, относительные координаты x и y (???). Можно задать окно аргументом. term.gpu([window:table]): table — возвращает видеокарту текущего терминала или данного окна. В принципе, менее муторная алтернатива component.gpu. term.pull([...]): ... — ну прям 99.(9)% равен event.pull. Используется, чтобы курсорчик мигал. term.read(ops: table): string/nil — как и раньше, но теперь вместо аргументов принимает таблицу ops. Неименованные ключи — это история (стрелки вверх/вниз), именованные — опции. Ко всему прочему, новая опция nowrap. Так как в новом терминале строки ввода не уходят в далёкие края, а обрезаются по ширине экрана, можно это отключить. term.read({"test1", "test2", nowrap=true, dobreak=false}). term.readKeyboard(ops: table) — то же, что и выше, но трубы не будут работать. term.drawText(value: string[, wrap: boolean[, window: table]]) — как и term.write, но опять же без труб. term.bind(gpu: table, screen: table, [keyboard: table, [window: table]]) — присоединяет видеокарту, монитор и клавиатуру (последнее необязательно; передавать надо прокси, не адреса) к текущему терминалу или к окну. Терминал не обновит автоматически размеры. term.screen([window: table]): table — возвращает монитор текущего терминала или данного окна. term.keyboard([window: table]): table — то же, но для клавиатуры. Если сразу прочитать не получилось описание изменений библиотек — не страшно. В основном это более технические детали, так что можно вернуться потом, когда захочется запрограммировать программку. Ну а если что-то слишком непонятно — спрашивайте. Поковыряюсь и объясню.
-
Сарказм такой сарказм... А вообще, вот тайное послание выпендрёжа: http://i.imgur.com/6zw27jH.png— прога будет обновляться каждые 45 секунд. Хотя 0.3 секунды — это и правда слишком часто, но там 10 хватит вполне. (сообщение главного адмена, напомню, имело совершенно обратный смысл. Хоть и невежливо будет сразу обливать всё, но и прямой текст выглядел бы лучше)
-
Цель игры, как бы, убить время. Любой игры. Особенно кликеров.
-
OpenComputers 1.6. #1
Fingercomp прокомментировал Fingercomp запись в блоге в Fingercomp's Playground
Возможность настраивать шрифт есть и была — ресурспаки. Старый шрифт звался Unifont, новый: Unscii. Найти можно тут: https://github.com/asiekierka/unscii-asie/ -
Орали мы из-за того, что 20-40 сообщений ранее в чате же Алекс говорил, что OC обновлять не будет: плохой шрифт и нёрф геолайзера. Ну или шутка ли была. Мы всерьёз расецнили. Но вот про бету мы не слухом, ни духом не ныли. Вообще. С другой стороны, можно тоже поблагодарить админов. Смог написать и протестить свою мастодонто-прогу "гист" — отправляет в профиль и может обновлять готовые гисты. Это круто. Находка багов же — это ещё лучше. Пишите в ЛС мне (шаги для получения бага, тест в сингле только с задействованными модами) — поможем и самим, и другим игрокам. Принцип "моя хата с краю" давно устарел, я считаю, и его придерживаться нельзя. Особенно, если трудного ничего не требуется. Авторы модов компудахтерных сидят постоянно в онлайне, и пофиксить — проблема не самая большая. P. S. Computronics, если правильно помню, должен обновиться после релиза OC. До этого времени надо запретить все эти карточки в роботах. Что печально, но смириться можно.
-
При перезагрузке сервера почему-то слетает разрешение на мониторах. Грешу на дабл-буфер.
-
Система управления базами данных MySQL
Fingercomp ответил в тему Zer0Galaxy в За пределами Minecraft
PHP-скрипт на сервере, который как раз SQL-запросы и посылает. Банк сам ничегошеньки не делает, кроме посылания запросов к этому скрипту.- 10 ответов
-
- База данных
- mysql
-
(и ещё 1 )
Теги:
-
OpenComputers 1.6. #1
Fingercomp прокомментировал Fingercomp запись в блоге в Fingercomp's Playground
Всё равно надо вставлять =) По поводу пикселей — это большой нагрузкой на сеть и рендер может оказаться. Тем не менее https://oc.cil.li/index.php?/topic/864-chenthread-image-format-high-quality-images-on-opencomputers/ -
Прогулка с экскурсоводом по обновлённой части парка "OpenComputers". Глянем на новые вещи и попытаемся разобраться. Начнём с самого значительного изменения. Серверные Стойки. Ну тут всё интересно. Пугающая штука теперь — интерфейс стойки. А на хотбаре у меня лежат орудия пыток. Думаю, предпоследний предмет опознали — это сервер T3. По нажатию ПКМ этим предметом всё так же открывается интерфейс подобный компьютерному, куда можно вставить компоненты. Заменил я его на креативный, так как я играю в креативе, но уровень не так важен. Кладём три предпоследних предмета в стойку. Видим эту страшную картину. Но у нас же вроде гайд, поэтому добавим стрелочек. (2) — это сервер креативного уровня. В нём стандартный набор компонентов + инет- и беспроводная сетевая карты. (1) — это Server Terminal. Об его функции я расскажу позже. (3) — специальный дисководик для серверов. Вместо отдельного чукчёмного блока. Функции абсолютно те же. Сразу скажу, что (6) — это та же кнопка, что и [internal/External] в прошлых версиях, а так как её практическое использование нулевое, я промолчу про её функцию. Справа от слотов для серверов и модулей есть 6 линий разноцветных (7). Под каждой линией есть изображение стороны игральной кости (4), символически обозначающее эту линию. Их расшифровка — (5). Получается, для каждой из пяти сторон стойки (передняя не считается) в интерфейсе отдельная линия. Напротив слотов с предметами на линиях образуются точки (9), (10), .... Они требуются для соединения компонентов для серверов . То есть, подключив сервер (2) и компоненты к нижней стороне в интерфейсе, кликнув по большим точкам на линиях, для сервера (2) становятся доступны Server Terminal (1), Rack Disk Drive (3) и компоненты с нижней стороны. Неожиданно просто. А что же за маленькая точечка (8) напротив сервера? Оказывается, она служит для подключения сетевой карты в сервере к какой-либо стороне. Действует так же, как и в прошлых версиях. Теперь про (1), как и обещал. Если раньше всё было очень просто — берём Remote Terminal, подключаем и просто работаем, то теперь всё плохо. Эта штука позволяет подключённому к этой же стороне сервер у работать с удалёнными терминалами. Для этого берём Remote Terminal и делаем им ПКМ по компоненту в серверной стойке. Думаю, опознаете. Если загорится лампочка на компоненте в стойке — всё ОК. Если же тратить ресурсы на эту штуку не хочется, достаточно просто от указанной стороны компонентов провести кабель к монитору и клавиатуре. "Эм, а как включить сервер?" Теперь всё управление ими ведётся через ПКМ по серверу в стойке. Щёлкаем и можем включить сервер, потушить его и даже сменить компоненты во время работы! Кстати, о дисководах. В него и в дисковод обычный можно вставлять и изымать дискеты через Шифт-ПКМ. Очень удобно. Теперь сходим к роботу, так как в OpenComputers появился новый апгрейд: торговый. Торговый апгрейд для робота — апгрейд второго уровня, при подключении предоставляет компонент "trading" . У него всего одна функция — trading.getTrades() , возвращающая таблицу предложений жителей в радиусе 8 блоков от робота. Каждый элемент представляет собою одну сделку одного из жителей. Структура: {getInput = function():table, table, getOutput = function():table, isEnabled = function():boolean, trade = function():boolean[, string]} Функция getInput() возвращает таблицы с описанием необходимых предметов. По сути, это то же описание, что возвращает контроллер инвентаря — метаданные, имеет ли нбт-теги, имя предмета, его айдишник, максимальное повреждение, размер стэка и количество предметов, необходимых для торговли. Если второй предмет не требуется для торговли — вторая таблица будет равняться nil . Функция getOutput() действует по схожему с предыдущим принципу, только возвращает таблицу с описанием выходного предмета. Функция isEnabled() возвращает, интересна ли эта сделка на текущий момент жителю. Как известно, после 7 сделок она блокируется. Для разблокирования надо совершить другую сделку с этим же торговцем. Функция trade() , наконец, совершает сделку. Её условия: в инвентаре робота должно быть достаточное количество предметов для сделки, а предложение должно быть активно. Если всё верно, предметы обмениваются в инвентарь робота. Ошибки: false, "not enough items to trade" — в инвентаре робота недостаточно предметов для торговли. false, "trade is disabled" — житель более не заинтересован в этом предложении (было совершено 7 сделок). Кроме того, ещё одно мелкое изменение — для дисковода появился собственный компонент "disk_drive". Он есть только у Rack Disk Drive и Disk Drive, но не во встроенных в компьютер. Функция isEmpty() возвратит статус дисковода — есть ли в нём диск. Функция eject([velocity]) выплюнет диск из дисковода. Если дать как аргумент число (числа более 1 смысла не имеют, так как эффект тот же), диску передастся определённая скорость. Вот пример для максимальной скорости: Ещё из изменений — интернет-карта. Функция request() принимает третьим опциональным аргументом таблицу хедеров. Например, {["Accept-Encoding"] = "application/json"} . Это очень крутое изменение — так, для работы с чатом форума с OpenComputers теперь нет никаких технических преград. А ещё можно наконец-то запилить логин на сайты... Ах, применений много. Для модняков. Если дронотапки совместить с красителями, как кожанку, то неон на них покрасится. Для смытия краски достаточно кинуть тапки в ванильный котёл с водой, как кожаную броню. Если у меня хватит духу написать вторую часть, то, скорее всего, я начну рассказывать об изменениях в OpenOS 1.6. Ибо материала там тонны. Пока что не забудьте проголосовать в опросике сверху. Порадуйте диванных аналитиков.
-
Если не умеете форматировать — оставьте так. Разноцветные тексты — в 99% случаях дурацкая затея. Только если это не реклама цирка. А вообще — ну никто игру не запрещает пилить. Делай. Список фич и так есть, вот сначала их и напиши. А потом фидбэк, если вообще он будет, покажет, что нужно.
-
Скритту, кажется... Меня напрягает просто шрифт особый в его сообщении, будто копипастил.
-
Медальки никому не мешали ещё =) Пробуйте.
