Перейти к публикации
Форум - ComputerCraft

Doob

Пользователи
  • Публикации

    707
  • Пожертвование

    0.00 ₽ 
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    62

Последний раз Doob выиграл 27 марта

Публикации Doob были самыми популярными!

Репутация

1 423 Очень хороший

8 подписчиков

Информация

  • Пол
    Не определился
  1. Все это занимает с десяток строк на питоне, при использовании либы MoviePy. Хотя, я не разбирался в формате стримов, но обычные видосы можно адаптировать и воспроизводить на опенкомпах моментально. Единственная проблема, решение которой мне никто так и не подсказал это как синхронизировать звуковую дорожку.
  2. Doob

    Бот

    Не годится, слишком топорно. Любой современный чат-бот разбирает выражения и опознает ошибки. Для фильтров или ответов можно взять пару гигов логов игровых чатов, прогнать через какой-нибудь тензорфлоу, сделать дамп сети и через него читать. Хотя, опенкомпы довольно медлительны, и лучше использовать внешний сервис, тогда будет легко прикрутить полноценного бота.
  3. Это работает везде, где есть опенкомповские события. Даже пиная монитор можно загадить пул и будут пропускаться ивенты, тут ничего не поделать, это вина мода и игры, а не программ.
  4. Doob

    Кэшированный инвентарь робота

    Так и есть: нет верстака - нет упаковки, но это устарело. Я хочу, чтобы программа собиралась под конкретного робота, из конструктора или напрямую из интернета.
  5. Doob

    Кэшированный инвентарь робота

    Я для транспозеров делал немного похожее, но проще, т. к. там все операции под контролем. Для робота перепроверка по кэшу не так сильно нужна, да и не поможет она, если робот наедет на воронку. У меня есть интересная задачка по управлению инвентарем. Для геокопалки я написал упаковщик предметов в блоки (алмы, уголь, редстоун и т. д.), изначально все сканировал, предвычислял оптимальное заполнение, но алгоритм вышел очень громоздкий и занимал большую часть прошивки. Немного подумав, я упростил - сделал сортировку в конец инвентаря, оттуда по одному предмету кидал в область крафта. Вышло компактно, но сортировка и крафт занимают очень много времени, защита от дурака - полный перебор, а после какой-то обновы изменилась механика инвентаря и алгоритм перестал нормально завершаться. Интересно бы собрать идеи оптимального и компактного упаковщика. Хотя, компактность уже не важна, т. к. прошивку можно сделать лончером кода с диска или из интернета.
  6. oppm install nn Правда не стабильно работает это дело на лагающем севере.
  7. Тоже вариант, но не для всех ресурсов. Например, ломазы могут скупить быстро, а бревна будут висеть, если игроков мало, то будет большая инерция из-за того, что всем лень мониторить цены.
  8. Начальную цену можно выставить любую, в процессе работы, она всё равно будет калиброваться. По просьбе трудящихся убрал падение цены до 0. Даже если продают, чем покупают бесконечно больше, цена будет = 1. Тут оператор должен сам решать, какие товары будет добавлять в базу данных. В дефолтной сейчас ванильные предметы, которые нельзя получить из имеющихся, без потерь (кроме коблы и грязи).
  9. Представляю вам пр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 = текущая_стоимость } } } Пример работы (старая версия)
  10. На максимальном разрешении (160x50) один кадр рендерится 5-8 компами как-раз за 1 тик. 20 фпс на полный кадр это хорошо. Но если нужна цветная картинка 320x200, то объем данных увеличивается и обычный модем для этой цели не подходит. Помимо ограничений скорости обработки файловой системы и интернет-сокетов, есть ограничение рендера майна - при низком тпс видны ощутимые подлагивания. Это дело надо обстоятельно затестить на нормальном железе, чтобы определить технический предел.
  11. Все прекрасно биндится, в порядке живой очереди. Я тестил это дело в одиночке. Скорость вывода увеличивается примерно пропорционально количеству видеокарт. То есть: пришло сообщение, все видеокарты одновременно биндят монитор и спокойно выводят на него инфу. Здравая идея с сервером, в модемах я разочаровался еще при компутеркрафте, когда делал многопользовательские игры. Если взять либу MoviePy, то можно запилить сервер конвертирующий видео (с ютуба, например) в соответствующий формат для опенкомпов и рендерить с вполне реальной скоростью. Я за это дело брался, но бросил т. к. не придумал, как синхронизировать звуковую дорожку. Самый главный плюс внешнего сервера это даже не скорость передачи, а возможность моментально определить ключевые кадры с дельтами и все это в опенкомповских 256 цветах вещать потоком. Оперкомпам не приходится напрягаться ни на что, кроме вывода кадров.
  12. Одна локация? Мало питомцев, маленькие комнаты. Как-то скучно, да и лагает дико.
  13. Doob

    Сервер 7DaysToDie / Unturned

    Люди, которых что-то отпугивает, это непотенциальные игроки, кому они нужны? Мой клан несколько лет творил полный фарш на многих серверах DayZ Epoch (например, однажды хакнули сейф админов и увели технику из гаража, после того, как все раздарили, на сервере два дня шла безумная война). Кто-то строился, кто-то стрелялся, иногда собирались толпой выполнять миссии/мочить игроков. Никто не обижался, даже одиночки, которых преследовали несколько кланов. Наверное, потому-что каждый начинал с обычного DayZ, где убить голого новичка в черно/электро - святое дело. Да и без читеров было-бы скучно. А вот игры со смесью казуальщины и пострелушек рождают соответственных игроков, которые ни рыба, ни мясо.
  14. Отнять аптайм компутера при запуске проги и добавлять его каждый раз перед выводом. Собственно, по ссылке оно и есть.
×