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

Лидеры


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

Показан контент с высокой репутацией за 23.07.2019 во всех областях

  1. 6 баллов
    За пару часов написал вот такую программу. Позволяет подключить любое количество мфэх и табличек. Возможность горячего добавления или убирания мфэх или табличек во время работы программы. Вывод в процентах. Программа сама находит сторону, где находится табличка. Работает в фоне. Также если мфэх больше 4 штук, то на табличке идёт прокрутка по очереди всех мфэх. Обычная версия: Скачать: pastebin get mjF0Qw4x mfsu.lua Команды: mfsu - Запустить программу mfsu setSpeed mfsu/sign [количество] - Указать скорость Пример: mfsu setSpeed sign 2 - Данные на табличках будут обновляться каждые 2 секунды mfsu stop - Остановить обновление Версия для rc: Скачать: pastebin get mcvBWAfH /etc/rc.d/mfsu.lua Команды: rc mfsu start - Запустить программу rc mfsu setSpeed mfsu/sign [количество] - Указать скорость Пример: rc mfsu setSpeed sign 2 - Данные на табличках будут обновляться каждые 2 секунды rc mfsu stop - Остановить обновление и закрыть программу
  2. 4 балла
    За пару минут написал вот такую вот программу: local component = require("component") local mfsu = require("component").mfsu local sign = require("component").sign print("MFSU Monitoring for OC") print("Using sign I/O Upgrade") os.sleep(2) print("Look at sign! :)") while true do energy = mfsu.getStored()..' EU' sign.setValue(1, energy) os.sleep(2) end Не судите строго т.к. это была программа которую я написал одной из первых для OC Для создания вам понадобиться: 1.Компьютер 2.Адаптер(x2) 3.MFSU 4.Табличка 5.Улучшение Sign I/O(которое надо установить в адаптер) Табличка должна быть установлена на адаптер(есть возможность настройки в коде программы путём изменения числа 1 на другое в строке sign.setValue(1, energy)
  3. 3 балла
    Неожиданно выяснилось, что плата редстоуна из OC может выдавать и воспринимать сигналы в диапазоне [0..2^31-1]. Я, конечно, не знаю возможностей счётчика мобов из MineFactory Reloaded, но OC точно не будет узким местом. Тут скорее Майнкрафт повиснет от такого обилия скота.
  4. 3 балла
    Итог, никто ничего не понял ...
  5. 3 балла
    Наткнулся на плеер NBS музыки через computronic's. Тема на англоязычном форуме: https://oc.cil.li/topic/1758-noteblock-studio-player-for-computronics-sound-cards/ Что получилось у меня: Получилось довольно забавно, учитывая что дроном можно управлять во время проигрывания музыки, то есть теперь на свинолёте можно лететь не в тишину, а с музычкой =) Порядок действий, как проигрывать музыку: Обновить программу Скачать какой-нибудь .nbs файл Теперь, через net можно сделать так: net <имя-файла>.nbs <имя> nbs файл сохранился как переменная, теперь создаём какой-нибудь файл, например play.lua, редактируем - пишем туда nbsPlay(nbs: string, repeat: boolean). В моём случае - nbsPlay(despacito, true) (Будет постоянный повтор музыки, остановить можно написав error() в интерпретаторе) Пишем net play.lua Слушаем и радуемся! !ВНИМАНИЕ! Требовательно к оперативной памяти. Минимальная конфигурация с т 1.5 плашкой первого уровня, иначе дрон будет кричать о недостаточной памяти. Так же, с 1 платой при требовательных операциях и работающей музыке - возможен вылет дрона.
  6. 3 балла
    Просто они никогда не понимали тебя и не ценили. И если бы они не ушли сами, ты бы однажды сам бросил их. Но ты можешь написать свою программу, которая научит роботов понимать тебя с полуслова и даже с полубайта. Такие роботы всегда будут на связи и никогда не уйдут от тебя, если ты сам не пошлёшь их в дальний путь.
  7. 3 балла
    Обновление! Теперь интернет-модем это действительно библиотека. Добавлено автоподключение при разрыве связи, проверка состояния, ручное подключение к серверу. Переменные: imodem.server :строка - адрес IRC сервера, к которому надо подключится. imodem.port :число - порт сервера. imodem.channel :стpока - канал, в который надо зайти при подключении. Если задать nil, тогда общаться можно только через imodem.send(). Если задать канал после подключения, то можно сделать переподключение - imodem.connect(), либо послать сообщение на уровне IRC протокола - imodem.send_raw('JOIN #канал'). imodem.nick - ник бота, генерируется на основе адреса интернет-карты. Методы: imodem.isOnline() - возвращает, есть ли подключение к серверу. imodem.connect() - подключается к серверу. imodem.disconnect() - разрывает связь с сервером. imodem.send_raw(сообщение: стpока) - отправить сообщение на уровне протокола. imodem.broadcast(сообщение: стpока) - отправить сообщение в текущий канал. imodem.send(цель: строка, сообщение: стpока) - отправить приватное сообщение пользователю или в канал. Установка в OpenOS: wget https://raw.githubusercontent.com/DOOBW/internet_modem/master/imodem.lua /lib/imodem.lua Пример использования: local imodem = require('imodem') local event = require('event') imodem.connect() while not imodem.isOnline() do os.sleep() end imodem.broadcast('Hello IRC!') while true do local e = {event.pull('modem_message')} print(e[3]..': '..e[6]) end
  8. 3 балла
    Прошу вашему вниманию 2 программы для управления реактором и турбины из BigReactors. Турбина: Реактор: Ссылки на Pastebin: Турбина: http://pastebin.com/Y7k8qRHL Реактор: http://pastebin.com/AqqfYWSN
  9. 2 балла
    Код: local component = require("component") local gpu = require("component").gpu local redstone = require("component").redstone print("Mobs counter by maxutka99") gpu.setResolution(8,2) while true do local mobs = redstone.getInput(0) print(mobs..' Мобов') os.sleep(1) os.execute("cls") end В моде MineFactory Reloaded есть такой механизм как подсчитыватель мобов который выдаёт аналоговый redstone-сигнал в зависимости от кол-во мобов перед ним.Например, если перед подсчётчиком 1 корова, то он выдаёт redstone-значение:1 и.т.д.Если на подсчётчик поставить красный контроллер, то мы сможем выводить данные о количестве мобов на монитор или даже на собственный Web-сервер.Таким образом я смог написать код, который выводит кол-во мобов в виде переменной на монитор. P.S В программе подразумевается что красный контроллер будет установлен прямо на верх подсчитывателя.
  10. 2 балла
    А если аргументов нету, просто скажи — да иди ты в шахту! В песочницу каждый имеет право играть так, как ему нравится. И что является большим мазохизмом: мониторинг на табличках или же поход в шахту, учёные пока ещё не выяснили. Но радость может приносить и то и другое.
  11. 2 балла
    Ссылка на программу: https://github.com/rphsoftware/oc-nbs-player/blob/master/standalone/nbs_play.lua
  12. 2 балла
    Тут, кстати, надо отделять активность на игровых серверах и на форумах. Игровую активность создают по большой части школьники, а они наиболее активны летом. Активность же на форуме по большей части создают студенты и работающие люди, которые летом обычно отдаляются от интернета. Если не учитывать это различие, то можно впасть в иллюзию "если это не нужно мне, это не нужно никому". Получается, что лучше иметь плохую сборку, чем не иметь никакой.
  13. 2 балла
    GPS это куча оборудования, трата энергии и времени, но иногда может понадобится там, где нет встроенного акселерометра, как у робота. Попробуем разобраться, как настроить и построить сеть спутников, по которым можно вычислить свои координаты. Где-то была готовая программа, но я ее не нашел, поэтому восстановил основной функционал, по примеру КомпутерКрафта. Для начала нужен компьютер с установленной OpenOS. Скачиваем для него программатор хостов: pastebin get ZD8GysNP /bin/fgps.lua Эта программа позволяет устанавливать прошивку для спутников-микроконтроллеров, которые будут рассылать свои координаты по запросу. Далее, соберем несколько микроконтроллеров с беспроводными картами, при необходимости обеспечим их энергией. Теперь надо установить прошивку для первой партии: узнаем координаты, где будет стоять очередной хост вставляем EEPROM в компьютер запускаем программатор, с указанием координат через пробел (например: fgps 1652 64 -152) Прошитые карточки вставляем в микроконтроллеры (в сетке крафта) и расставляем в соответствии с координатами, указанными при прошивке. Самое главное - не перепутать координаты. Если навести курсор на микроконтроллер и зажать LSHIFT, то будет виден лейбл биоса, который является подсказкой для его позиции. Когда первая партия размещена и активированна, остальные хосты можно прошивать без указания координат - они определят позицию сразу при включении (если они будут в радиусе действия четырех рабочих хостов) Но лучше, конечно, чтобы каждый хост знал свои точные координаты. Ибо в случае небольшой ошибки в начале постройки, по мере расширения сети, погрешность будет увеличиваться, т. к. поправка будет производится по неверно вычисленным координатам хостов. Теперь проверим работу системы в деле. Возьмем, например, планшет с беспроводным модемом. Скачаем библиотеку GPS: pastebin get Dja9ZceV /lib/gps.lua Запустим консоль Lua. Загрузим библиотеку: local gps = require('gps') И попробуем получить координаты: gps.locate(true) (параметр DEBUG передаваемый в функцию работает как и в ComputerCraft - выводит все вспомогательные сообщения) Каждый хост, при старте устанавливает wake-up сообщение и включается только чтобы ответить на запрос координат. Такой подход экономит огромное количество энергии и позволяет добиться полной автономности хостов - встроенной солнечной панели вполне хватает для работы. Для стабильной работы надо будет добавить data-карту и реализовать протокол управления спутниками по прошитому открытому ключу, чтобы удобно было прошивать новые координаты при перемещении хоста на новое место.
  14. 2 балла
    а можно немного по другому. У меня дома есть поднятый ftp и http сервер. Пишу код в редакторе, сохраняю, захожу майн - кнопка F5 и код программы уже обновлён. Но в одиночке всё же удобнее. local event = require("event") local function update(_, _, _, code) if code == 63 then os.execute("wget -fq http://address/test.lua /home") end end event.listen("key_down", update)
  15. 1 балл
  16. 1 балл
  17. 1 балл
    >Мелкие таблички, на которых ничего не видно уже с 5-6 блоков Есть же мониторы, зачем так изощряться?
  18. 1 балл
    До меня, кажись, дошло, что значит "графическая" кнопка. Тебе конкретно нужно что-то подобное? В MineOS иконки как раз по твоим запросам.
  19. 1 балл
    @BrightYC угу, но лень-матушка в приоритете
  20. 1 балл
    Давненько не было автокрафтеров тут. Может, кому-то пригодится моя версия. Предназначена в первую очередь для крафта всяких часто необходимых мелочей со сложными крафтами (например, компоненты OpenComputers) из примитивных исходных ресурсов (например, процессор из слитков золота и железа, тростника и редстоуна), которые у пользователя отнимают кучу времени на поиск всех транзисторов и крафт недостающих. Рассчитана на использовании робота и двух сундуков, один из которых - основное хранилище (может быть покрупнее), а другой предназначен для резервирования компонентов при крафте. Ссылка: https://pastebin.com/1gqtWLub Необходимая конфигурация робота: Проверялась работа на компонентах (корпус, память, процессор, жёсткий диск) второго уровня. Screen, Keyboard Crafting Upgrade Inventory Upgrade и Inventory Controller Видеокарта и экран первого уровня Для дальнейших потенциальных расширений: Беспроводная карта Upgrade Container Конфигурация установки: Перед роботом - контейнер ресурсов (любой из возможных инвентарей достаточного размера) Под роботом - контейнер-буфер (можно обычный сундук) Рядом желательно поставить зарядник Возможности: Рекурсивный крафт сложных рецептов. Ресурсов расходуется, по результатам практических испытаний, ровно столько, сколько необходимо. Каталог рецептов для крафта, разбитый на страницы по 10 предметов для более удобного пролистывания на маленьком экране робота. Портативность - требуется только робот, два сундука и исходные ресурсы. Желателен также источник энергии Сообщения о том, каких конкретно исходных ресурсов не хватает для крафта (исходные ресурсы - те, для которых не найдено рецепта) Процесс крафта подробно отображается на экране, чтоб за ним было не так скучно и одиноко следить (см. недостатки) Об окончании крафта робот сообщит приветливым писком. Равно как и о неудаче. Недостатки и известные недочёты: Скорость..... Крафт занимает значительное время. Например, изготовление процессора 3го уровня из примитивных ресурсов (тростник, красный камень, алмазы, дерево для резаков, слитки золота, железа) занимает около 5 минут. Стоит отметить что количество изготавливаемых предметов не сильно влияет на время (2 процессора, скорее всего, будут делаться те же примерно 5 минут). Не умеет работать с альтернативными ресурсами. Возможно, когда-нибудь исправлю. Не умеет работать с инструментами (имеются ввиду многоразовые, как молот ИК2). Возможно, так же когда-нибудь исправлю. Не умеет работать с количествами предметов более стака, а также не гарантируется корректная работа с предметами, не складывающимися в стак. Постараюсь исправить в ближайшее время. Нет поиска по именам компонентов (то есть, либо задаёте название компонента целиком, либо задаёте крафт через каталог). Когда-нибудь поправлю Проверок на наличие контейнеров не делается, так как программа писалась "для себя" и находится в разработке. В дальнейшем будут введены. Также не везде гарантируется наличие защиты от "Количество предметов: Привет". Особенности: Шаблоны содержатся в одном файле, что облегчает переносимость, но приносит определённые неудобства всвязи с размерами файла (12 строк на предмет). Буду думать, как лучше сделать (разбить на разные файлы?). Файл имеющихся шаблонов могу выложить при необходимости (на разных сборках эти шаблоны могут отличаться) Дальнейшее развитие (no promises!): Исправление имеющихся недочётов Поддержка работы по сети (заказ компонентов, сообщение о готовности - дистанционно). Работа с более сложными инвентарями - сборщики, и т.д. Работа с машинами-обработчиками ресурсов - когда-нибудь в отдалённом будущем, скорее всего. Управление: Интерфейс текстовый. Посмотреть команды главного меню можно, нажав "Enter" (оставив поле ввода пустым).
  21. 1 балл
    Я даже бы не удивился если бы робот сбежал
  22. 1 балл
    Первый из роботов (после фермера и шахтеров), который не потерялся после запуска. Спасибо за него, отличная программа, думаю сделать несколько улучшений, в том числе сохранение имени рецепта, вывод более удобный ошибок при крафте и русификацию =) Если кому нужно будет - скину
  23. 1 балл
    Кстати, да. Прошлая копалка была с бэкдором, чтобы я мог перехватить управление над всеми роботами и забрать их себе, но никто не жаловался. Насколько я помню, там убеганий в бесконечность не было, но с обновлением мода появился глюк сортировки, который никак не исправить. А тут с этим убеганием странно, @BrightYC постоянно на это жаловался, когда убрали отладочную инфу - все прошло. Надо будет проанализировать, где ошибка обработки блоков. Я использую устаревшую логику, после обновления мода до 1.7.2 она перестала работать, навесил костылей, вроде работает (но это не точно). Одну ошибку payonel исправил, чтобы найти другие - надо узнать, при каких условиях они появляются. Когда только начал писать дубокопа, я его гонял на стенде из 9 чанков, вырезанных из мира. Запускал кучу роботов, мониторил каждый шаг через X-ray. После описания основного каркаса и определения оптимального алгоритма добычи, я стал делать прогоны на пустом стенде с генерацией руд из дебаг-карты. Все это делается в одиночке с двумя модами - AE2 + IC^2 Каждый может собрать свою копалку, вот пример в блоге, где я за неделю неспешного тыканья в майне, запилил базовый функционал. Самая первая копалка, которую я написал, была жутко неудобная - приходилось спускаться на ту высоту, где больше вероятность встретить нужную руду, робот шел прямо и сканировал вертикальными слоями, после получения команды начинал добычу. Эффективность была так-себе, но лучше чем у Totoro. artem211 написал хороший комбайн, но им как-то никто не пользуется - эффективность очень маленькая, багов куча, функционал устарел. Во какую простыню накатал, лучше бы код писал, ленивая жопа.
  24. 1 балл
    Разрабатывать удобнее в одиночной игре с параметром bufferChanges=false конфига OpenComputers.cfg. Каждому диску OpenComputers соответствует папка вида .minecraft/saves/SAVENAME/opencomputers/DISK-UUID/, файлы в этих папках доступны для редактирования любым подвернувшимся под руку текстовым редактором. А чем редактировать код Lua, уже не раз обсуждалось: https://yandex.ru/search/?text=редактор lua site%3Acomputercraft.ru
  25. 1 балл
    Беря программу бесплатно ожидай что она может быть с багами, с майнерами и тд)
  26. 1 балл
    Эта штука тоже меня постоянно мучала. И появлялась она только тогда, когда запускать на уровне земли. На уровне шахт другие проблемы =d @Doob Конечно, времени может и нет, но нужно хотя бы табличку в тему повесить огромным красным шрифтом: "ЭТА ПРОГРАММА РАБОТАЕТ НЕСТАБИЛЬНО, ВЫ МОЖЕТЕ ПОТЕРЯТЬ РЕСУРСЫ" Но нет, она же позиционируется как стабильная(судя по теме), так как никаких средств отладки/логов просто нет UPD: Пардон. В начале темы всё же есть упоминание о том, что не реализованы ещё все возможности. Но добавление средств отладки не помешало бы в любом случае.
  27. 1 балл
    Код открытый, везде комментарии. Кто играет - может до ума довести. Я бы и сам рад, но времени нет. Есть какая-то проблема с невидимыми неразрушимыми блоками. Но какой мод это делает и при каких условиях - не известно, т. к. я видел это всего два раза и на серверах, где вообще все багает.
  28. 1 балл
    Еще бы были они. Нужна отладочная версия, которая при каждом чихе логи домой шлёт. А то из логов на стандартной версии ничего нет.
  29. 1 балл
    Ну почему же? Приблизительно то можно район узнать. Вообще попробуй поглядеть на руду алмазную через ту прогу, все сразу поймете.
  30. 1 балл
    Но, разве что, нашёл программу 3х летней давности. Если честно, эта штука не работает, из-за дичайших шумов. Но вот она:
  31. 1 балл
    Никак. Геоанализатор сканирует породу с шумами, чем дальше - тем сильнее помехи. В итоге, узнать есть ли порода можно лишь на небольшом расстоянии.
  32. 1 балл
    hi-tech убран из лончера. п.с. Это был просто тестовый сингл на 1.12 с модами.
  33. 1 балл
    Трудно что-то тут сказать, т. к. слишком мало информации. По возможности хотелось бы увидеть скрины как всё было поставлено, что внутри пк и скрин самой ошибки, список модов, которые были дополнительно установлены. Если при спавне компа командой он не был ни с чем соединён (т. е. полностью изолирован от других компонентов), и был произведён чисто запуск без смены комплектации, то возможно появился какой-то баг OpenComputers, хотя это маловероятно. Вообще единственное предположение пока возникает, что была произведена попытка запуститься с пустой дискеты (после крафта дискеты нужно потом объединить с книжкой OC, чтобы получить OpenOS).
  34. 1 балл
    А если в творческом режиме заспавнить компьютер в сборе командой /oc_sc, как он себя поведёт при включении? Кстати, какая версия Minecraft и OpenComputers?
  35. 1 балл
    Нету его. Там ванила. Если сервак вообще включен. Приходите в сентябре. Возможно запустят
  36. 1 балл
  37. 1 балл
    Дуб, а Дуб, когда же нам ждать продолжения то? =) Очень интересно было бы взглянуть на конечный продукт. Как я понял, осталось только добавить возможность создания/удаления файлов и папок ну и копирование/вырезание и вставку и вроде как оно будет очень интересным решением =)
  38. 1 балл
    Итак, я начал на своём канале YouTube писать видео по майнкрафту. Это сейчас обзоры моих программ, написанных в майнкрафте или вне него. Небольшой мини-гайд в двух частях по основам мода можете просмотреть сейчас. Остальное ищите на канале. В будущем возможно я туда буду записывать гайды по The Powder Toy и его скриптам на lua. Опыта в этой игре у меня много и есть что рассказать.
  39. 1 балл
    Показывает основную информацию о системе и дисках, позволяет выбирать приоритетный и конкретные диски для загрузки. Из работающего: Информация о системе Краткая информация о дисках Загрузка через init.lua в корне диска Установка приоритетного загрузочного диска (при старте биос будет пытаться загрузится именно с него, а потом уже проверять другие диски) Выжигающий глаза интерфейс и код Форматирование дисков Загрузка в MineOS Из не работающего: Загрузка в Plan9k и SecureOS Вкладка настроек Частично работающее: Загрузка в MineOS (не будет работать если установлено значение приоритетного диска) Предстоит реализовать: Вкладку настроек с языком Включение/выключение авторана Функцию ремонта файла запуска системы (перекачка с репозиции) Модификатор запускаторов MineOS и OpenLoader Запуск файлов на уровне биоса Поддержку (хоть какую нибудь) дисков в блочном режиме Вырезать главный кусочек и сделать возможность работы без интернет карты Перелопатить интерфейс и код, дабы делать всё через ООП Для установки прошейте биос этим файлом: https://raw.githubusercontent.com/titan123023/OCBios/master/bios-starter.lua Сслыль на репозицию: https://github.com/titan123023/OCBios Для работы требуется: Интернет карта Монитор любого уровня Клавиатура (если хотите зайти в сам биос) Как минимум 1 палец (см описание выше)
  40. 1 балл
    Большие растровые шрифты хорошо подходят для рекламных вывесок — бегающего текста. До появление этой библиотеки не было удобного способа использовать их в OpenComputers. Но теперь есть. pastebin get Mz7Ps5jQ /usr/lib/ocbf.lua Библиотека максимально прозрачна и сама по себе отрисовкой не занимается. Для отрисовки удобно использовать библиотеку Braille Bicycle от товарища @Totoro. Все шрифты хранятся по пути /usr/share/fonts в таком виде: /usr/share/fonts ├── IBM Plex Serif │ ├── Bold Italic.ocbf │ ├── Bold.ocbf │ ├── Italic.ocbf │ └── Regular.ocbf ├── Prosto One │ └── Regular.ocbf └── Roboto ├── Bold Italic.ocbf ├── Bold.ocbf ├── Italic.ocbf └── Regular.ocbf Для конвертирования новых шрифтов можно воспользоваться утилитой на языке Python: ocbf.py. Для ее работы необходимо установить библиотеки PIL, bitarray и tqdm (Python3). OCBF содержит в себе всего две функции: ocbf.load(family: string, style: string) — находит шрифт по указанному семейству и стилем, парсит его и возвращает объект шрифта. Если первый аргумент — это путь, то поиск производится не будет; вместо этого шрифт будет загружен из указанного файла (обязательно с расширением ocbf) ocbf.search(family: string, style: string) — находит шрифт и возвращает путь до него. Все функции ищут шрифт в директориях, указанных в переменной ocbf.path = "/usr/share/fonts:/home/.fonts:.". Из кода видно, что поиск осуществлятся в /usr/share/fonts, /home/.fonts и в текущей директории. Объект шрифта предоставляет следующие методы: font:drawChar(set: function, size: number, char: string, x: number, y: number) — отрисовывает один символ размером size используя шрифт по координатам (x; y). Функция set принимает три аргумента: координаты точки и значение 1 — точка заполнена и 0 — точка пуста. font:draw(set: function, size: number, str: string, x: number, y: number) — работает так же, как и font:drawChar, но отрисовывает сразу все символы. font:width(size: number, str: string — возвращает ширину строки с заданным размерам в точках. Помимо вышеперечисленных методов также есть свойства font.family, font.style и font.sizes. Все функции принимают аргумент size. Это высота шрифта в точках. Поскольку используя растровые шрифты невозможно обеспечить поддержку сразу всех размеров, size для разных шрифтов имеет разные допустимые значения. Для каждого размера в шрифте дублируются символы. Предоставляю также набор шрифтов Roboto — Regular Roboto — Bold Roboto — Italic Roboto — Bold Italic IBM Plex Serif — Regular IBM Plex Serif — Bold IBM Plex Serif — Italic IBM Plex Serif — Bold Italic Prosto One — Regular Все шрифты кроме Prosto One представлены в размерах 16 и 32 точек, Prosto One — 32 и 64. Имеется поддержка латиницы и кириллицы. Также стоит отметить, что для работы библиотеки необходим Lua 5.3 — используется string.unpack, побитовые операции, UTF-8. Для отрисовки текста на изображении в начале поста использовался следующий код: local ocbf = require("ocbf") local braille = require("braille") local matrix = braille.matrix(320, 200) local font1 = ocbf.load("Prosto One", "Regular") local font2 = ocbf.load("Roboto", "Bold") local font3 = ocbf.load("Roboto", "Regular") local function set(x, y, v) braille.set(matrix, x, y, v) end font1:draw(set, 64, "OCBF", 4, 1) font2:draw(set, 32, "Растровые шрифты", 4, 65) font2:draw(set, 32, "для OpenComputers", 4, 98) font3:draw(set, 32, "от LeshaInc", 4, 168) braille.render(matrix, 1, 1)
  41. 1 балл
    ну это дааа, согласен, часто интересная идея дороже десятков тонн написанного кода ненужного никому. Но если отталкиваться от копирования Uplink, то придумывать ничего и не нужно. Там норм симулятор хакера детского, с IP-шками вида 987.899.745.009=))), с прокачкой и эволюцией, новыми открывающимися заданиями и точками атаки + куча мелочей и графоном неплохим на то время нулевых годов, даже вроде интересно было, но вроде через полчаса игра надоела, давно это было, уже и не помню. Но даже если хоть на 10% ее попытаться реализовать, то на это уйдет не один месяц работы и это будет не один мегабайт кода. Да и зачем, если она уже есть, хакалка эта. И в одно рыло играть не сильно интересно в нашем случае в многопользовательском майне. С таким же успехом можно приступать к написанию игры Супер Марио для ОС. Тут лучше понять саму концепцию, как оно будет физически организовано. То ли это клиентский симулятор в одно лицо, то ли там есть реально серверная часть, защищен ли клиенский комп от ковыряний, будет ли многопользовательский режим. Если да, то тогда как сервер будет обрабатывать и понимать конкретных пользователей, их рейтинг и прокач. То ли это одна физическая машина (а если одна, как обеспечить имитацию многопоточности) то ли он будет перелинковывать "хакеров" на свободные для игры машины и передавать туда из единой базы текущий профиль игрока и его эволюцию и уже эта одна машина работает с конкретным юзверем. Как это все потом разъединяется и сохраняется правильно и прочее прочее. А задания? Ну какие задания. Ну явно же не найти дискриминант многочлена второй степени за 25 сек, чтобы взломать банк, так ведь? Там же типа какие-то фишечки, типа подключись туда, введи то и то, запусти крякалку, почисть логи, вспомни емэйл банковского сотрудника, который дали в 15-м задании, попробуй его взломать и прочая ерунда, то есть куда-то тыкнуть, что-то ввести, куда-то приконнектится, прикупить модем или хард и прочая ерунда, как в Uplink. Как это все запихать в ОС, даже и представить боюсь. А самое главное - это все и так уже у нас по сути есть - скрафть геолайзер, робота, гаечный ключ, карту связи, планшет, проц, накопай алмов, прошей биос дрону, найди нубо домик без дверей, вынеси все ресы Для чего тогда Uplink, если майн - это и есть Uplink?
  42. 1 балл
    CrazyGreen, конечно никто не запрещает тебе учиться программированию и вопросы можешь задавать на форуме. Но мне кажется, ты хватаешься за слишком глобальные вещи. То антивирус писал, теперь вот - игру. Может стоит начать с хеллоуворда, потом таблицы, циклы и функции, потом работа с фалами и графикой. А там и до игры дорастешь. Вот ты задаешь вопрос: Как сделать сохранения для игры? И что ты хочешь услышать в ответ? Мы ведь не знаем, что за игра, какие параметры надо сохранять, как ты эти параметры хранишь в своей игре. Попробуй разбить свой не слишком определенный вопрос на несколько, но более конкретных. Например, как поместить несколько значений в таблицу? как преобразовать таблицу в строку и обратно? как сохранять строку в файл и считывать из файла? Помни, правильно сформулированный вопрос содержит половину ответа. А может ты и сам найдешь ответ, когда поймешь, чего же хочешь.
  43. 1 балл
    Нужно понимать, что computercraft.ru – площадка для изучения программирования через развлечение. И если не здесь развлекаться, то где же еще?
  44. 1 балл
    Приключений на 5-й порт ввода-вывода=)
  45. 1 балл
    Кто-то поставил это на входную дверь, постоянно вырубается, глючит, я посмотрел, не стал разбираться где ошибки - написал свою. В общем, мой простой скрипт превращает pim в нажимную плиту - если на нее наступает игрок из белого списка, она посылает сигнал редстоуна на поршневую дверь (обычные двери требуют механизма обновления блока), если на нее наступает любой другой игрок, она забирает его вещи. С другой стороны стоит обычная нажимная плита,, которая пропускает всех подряд. Конфиг простой: первая строка - белый список, вторая - направление на контейнер, третья - направление на обычную нажимную плиту, которая находится с внутренней стороны для redstone I/O У меня скрипт запускается в autorun.lua - os.execute('smart_pplate >> log') В одиночке это не так заметно, но на сервере, если ведется лог, то перенос лута идет дольше. Вообще, логгирование можно выкинуть, потому-что я его прикрутил просто, чтобы собирать статистику у кого какой лут.
  46. 1 балл
    Графонисто! Какой приятный интерфейс, какое прекрасное юзабилити, какие кнопочки! Какие эмоции при составлении скрипта! Много, много чая автору
  47. 1 балл
  48. 0 баллов
    Немного не понятно. В любом случае кнопка это графика а нажатие это отслеживание действий пользователя. Я лично писал калькулятор на основе этой статьи Это довольно сложно, но вполне реализуемо. Можно немного с кодом поковыряться и будет вообще конфетка. Но увы, если у вас дофига кнопок это чудо начинает несказочно лагать. Есть еще где то редактор прям готовый, где можно создать не только кнопки но и метки, списки, и прочее прочее, но я как то не помню куда его запихали. Пробовал и через него создавать кнопки, но там несколько специфичное все, интерфейс рисовать только через редактор, обязательное подключение библиотеки, ну и скорость работы низкая. Пробовал сам писать, получилась неплохая в теории библиотека, но у меня её сперли какие то добрые люди вместе с блокнотом.
  49. 0 баллов
    У @Hikooshi довольно подробный гайд на эту тему, если хочется делать кнопки без всяких новомодных библиотек:
  50. 0 баллов
    Классика =D Я с этим дубокопом провозился недели 3 =) Что я делал чтобы не потерять робота - обворачивал весь код в pcall(), отправлял координаты робота при старте, работе, и выключении. Из конфигурации было: Интернет карта, беспроводная, туннельная. И даже с такой конфигураций он умудрился теряться))
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...