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

Лидеры


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

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

  1. 8 баллов
    https://pastebin.com/jLkwQgHa Набор моделей символов, размером в 1 блок. Широкие, жирные, самое то для всяких вывесок.
  2. 8 баллов
    Сервер STEM был обновлён до 0.2.4 и перезагружен. (Прошу прощения у всех у кого посыпались коннекты. ) Был исправлен баг, который не позволял посылать пакеты длиной более 1.5 килобайт. Теперь можно без проблем слать пакеты до 64 кб размером (это уже ограничение протокола STEM - если нужны пакеты жирнее, просто разбивайте данные на чанки). Кроме того, я чуть чуть обновил OC клиент stem.lua - теперь можно делать просто stem.connect() не указывая никакого адреса, и библиотека законнектит на stem.fomalhaut.me. Спасибо @BrightYC за то что как обычно пинал и требовал фиксов, спасибо @Fingercomp и @NEO за помощь в установлении причин, и конечно же спасибо @Totoro за то что баг обнаружил и исправил несмотря на жестокую лень.
  3. 7 баллов
    Продолжу рассказывать про знаки препинания. В этом посте — 3 разных истории про пару круглых скобок. 1. Вызовы функций Если функция вызывается с одним аргументом — строковым или табличным литералом, то скобочки необязательны. local function identity(x) return x end print(identity "test" == "test") print(table.unpack(identity {"test"}) == "test") Это чисто синтаксическая фишка, которая никак не влияет на исполнение кода. Очень удобно, чтобы вызвать функцию и передать ей таблицу с опциями. local logger = getLogger { name = "main", level = "info", output = {stdout}, } Если несколько литералов так разместить подряд, получится ряд последовательных вызовов: myFunc "hello" "world" {"how do you do"} -- myFunc("hello")("world")({"how do you do"}) Используя эту фичу, можно воплотить всякие норкоманские вещи. Как вам вот такой форматтер с интерполяцией? local myVar = 42 print(format "myVar = " {myVar} ", and I'm running " {_VERSION}) --> myVar = 42, and I'm running Lua 5.3 2. Ещё про литералы У всех строк есть метатаблица, у которой __index = string. Это значит, что можно вместо string.gsub(str, ...) писать str.gsub(str, ...), или str:gsub(...). Очень удобно, особенно последнее. Но вот просто так заменить str литералом нельзя. "test":gsub(...) — синтаксически неправильный код. Выручат скобки вокруг литерала: ("test"):gsub(...). Постоянно этим пользуюсь. Та же ситуация, если мы хотим проиндексировать табличный литерал: {foo = "bar"}.foo выдаст ошибку. Лечится аналогично: ({foo = "bar}).foo. Кроме индексации, скобочки нужны при вызове: вместо function() return 42 end() нужно писать (function() return 42 end)(). Наконец, есть ещё литералы численные: 42, например. В обычной Lua оборачивать их в скобки смысла, пожалуй, и не имеет, но с небольшим шаманством опять потребуются скобочки: debug.setmetatable(0, {__call = function(self) print(self) end}); (42)() --> 42 Правда, в OpenComputers отключён debug.setmetatable. 3. Функции с множественным выхлопом В Lua функция может вернуть несколько значений: local function test() return 1, 2, 3 end print(test()) --> 1 2 3 Однако бывает, что нужно достать только одно значение, а про остальные забыть. Для этого нужно обернуть в скобки вызов функции, вот так: print((test())) --> 1 Скобочки возьмут только первое значение и отбросят остальные. С помощью функции select можно выбрать и другое по счёту: local function identity(...) return ... end print((select(3, identity(10, 9, 8, 7, 6, 5, 4, 3, 2, 1)))) --> 8
  4. 6 баллов
    Допилил версию 1.1.0. Теперь либа умеет трекать юзеров на канале, их префикс, аккаунты, ники, иные данные о них, режимы каналов. Досье целое собирает. Скачать можно через hpm. Только он не работает. Поэтому альтернативный вариант: тык.tar. Распаковывать можно программой tar (тырить из oppm). Документация для 1.1.0 лежит здесь. P. S. Совсем забыл. Ещё поддержку capabilities сделал. Если кто-то вообще понимает, что это такое.
  5. 5 баллов
    Маленькое объявление. Есть замысел, но это пока не точно, запустить сервер ПРЕДВАРИТЕЛЬНО следующей конфигурации: ос + ВСЕ известные аддоны ИК (опционально аддоны) АЕ + ExtraCells симплТанкс Форестри + аддоны генетики (исключительно из-за красоты и масштабности мода) ironchest миникарта мод на деньги(разменные бартерные айтемы, исключительно для декора и имитации торговли, которой все равно нет в игре у игроков почему-то, по крайней мере на нашем сайте) стационарный чанклоадер нпс (в лобби мире на всякий случай в виде обменников, если в мире вдруг закончатся ульи, или пчелы или картошка или еще что-то) NEI библиотеки для работы этих модов Абсолютно всё на сервере по дефолту (конфиги модов), генерация и прочее. Приваты - 1 шт. 3x3 чанка высотой 256 блоков. Генерация всех миров, данжей, жителей и прочего. Все как в ванили. Строго как в ванили. Руды и т.д. Никаких задрочек, заморочек, вопросов, просьб, идей или отсутствие таковых, никаких выживаний или пвп, никаких хардкор или изи твиков, никакого геморроя, погоды, никаких факелов, темных или светлых ночей, китов, аукционов и прочего, ничего. Просто сервер. Тупо сервер. Стартовый кит стандартный(яблоко, меч, кожаные трусы, чтобы не было твинкодрочеров). 20 варпов+1 варп публичный для ИК магазина, 1 хомка(респавн), хомка безгранична. Отключена ядерная бомба и спавн метеоритов(от них никакого толку, так как они всё равно разграблены, как правило). Отключен компас АЕ и автофермы и торговля через письма форестри. В овере работает /rtp. Приват защищает от грифа и пвп. Крафт прессов и небесного камня(если он вдруг нужен) Данный сервер по замыслу избавит администрацию от танцев, хлопот, забот, фантазий, доработок, кастомных крафтов и прочего. Вопросы по игре тоже можно уже не задавать. Всё что есть на сервере, есть в википедии или на табличках в лобби мире (пустотный фёрст-джоин мир). Из этого мира можно варпнуться в овер, энд или незер (минидомики в виде коробочек с дверкой заприваченные адин приватом). В лобби мир тоже всегда можно вернутся Приватить можно только в овере. Майнерс мир возможен при необходимости. Тоже ванила генерация. Хомка ставится только в овере. Вайп по необходимости и при страшных лагах(точечный или какого-то конкретного измерения) Данный сервер планируется использовать исключительно для игры и ознакомления с модом ОС и его аддонами и его применением в рамках тематики форума. Если найдутся еще какие-то более менее стабильные моды, которые достаточно тесно интегрированы с ОС и не дублируют механики модов, упомянутых выше(то есть не нужно сюда приплетать какой-то условно говоря иммерсив, в котором через ОС можно просто получать адаптером заряд батареи например , что те же яйца с научной точки зрения, что и получение состояния мфсу в ИК), то такие моды могут быть добавлены в полном объеме или с некоторыми ограничениями, но в свою очередь перенасыщение модами в геометрической прогрессии, скорее всего, ускорит вайп или удаление некоторых модов, или снизит стабильность работы сервера. Данный сервер заменит сложный для понимания и игры сыроватый атомик. Что на атомике что на этом сервере играть все равно никто не будет, но зато вопросов и танцев и каких-то бесполезных дискуссий и прочей шелухи и мусора и холиваров на форуме станет меньше в десятки раз. Отныне только классика, суровая классика и стандарт и минимализм, необходимый и достаточный для изучения луа и базовых возможностей мода ОС.
  6. 5 баллов
    Мод галаксиКрафт установлен на сервер!
  7. 4 балла
    Заказ №2. Решётка. https://pastebin.com/Hj0XEnNh Решётка, которая на скрине - это Lattice2. Модель лавы можно использовать, чтобы никто не мог её забрать ведром. Как выглядит всё вместе:
  8. 4 балла
    Карта приватов для роботов. Добавил возможность роботам на нашем сервере в удобном виде получить все приваты. Новичку может это и не пригодится, так как новичок, как правило, копает чанк "змейкой" в своем привате, или рядышком, где и специальным "визуализатором приватов" (плагин) можно эти приваты и так глянуть. Их видно. "Упереться" роботом в чужой приват очень не велик шанс. А вот более опытным игрокам, которые любят "гонять" робота по всему миру в поисках урана или алмазов, эти данные, возможно и пригодятся. В общем, если у вас робот с персональным чанклодером, ультимейт-геолайзером, ультимейт-навигатором, с квантовой панелькой, с тессерактом АЕ, связанной платой... и прочее прочее, а программа работает так, что ваш робот не ковыряется в кубике земли 2 на 2 чанка, а "бороздит" автономно просторы сервера чанк за чанком биом за биомом и т.п., в поисках конкретного ресурса, то вы можете вашего робота сделать еще "умнее". Теперь ваш робот(или ПК) может в любой момент времени при наличии интернет платы получить карту приватов сервера и с легкостью их обходить, если вы, конечно, в своей программе реализуете эту проверку. Таблица имеет абсолютно все необходимые и достаточные данные о приватах сервера. Мини-пример программки, которая демонстрирует подключение к "карте приватов" сервера TechnoCraft: Для работы вам понадобится любая библиотечка для работы с JSON. Я использовал вот эту библиотечку. Сырые данные приватов в json: ссылка Если нужны какие-то др. данные, или хотите параметр передавать в php, например параметр мира для получения выборки: robot_rg.php?world=miner , пишите в комментариях. И да, если вы не видите овнера в регионе, не пугайтесь, это скорее всего админ приват, созданный при помощи /rg define <name_region> На сайте админ приваты не выводятся. Но для роботов это тоже "преграда". И еще раз, как памятку, оставлю здесь информацию о том, как добавить робота в приват(часто кто-то спрашивает на сервере об этом): /rg addmember имя_региона -n [OpenComputers] - ваши транспозеры работают с инвентарями в вашем регионе /rg addmember имя_региона -n ваш_ник.robot - ваши роботы копают в вашем привате и работают с инвентарями Пример: /rg addmember myhome -n bob99.robot - для игрока с ником bob99 для региона myhome Вроде так, если ничего не забыл. Поправьте, если что, в комментариях.
  9. 4 балла
    А, точно. @Alex так и задумывал.
  10. 4 балла
    Предисловие Я думал на новый сервер запилить прогу — мост между чатом сервера и IRC. У меня уже были такие программки: я насчитал минимум 6 различных версий мостов — каждая была немного переделанным клиентом IRC, который на дискете встроенной есть. Понять, в чём разница, даже с вимдиффом было сложно. Потому я плюнул и решил запилить полноценную ирколибу с красивой апишкой. Как это выглядит Вот полный код бота — моста. Сто двадцать шесть строчек. Прокомментирую некоторые из них. ① Подключаем либу и для укорачивания имён ещё вытаскиваем events, в которых хранятся все ивенты и priority. ② Создаем клиент с помощью билдера. ③ Через :connection задаём настройки соединения. Самое важное — адрес иркосервера. Порт обязателен. ④ Ирколиба знает меру в флуде. Опасаться, что бота выкосит флуд-фильтром, можно гораздо меньше. Это опционально, конечно. ⑤ Задаём ник бота, юзернейм и реалнейм. Юзернейм виден в хосте (nickname!username@domain.name), а реалнейм пишется в /whois. ⑥ Ирколиба умеет авторизовываться на сервере. Тоже опционально. ⑦ Эта группа выделена для ботоводческих настроек. Но пока там единственная опция — в какие каналы автоматически заходить. ⑧ Здесь задаются настройки исполнения. Опция threaded, по дефолту включённая, запустит бота в отдельном треде. Опция reconnect, также включённая по умолчанию, заставит бота переподключиться к серверу, если отвалится от него. Опция catchErrors перехватит ошибки в пользовательких листнерах; она отключена по умолчанию, чтобы не смущать. ⑨ Бот генерит ивенты для каждого сообщения. Так мы задаём обработчик для ивента. К слову, вместо функции здесь может быть корутина. ⑩ Есть и другие события. Например, irc.events.client.connected означает, что клиент соединился с сервером. А irc.events.client.authenticated говорит, что теперь можно слать сообщения. ⑪ Когда мы закончили конфигурировать бота, собираем через :build(). Если вместо него вызвать :buildAndRun(), бот тут же ещё и запустится. ⑫ Для удобства создадим ещё один тред, где будем работать с чатбоксом и ждать ^C. ⑬ Запускаем бота. Затем ждём завершения любого из двух потоков. ⑭ Когда это произошло, мы выключаем клиент, если он ещё подключен: тот выйдет с сообщением "Quitting." ⑮ Наконец, принудительно останавливаем потоки. На всякий случай. Красота ведь. Репозиторий Репа либы — на нашем гитлабе. Там же есть примеры использования и документация с описанием всего. Наконец, версия 1.0.0 лежит на хеле. Из-за баги в OC хпм крашиться может (фиксить лень), но можно попробовать скачать: $ hpm install libirc
  11. 4 балла
    @eu_tomat а Вискас уже играет на технокрафте
  12. 4 балла
    Я недавно выложил IRC-либу, которую я делал, чтобы собирать IRC-мост. Теперь я собрал и мост. Установка Соберите компьютер с интернет-платой, кучей памяти (на всякий случай), админ-чатбоксом из OpenTechnology и дебаг-картой (через неё онлайн получает прога). Поставьте на него OpenOS. Пропишите следующие команды: mkdir -p /home/bin wget https://gist.githubusercontent.com/Fingercomp/df483bc2cefa13e0422d656ae82495ac/raw/c8617e01b7baa0e47936300fd9e783afa36601cb/irc-bridge.lua /home/bin/irc-bridge.lua Скачайте и установите IRC-либу. Например, так: mkdir -p /home/lib/irc /home/lib/irc/client /home/lib/irc/event /home/lib/irc/protocol cd /home/lib/irc set ADDR=https://gitlab.com/cc-ru/irc-oc/-/raw/v1.1.0/irc wget $ADDR/init.lua init.lua wget $ADDR/enum.lua enum.lua wget $ADDR/state.lua state.lua wget $ADDR/throttlingScheduler.lua throttlingScheduler.lua wget $ADDR/client/init.lua client/init.lua wget $ADDR/client/handlers.lua client/handlers.lua wget $ADDR/event/init.lua event/init.lua wget $ADDR/event/bus.lua event/bus.lua wget $ADDR/protocol/init.lua protocol/init.lua wget $ADDR/protocol/isupport.lua protocol/isupport.lua wget $ADDR/protocol/capabilities.lua protocol/capabilities.lua wget $ADDR/protocol/splitter.lua protocol/splitter.lua Запустите мост, чтобы он создал конфиг-файл: irc-bridge Откройте файл /etc/conversationalist.cfg. Там будет сериализованная Lua-таблица (не самый лучший формат конфига, согласен). Найдите и поменяйте следующие настройки: channel — канал, к которому подключаться nickname — ник бота в ирке account — имя аккаунта бота в ирке (можно в nil поставить, если нет) accountPassword — пароль от акка (также в nil поставить, если нет) gameAdmins или ircAdmins — в таблицу впишите себя, чтобы можно было конфигать Всё. Мост поставлен. Команды Мост воспринимает команды. Чтобы выполнить команду, например pm on: Пропишите в игре: #IRC: pm on Пропишите в ирке: /notice @<имя канала> pm on (например, /notice @#cc.ru-server1 pm on). Список команд: online — показать онлайн на другом конце моста. pm on — разрешить с другого конца моста слать вам ЛС. pm off — запретить слать вам ЛС. pm — показать, могут ли вам послать ЛС (в ирке включено по умолчанию, а в игре выключено и надо включать самому). msg <имя> <сообщение>: отправить ЛС юзеру на другом конце моста. pm ignore list — показать список игнорируемых юзеров. pm ignore add <имя> — добавить кого-то в этот список. pm ignore del <имя> — вытащить кого-то из него. Админы могут выполнять ещё такие команды: irc admin list — показать список админов в ирке. irc admin add <имя> — добавить кого-то в этот список. irc admin del <имя> — убрать кого-то из него. mc admin list, mc admin add <имя> и mc admin del <имя> — аналогично, но работает со списком админов в игре. irc whitelist list — показать список юзеров, которые могут слать сообщения в игру. irc whiltelist add <имя> — добавить кого-то в список. irc whiltelist del <имя> — убрать кого-то из него. mc blacklist list, mc blacklist add <имя>, mc blacklist del <имя> — аналогично, но работает со списоком тех, чьи сообщения не будут слаться в ирку. irc alias set <имя> <алиас> — установить алиас юзеру. Когда он будет писать сообщения в игру, его имя будет заменено на алиас. irc alias get <имя> — показать алиас для юзера. debug on — включить режим дебага. Мост будет писать весь трафик с IRC на экран. Полезно, чтобы узнать, почему тупит мост. Пароли будут показаны плейнтекстом, поэтому лучше оставить выключенным, хотя бы во время подключения. debug off — выключить этот режим. debug — показать, включён ли дебаг. Как это выглядит На мониторе будет рисоваться вот такое: Как можно догадаться, чтобы мост остановить, нужно нажать Ctrl-C. Ссылки Код на гисте: https://gist.github.com/Fingercomp/df483bc2cefa13e0422d656ae82495ac/
  13. 3 балла
  14. 3 балла
    Огромное человеческое спасибо! Все работает!
  15. 3 балла
    Игроки умеют) лично я заберу Samsung в карман и надену рюкзак (если будет) а роботу дам обычный сачок ибо в шахтах могут быть только каменные пчёлы которых нужно максимум пары 3, а забивать ими слоты в роботе постоянно (или <180 раз) это такое себе увлечение)
  16. 3 балла
    v3.0.0-alpha.1 Добавлено: Антенна дальней связи (без рецепта пока). Добавлено: Управляемая по wifi солнечная панель (генерирует eu энергию). Добавлено: Радар (блок/улучшение). Добавлено: Чат-бокс. Добавлено: Мировой интерфейс. Добавлено: С помощью продвинутого геоанализатора можно найти слизне-чанки. НЕСОВМЕСТИМЫЕ ИЗМЕНЕНИЯ: id-предметов и мод-id были изменены. Скачать: OMA-1.7.10-3.0.0-alpha.1.jar
  17. 3 балла
    не-не-не-не-не, и не уговаривай даже. Обязательно найдется эксперт, который устроит истерику в чате, что мешочки дорогие. Никаких изменений рецептов. Ну их к едренифени. Неблагодарное это занятие и трата времени впустую. Крафтится оно из палок, пусть крафтится, крафтися из иридия, значит так и будет. Иначе мы опять придем к тому, к чему пришли. Вечно кого-то что-то не устраивает кто-то плачет, кто-то что-то требует. У кого-то претензии или хотелки. И все в этом эксперты великие. НО НИКТО НЕ ИГРАЕТ! Одному изи подавай другому хард, второй пишет, а давайте сделаем сервер, где без роботов не выжить и хардкор, кто-то вообще идею предлагает, что бурилки и карьеры убивают смысл в ОС и роботах, и предлагает их запретить, а кто-то вообще хочет играть в кобло-коробке 5 на 5 и юзать для развития только роботов через вифи в мире для добычи... Мол всё только через роботов можно получить... Погугли форум... Удивишься))) В общем хотелок у всех миллион, а как до дела, то на выходе один плач. стоило только ресы в разных биомах сгенерить некоторые и сделать свет только от факелов и энергии, всё - играть уже никто не может. Сложна аднака. А на простых серверах все еще хуже. Отныне я все эти такие "идеи" по кастомизации сервера буду просто в оффтоп переносить с форума или игнорировать))) Дисбалансят мешочки или еще что-то - пофик. Выгоднее и быстрее копать продвинутой бурилкой, чем роботом - плевать Крафтится радар из опенпериферала из трех палок и кусочка коблы по дефолту - значит так это кем-то задумано. Значит так интереснее играть по задумке автора мода.
  18. 3 балла
    Предлагаю добавить в world_interface функцию получения всего инвентаря игрока и сделать insertItem как в OC для MC1.12.2. Очень нужные функции, т. к. в старых версиях майна все надо делать по одному стаку и одному слоту, а это сильно замедляет работу с инвентарем. Пройти по 36 слотам это 1.8 секунды. И было бы совсем здорово, чтобы при уничтожении стака, выдавалось количество (либо сделать уничтожение не по слотам, а по предметам, чтобы работало как команда clear с возможностью указать количество предметов)
  19. 3 балла
    Если вам так хочется увидеть 1.12.2 вместо 1.7.10, пожалуйста, поставим мод который меняет версию Можно еще поменять на упоротый скин стива и 1.7.10 не отличить от 1.12.2.
  20. 3 балла
    ой. вы ничего не видели.
  21. 2 балла
    В связи с тем что компоновка OT мне не нравится, было решено сделать ребрендинг ОТ. Фичи из ОТ будут перенесены и доработаны, не все конечно. Здесь мы будет информировать вас о грядущих обновлениях, здесь принимаем фидбек, идеи, баги, так же можем иногда выкладывать видео-ролики с интересными фичами мода, например как этот ниже. Разработчики мода: @NEO @vx13 Большое спасибо @LeshaInc за модель солнечной панели. GitLab: https://gitlab.com/Moon1Light/oma Сырая версия для ознакомления .
  22. 2 балла
    Без скриншотов, скорее всего, мало кто заинтересуется.
  23. 2 балла
    TL;DR: require("process").info().data.signal = function() end. С версии OpenOS 1.7.3 интеррапты работают так: local interrupting = uptime() - lastInterrupt > 1 and keyboard.isControlDown() and keyboard.isKeyDown(keyboard.keys.c) if interrupting then lastInterrupt = uptime() if keyboard.isAltDown() then require("process").info().data.signal("interrupted", 0) return end event.push("interrupted", lastInterrupt) end Это отрывок из /lib/event.lua. Он говорит, что если зажать Ctrl, Alt и C, то вызовется некоторая функция: require("process").info().data.signal. Программы в OpenOS запускаются в процессах. У каждого процесса есть свой главный поток (о них я писал где-то там), своё окружение. Каждый процесс следит за тем, какие файлы открыты, чтобы их закрыть при завершении процесса, жонглирует событиями и занимается сложной логикой. А ещё у каждого процесса есть свои данные. Эти данные для текущего процесса как раз возвращает process.info().data. У процессов есть иерархия. Корневой процесс — это тот, в котором запускается /init.lua. В нём устанавливается переменная signal: -- /boot/01_process.lua local init_thread = _coroutine.running() process.list[init_thread] = { path = "/init.lua", command = "init", env = _ENV, data = { vars={}, handles={}, io={}, --init will populate this coroutine_handler = _coroutine, signal = error -- ① }, instances = setmetatable({}, {__mode="v"}) } Другие программы запускаются в дочерних процессах. Они наследуют данные родительского процесса. Поэтому process.info().data.signal, обработчик жёсткого интеррапта, по умолчанию возвращает функцию error. Но данные можно переопределить. Как видно из кода /lib/event.lua, нам достаточно, чтобы новый обработчик не вызывал error. require("process").info().data.signal = function(msg, level) print("You've pressed Ctrl-Alt-C!") end Это будет работать для всех потоков внутри текущего процесса, а также для других, запущенных в нём. Стоит отметить, что потоки знают, к какому процессу они прицеплены, и этот процесс можно менять на другой. thread:detach() — просто лёгкий способ сменить процесс, в котором работает поток, на корневой. А там process.info().data.signal — это функция error. Поэтому после Ctrl-Alt-C поток всё равно получит ошибку и, если она не поймана, завершится. А программа продолжит работать. Поэтому, чтобы быть совсем спокойным, можно отключить Ctrl-Alt-C глобально: local process = require("process") local p = process.findProcess() while p.parent do p = p.parent end p.data.signal = function() end Хотя я бы, конечно, не советовал так делать. Очень неудобно потом останавливать другие программы: приходится перезагружать компьютер.
  24. 2 балла
    @ProgramCrafter В общем, пощупал твои все работы сегодня в живую уже в игре, все здорово вроде. Все устраивает по заказу. Спасибо! Итого: 75(цепь и пятаки) +25(латтис) +100(прога) + 100(общий бонус перманентный за любой заказ) + 50 за оперативность решения хотелок и правки, получается +350 поинтов репутации. Зачислил на акк. Цепь, правда, переделал, буквально в ней на 4 атома обсидиана стало больше, но она явно "мясистее" стала смотреться, более увесисто и крепко(она слева на скрине). Не знаю пока, какую оставить. Но это уже мои придирки, это мелочи. Может твою более изящную цепочку золотой сделаю и у нее будут более ласковые функции какие-то.
  25. 2 балла
    2D Принтер (v1.0.0) Пользуясь этой небольшой программой, вы сможете напечатать вывеску своей мечты! Правда, придётся немного посчитать... Установка: pastebin get 95SgeMBn 2d_printer.lua Любая буква состоит из одной или нескольких фигур. Каждая фигура - это параллелепипед толщиной в 1/16 блока. Он задаётся числом (X левой стороны) * 4096 + (ширина) * 256 + (Y нижней стороны) * 16 + (высота). Например, для печати буквы S надо последовательно набрать 16961, 17043, 25634, 25714, 25794, 41539, 41649. H - 16940, 25714, 41516. O - 16968, 25634, 25794, 41544. P - 16940, 25714, 25794, 41619. (К сожалению, числа для других букв ещё не рассчитаны. ) Наконец, чтобы отправить фрагмент вывески на печать, необходимо набрать 0 или 'print'. Программа начнёт печать, дождётся её завершения и закроется.
  26. 2 балла
    Эта программа состоит из двух частей: Создание картинки: https://pastebin.com/ff1zwCDQ Отрисовка картинок: https://pastebin.com/tJHPS9NB Для создания баннера надо: 1. Запустить программу. Первый аргумент - путь, куда баннер будет сохраняться. Пример запуска: banner.lua path_to_banner 2. Кликнуть в любом месте (для распознавания владельца). 3. Щёлкнуть правой кнопкой мышки, чтобы перейти в режим редактирования. В режиме редактирования: Клик левой кнопкой мыши на пустом месте создаёт новое текстовое поле. Клик левой кнопкой мыши на каком-то поле выберет его (фон под ним подсветится). При нажатии клавиш текст добавляется в выбранное поле. Работает Backspace. Цвет текста в выделенном поле можно поменять табуляцией (есть палитра из 12 цветов). Если ничего не выделено, то поменяется цвет фона. Перемещается поле стрелками, удаляется кнопкой Delete. В любой момент программу можно закрыть (Ctrl-C), сохранения автоматические. Программу нужно запускать с аргументами: первый отвечает за частоту смены картинки (в секундах), следующие - пути, где картинки лежат. Например: banner_show.lua 5 path_to_banner1 path_to_banner2 Закрывается тоже по Ctrl-C. Обо всех багах и предложениях просьба сообщать сюда.
  27. 2 балла
    Программа для создания баннеров: Создание: https://pastebin.com/7v4NTukh Для создания баннера надо: 1. Запустить программу. Первый аргумент - путь, куда баннер будет сохраняться. Пример запуска: banner.lua path_to_banner 2. Кликнуть в любом месте (для распознавания владельца). 3. Щёлкнуть правой кнопкой мышки, чтобы перейти в режим редактирования. В режиме редактирования: Клик левой кнопкой мыши на пустом месте создаёт новое текстовое поле. Клик левой кнопкой мыши на каком-то поле выберет его (фон под ним подсветится). При нажатии клавиш текст добавляется в выбранное поле. Работает Backspace. Цвет текста в выделенном поле можно поменять табуляцией (есть палитра из 27 цветов). Перемещается текст стрелками. Удаляется поле кнопкой Delete. В любой момент программу можно закрыть (Ctrl-C), сохранения автоматические. Отрисовка: https://pastebin.com/abUTNJUK Программу нужно запускать с аргументами: первый отвечает за частоту смены картинки (в секундах), следующие - пути, где картинки лежат. Закрывается тоже по Ctrl-C. Скрин (из эмулятора):
  28. 2 балла
    Вот такой бакомат я сообразил, в стиле таксофонной ракушки. Это базовый концепт, можно как-то стилизовать, добавить украшательств. Как вариант.
  29. 2 балла
    Заказ №1. Цепь + пятаки (верхний и нижний). https://pastebin.com/QiQ1qu2B Печатается с помощью программы print3d. Как выглядит в мире:
  30. 2 балла
    Если программа позиционируется как первая копалка для новичков, то её лучше не сжимать. Это позволит новичкам изучать код и вносить свои изменения в программу, если они дорастут до этого.
  31. 2 балла
    Шёл 7-ой год существования форума, а те кто не играет в майн и не собираются - так и занимаются полемикой, как же улучшить, а так же сделать интересной игру пете и васе. Ей коду, напоминает уже сею простыню текста. Было объявленно что будут дефолтные конфиги, теперь уже апать что-то хотят, запутали вкрай. Сейчас похоже на кликбейт, обещали одно - получается другое.
  32. 2 балла
    Вах! Слющи, защем апать? Может черепах с вечными кирками тогда поставить? Нужны алмы - запускаем с высоты 15, надо все остальное - 30, получаем больше руды и меньше камня. Если надо долбить весь чанк (зачем???), запускаем 4/8/16/100500 роботов параллельно.
  33. 2 балла
    @serafim кстати, попробовал только что программку, прикольные они, роботы эти. Неончик беленький ты им сделал, смотрю, копают вроде здорово Сачок берут, уголек когда надо, добро в сундучки возят. Ну здорово вроде всё. Уже на сервере будем их плотно гонять.
  34. 2 балла
    https://pastebin.com/J0ZM8LbZ Исправил мелкие баги, например после сортировки не был выбран первый слот инвентаря, в итоге робот начинал усиленно какать мусором Добавил чтоб он тягал с собой запасной инструмент, после замены основного. Добавил проверку на заполненность сундука при скидывании в него разряженного электроинструмента. Если игрок указал что ненужно продолжать копать, то робот скинет лут в сундук и посчитает сколько всего получилось. Улучшил обнаружение бэдрока. На один карьер попались три улика, чаще один, также на поверхности попался уран, который каменной киркой не выкопать. Собрал статистику с разными инструментами: размер карьера 16/16, высота 70, уровней 22 по 3 слоя блоков, примерно 768 блоков на уровень. Робот копает не быстрее 04.40 не зависимо от инструмента, проходит один уровень по пустоте за 03.00 С улучшением опыт прокачанным на 10 уровней, имеет заряд батареи робота на 70500 против 20500 по умолчанию, но скорость при этом прежняя, не более 04.40 на один уровень карьера Считаю оптимальным вариантом добавить в кит набор с роботом алмазную кирку с зачарованием на эффективность 4 и прочность 3(в идеале 4), этого хватит почти на весь карьер, а потом придётся сделать новый инструмент Тестовый полигон: Что в итоге накопал:
  35. 2 балла
    ну это да. Если робот катается незаприваченный (без useradd), конечно, бери его, стопай, но не ломай, запускай свою прогу и езжай гриферить хозяина робота
  36. 2 балла
    v3.0.0-alpha.2 Добавлено: Возможность настроить отображение робота на плече (опция «pet_renderer»). Добавлено: Улучшение «Тесла». Добавлено: Сканер роботов. Исправлено: Несколько багов в мировом интерфейсе. Исправлено: Отсутствие звука при повороте солнечной панели НЕСОВМЕСТИМЫЕ ИЗМЕНЕНИЯ: id-блоков (в последний раз). Скачать: OMA-1.7.10-3.0.0-alpha.2.jar
  37. 2 балла
  38. 2 балла
    А вот что еще интересно, пчелы дружат с Biomes O' Plenty? Кто-то играл с пчелами на байнмонсе? Как там, биомов хватает для разведения? просто БаймонсОуПлентикс реально красивые биомы и мир красивый генерит. Ад вообще красавчик, и пепел, и кости, и огненные цветы (оранжевый краситель) и пепельные биомы и прочее. Топазы какие-то есть, бамбук, рубины... Ванилька вообще печально выглядит на фоне всего этого. Особенно ад унылый из чистого незерака и кварца в ванили.
  39. 2 балла
  40. 2 балла
    nullCraft zeroCraft PCraft (pc+craft) nomadCraft lightCraft comfCraft (comfortable) chillCraft basicCraft simpleCraft devCraft >когда создаешь словарь для брутфорса ручками....
  41. 2 балла
  42. 2 балла
    @Alex не получается оставлять комментарии на пост, находящийся в разделе объявлений. Я временно перенёс тему в беседку.
  43. 2 балла
    Почему жуткий? Обычный костыль, не хуже других. У меня этот вопрос вызвал ощущение дежавю. Будто бы кто-то недавно спрашивал подобное, и я даже отвечал. Но найти не могу. Кто помнит тему?
  44. 1 балл
    Вторая версия программы: Теперь: 1. Цвет фона меняется табуляцией при отсутствии выделения или выделенном поле "-- Editing". 2. Разрешение можно передать вторым и третьим аргументом в редактор баннеров. Отрисовщик меняет разрешение экрана под картинку автоматически. 3. Если в отрисовщик передать только один путь к баннеру, он не обновляет картинку на экране. Вообще. 4. Загруженные баннеры кэшируются: диск будет жужжать ровно столько раз, сколько баннеров указано, и не больше.
  45. 1 балл
    @Asummonster 470 + 100 = 570 очков репутации.
  46. 1 балл
    Может тогда тинкерс? На 1.12 механика его работы поменялась, но там есть большие топоры которым без разницы насколько дерево большое. Главное чтоб прочности хватило на все дерево.
  47. 1 балл
    Представляю вам прoграмму умнoгo бартера, кoтoрая пoзвoляет oбменивать джинсы/бусы на зoлoтo/алмазы, пo справедливым ценам. Принцип рабoты Тoргoвый терминал пoкупает и прoдает предметы, устанавливая цены, oснoвываясь на закoне спрoса и предлoжения. Вычисление цены сoстoит из трех фoрмул: O/(I-O[+1])/I*M - пoлучение реальнoй стoимoсти предмета. (I - купленo, O - прoданo, M - мнoжитель) I-O этo разница между купленными и прoданными предметами, т. е. текущее кoличествo. Чтoбы пoлучить нoрмальнoе oтнoшение при I=O, всегда прибавляем 1. Далее, пoлучаем oтнoшение всех прoданных предметoв к текущему кoличеству - O/(I-O+1). Затем, делим результат на кoличествo купленных предметoв, чтoбы пoлучить oбратную прoпoрцию и умнoжаем на некoтoрoе числo, кoтoрoе пoзвoлит представить кoэффициент спрoса/предлoжения в виде натуральнoгo числа. ((R-C)/R)*C+C - если реальная стoимoсть бoльше текущей. (R - реальная стoимoсть, C - текущая) Пoлучаем разнoсть между реальнoй и текущей, делим на реальную, для пoлучения натуральнoй oснoвы. Далее, умнoжаем на текущую, и увеличиваем текущую стoимoсть на пoлученнoе значение. (C-R)/3+R - если реальная ниже текущей. Пoлучаем oбратную разницу, делим на кoэффициент падения цены (мoжет быть случайным значением oт 1 дo inf или oтнoшением C/R, лучше втoрoе, нo пoлучается слишкoм маленькая инерция) и дoбавляем этo делo к реальнoй стoимoсти. Уcтрoйствo Тoргoвый терминал сoстoит из кoмпьютера, рoбoта и прoизвoльнoй сети хранения предметoв AE2. Рoбoт, пo кoманде терминала, загружает и выгружает предметы, кoтoрые нахoдятся в буфере. К буферу пoдключен терминал через адаптер с кoнтрoллерoм инвентаря, кoтoрый пoзвoляет пoдсчитывать пoкупаемые у пoльзoвателя предметы. Терминал управляет перемещением предметoв между буферoм и МЕ сетью, через адаптер у МЕ-интерфейса. (На MC 1.7.10 нужен аддoн OpenPeripheral, дoбавляющий неoбхoдимые драйвера) Кoмпoненты Для терминала пoтребуется: алмазный кoрпус с алмазным мoнитoрoм, интернет-карта, беспрoвoдная карта, алмазная графическая карта, Lua BIOS, жесткий диск с OpenOS, прoцессoр и максимум ОЗУ. Периферия: редстoун-I/O (для включения и перезагрузки), 2 адаптера, кoнтрoллер инвентаря, кoнвертер энергии, клавиатура, зарядник для рoбoта, ME-интерфейс и ME-дискoвoд с дискетами. Для рoбoта: зoлoтoй кoрпус, инвентарь, EEPROM, беспрoвoдная карта, прoцессoр и минимум OЗУ. Устанoвка и настрoйка wget https://raw.githubusercontent.com/DOOBW/automarket/master/terminal.lua wget https://raw.githubusercontent.com/DOOBW/automarket/master/style.gss wget https://raw.githubusercontent.com/DOOBW/automarket/master/start.lua wget https://raw.githubusercontent.com/DOOBW/automarket/master/market.db wget https://raw.githubusercontent.com/DOOBW/automarket/master/robot_bios.lua wget https://raw.githubusercontent.com/DOOBW/automarket/master/gml.lua /lib/gml.lua echo start >> .shrcВ файле robot_bios.lua задать переменнoй address первые 4 симвoла адреса сетевoй карты терминала. Прoшить этoт файл в EEPROM рoбoта.В файле terminal.lua, в таблице cfg задать стoрoны: ic_side - стoрoна, с кoтoрoй нахoдится буфер пo oтнoшению к адаптеру с кoнтрoллерoм инвентаря. mei_side - стoрoна, с кoтoрoй нахoдится буфер oтнoсительнo адаптера. Перезагрузить терминал, включить рoбoта и мoжнo пoльзoваться. База данных устроена так: db = { users = { ['Ник_пользователя'] = { balance = счет, count = количество совершенных операций, lastlogin = время последней операции } }, items = { ['название_мода:название_предмета|метаданные'] = { label = Лейбл_предмета, i = куплено, o = продано, cost = текущая_стоимость } } } Пример работы (старая версия)
  48. 1 балл
    Ну не надо настолько гнать на 1.12.2. Там все более-менее адекватно сделать. И отнюдь не сырое, 1.12 версии уже 3 года. Openperipheral'а нет, да. Но транспозер на 1.12 заменяет пим, новые механики. Индастриал там нормальный, ничего не сырое. Все те моды ванильные, которые билдкрафт, индастриал, аплайд уже вполне стабильно работают на 1.12. Приваты там намного лучше работают, не будет какого-то урагана которые из сундуков ресы достают. Спроси у @Lgmrszd, вполне себе работала сборка на 1.12 без критичных багов. Единственное, чего там нет - это опенпериферии. Остальные аддоны - компьютроникс, опенсекьюрити(Плюс, там есть свои аддоны - тонкие экраны как из нуклеарконтрола, корпуса для компьютеров, новая версия OpenGlasses 2, которая круче предыдущей) - они все есть. 1.12 отнюдь не такая сырая, как была года 2 назад.
  49. 1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...