Doob
-
Публикации
1 089 -
Зарегистрирован
-
Посещение
-
Победитель дней
141
Сообщения, опубликованные пользователем Doob
-
-
У меня не получилось завести, на этапе поиска файловой системы падает. Правда я клиент загружаю из интернета и выполняю его в общем окружении.
-
Надо приводить к нужному типу при обработке. 'blabla' + str(G)
-
Я просто ничего не понял. Совсем.
Юзаю редактор рептилоидов, кодить могу прямо в майне через IRC бридж. Накидал сниппетов для опенкомпов, настройки покрутил и готов ультра-опен-редахтур-компутерс-луа.
Хотя, мне такие монструзные редакторы не нравятся, но привлекает удобство, которое можно получить, навесив апгрейдов, раскидав щупальца дополнительных плагинов и скриптов поддержки.
-
3
-
1
-
-
Здраствуйте. Я, Кирилл. Хотел бы чтобы вы сделали игру, 3Д-экшон суть такова... Пользователь может играть лесными эльфами, охраной дворца и злодеем. И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи. Можно грабить корованы... И эльфу раз лесные то сделать так что там густой лес... А движок можно поставить так что вдали деревья картинкой, когда подходиш они преобразовываются в 3-хмерные деревья. Можно покупать и т.п. возможности как в Daggerfall. И враги 3-хмерные тоже, и труп тоже 3д. Можно прыгать и т.п. Если играть за охрану дворца то надо слушаться командира, и защищать дворец от злого (имя я не придумал) и шпионов, партизанов эльфов, и ходит на набеги на когото из этих (эльфов, злого...). Ну а если за злого... то значит шпионы или партизаны эльфов иногда нападают, пользователь сам себе командир может делать что сам захочет прикажет своим войскам с ним самим напасть на дворец и пойдет в атаку. Всего в игре 4 зоны. Т.е. карта и на ней есть 4 зоны, 1 - зона людей (нейтрал), 2- зона императора (где дворец), 3-зона эльфов, 4 - зона злого... (в горах, там есть старый форт...)
Так же чтобы в игре могли не только убить но и отрубить руку и если пользователя не вылечат то он умрет, так же выколоть глаз но пользователь может не умереть а просто пол экрана не видеть, или достать или купить протез, если ногу тоже либо умреш либо будеш ползать либо на коляске котаться, или самое хорошее... поставить протез. Сохранятся можно...
P.S. Я джва года хочу такую игру.
-
1
-
1
-
-
В смысле СУБД? А зачем?
Единственный раз, где я заюзал подобие базы данных это магазинчик, но это для упрощения выгрузки в CSV. И все-равно потом еще сильней упростил.
Через дебагу всякую магию творил, сохраняя данные в скорборды, чтобы легче привязываться к юзерам.
На всех проектах, где есть гибридный магазин сайт<->опенкомпы, юзается база данных сайта.
-
-
Для этого, надо предварительно объяснить существование функций и циклов. В школе у меня такого не было, там тригонометрические функции, корни, да и все итеративные алгоритмы объяснялись магией.
Лучше всего познавать мир на практике - материал на порядки быстрее усваивается.
-
Как бы это примитив на уровне средней школы. Итеративно пройти по всем разрядам числа, сделать сдвиг и по модулю добавить к результату, концепция похожа на упрощение алгоритма Евклида, да и любого экспоненциального алгоритма с простыми операциями.
Надо только сделать реальные тесты. Т. к. в Lua 5.3 битовые операции хоть и ускорились почти в два раза, но не факт, что они будут быстрее деления. Во многих языках понижение уровня вычислений не ускоряет эти самые вычисления, т. к. на низком уровне разработчики уже накрутили ускоряющей магии.
-
Немного переработал, починил один баг с микроконтроллерами (оказывается, у них по wake-up надо грузить прокси через assert, сильное колдунство)
Добавил поддержку debug-card.
Записал видосик с примером настройки.
Скрытый текстwget https://raw.githubusercontent.com/DOOBW/OC-GPS/master/usr/bin/gps.lua /bin/gps.lua && wget https://raw.githubusercontent.com/DOOBW/OC-GPS/master/usr/lib/gps.lua /lib/gps.lua
-
2
-
-
Ну вы и страдальцы. Я ресы в основном добывал лазером - полянку 4x4 чанка выбить роботом, ручками собрать и отсортировать. Это самый быстрый способ из возможных. И самый дешевый - роботу нужен только каркас.
Добавил воскрешение робота и возвращение на базу по вейкапу, проблема в том, что робот будет постоянно возвращаться на последние записанные координаты сундука, пока пользователь их руками не сотрет. Как сделать проще - пока не придумал, есть вариант пользовать какой-то предмет в качестве ключа зажигания или просто передергивать инвентарь, как делал BrightYC.
-
-
Кстати, да. Прошлая копалка была с бэкдором, чтобы я мог перехватить управление над всеми роботами и забрать их себе, но никто не жаловался.
Насколько я помню, там убеганий в бесконечность не было, но с обновлением мода появился глюк сортировки, который никак не исправить.
А тут с этим убеганием странно, @BrightYC постоянно на это жаловался, когда убрали отладочную инфу - все прошло.
Надо будет проанализировать, где ошибка обработки блоков. Я использую устаревшую логику, после обновления мода до 1.7.2 она перестала работать, навесил костылей, вроде работает (но это не точно). Одну ошибку payonel исправил, чтобы найти другие - надо узнать, при каких условиях они появляются.
Когда только начал писать дубокопа, я его гонял на стенде из 9 чанков, вырезанных из мира. Запускал кучу роботов, мониторил каждый шаг через X-ray. После описания основного каркаса и определения оптимального алгоритма добычи, я стал делать прогоны на пустом стенде с генерацией руд из дебаг-карты. Все это делается в одиночке с двумя модами - AE2 + IC^2
Каждый может собрать свою копалку, вот пример в блоге, где я за неделю неспешного тыканья в майне, запилил базовый функционал.
Самая первая копалка, которую я написал, была жутко неудобная - приходилось спускаться на ту высоту, где больше вероятность встретить нужную руду, робот шел прямо и сканировал вертикальными слоями, после получения команды начинал добычу. Эффективность была так-себе, но лучше чем у Totoro. artem211 написал хороший комбайн, но им как-то никто не пользуется - эффективность очень маленькая, багов куча, функционал устарел.
Во какую простыню накатал, лучше бы код писал, ленивая жопа.
-
1
-
-
Код открытый, везде комментарии. Кто играет - может до ума довести.
Я бы и сам рад, но времени нет.
Есть какая-то проблема с невидимыми неразрушимыми блоками. Но какой мод это делает и при каких условиях - не известно, т. к. я видел это всего два раза и на серверах, где вообще все багает.
-
1
-
-
-
Не сказал бы. Очевидные плюсы - независимость от сторонних библиотек, получение информации из первых рук, экономия памяти.
Инъекция в процесс - хороший способ не мешать пользователю заниматься своими делами. Ограничения по типу main_loop как по мне - .очень сомнительная техника.
Можно было бы оформить в виде демона, который будет использовать свою логику и буфер для конвертации сигналов, но так мне показалось проще.
Для EEPROM можно сделать однострочник не меняя код, либо загрузить как библиотеку. Но в отдельном окружении все-таки безопасней.
-
Обновление!
Теперь интернет-модем это действительно библиотека.
Добавлено автоподключение при разрыве связи, проверка состояния, ручное подключение к серверу.
Переменные:
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
-
3
-
-
Это совсем легаси метода. Вроде-бы перестала работать с версии 5.0.
Почти всю информацию о процессе можно получить из debug.
Имя файла и весь путь можно добыть через debug.getinfo(1).source
Все дерево можно проследить по нечетным индексам
for i = 1, math.huge, 2 do s = debug.getinfo(i) if s then print(s.source) else break end end -
-
В OpenOS такое сплошь да рядом, виртуальные устройства, API компонентов, все в виде файлов.
-
-
Самое простое, что могу предложить это на каждый улей повесить по компьютеру с транспозером и анализатором.
Будет очень избыточно, но можно бесконечно расширять и распараллеливать процесс селекции.
Можно анализировать руками, складывать в общее хранилище, откуда они будут забираться для селекции.
А вообще, это все довольно быстро делается руками - размножаются нужные породы, пачками скрещиваются, сортируются и размножаются заново.
-
2
-
-
-
По одному LSTM на каждом слое, выдает почти идеальный результат. Заметил, что повороты оцениваются строже, чем это реализовано в механике мода.
-
Да, нынче нормальное объяснение можно добыть только на ютубе. С текстом туго. Продраться через километровые растекания мыслю по древу не проблема, но найти саму статью - целая история.
Под статичной я имею в виду предобученную на конкретных исторических данных, в данном случае можно выбрать любой тип, т. к. данные однообразные. Динамическая будет самим агентом, который при обучении накладывает результаты от статичной и постепенно, улучшаясь будет меньше зависеть от помошника. Это дает хороший пинок в начале обучения агентам, которым не с кем соревноваться.

Разбиение числа на байты
в Помогите найти ошибку
Опубликовано:
Есть операции в модуле bit32 - rshift и lshift, работают в обоих версиях. Только символьные работают почти в два раза быстрее.