Totoro
Гуру-
Публикации
1 950 -
Зарегистрирован
-
Посещение
-
Победитель дней
289
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя Totoro
-
А к чему ты тогда пытаешься получить доступ?
-
Церковь Доброй Автоматизации (Eutomation Church) открыта для вас
Totoro прокомментировал eu_tomat запись в блоге в eutomatic blog
Ага. Умеет писать "Hello World", весит 17,8 Мб, запускается только на Java 8. -
Замечательный мультфильм.
-
Как получить координаты игрока в OpenGlasses?
Totoro ответил в вопрос SergOmarov в Разные (отсортировать)
К сожалению, я ввел в заблуждение. Существует функция, которая позволяет задать расстояние, на котором объект виден для игрока. Однако она не возвращает расстояния. Работает чисто как параметр объекта. -
Церковь Доброй Автоматизации (Eutomation Church) открыта для вас
Totoro прокомментировал eu_tomat запись в блоге в eutomatic blog
Уже пишу максимально вдумчиво и осмысленно. -
На самом деле память получается не настолько эффективная, как из экрана третьего уровня. Каждый воксель голограммы может быть погашен, либо иметь один из трех цветов палитры. Т.е. - 4 состояния. Это 2 бита информации. Размерность голограммы - 48 на 32 на 48. То есть - 73 728 вокселей. Делим на четыре, и получаем 18 432 байт. Т.е. сама по себе матрица голограммы вмещает не очень много информации. Можно добавить еще конкретные значения цветов палитры: 3 цвета по 3 байта = 9 байт Масштаб голограммы, и значения сдвига дает еще четыре number'а. Т.е. 4 * 8 = 32 байта. Итого, голограмма максимального уровня хранит: 18 473 байт информации.
-
Как завещал великий Ленин P.S. Могу помочь по конкретным вопросам, но не здесь, а, например, в Mumble.
-
Нету гайдиков, к сожалению. Придется перекопать методы компонента, и поизучать програмки которые под него есть.
-
Теперь и брат появился.
-
Как получить координаты игрока в OpenGlasses?
Totoro ответил в вопрос SergOmarov в Разные (отсортировать)
Поделишься с нами? -
=)
-
Способ хранения и обработки информации, в условиях отсутствия жесткого диска.
-
http://xkcd.ru/505/
-
Никакого шевеления [soundcloud=00aabb]69975822[/soundcloud]
-
@@swg2you, а ведь еще можно задействовать новую Data Card и пожать данные алгоритмом deflate
-
OpenComputers 1.5.13 Итак, после пары недель наведения блеска, окончательный релиз 1.5.13 =) Добавлено: Архитектура Lua 5.3 Карта данных. Предоставляет встроенные алгоритмы хеширования а также сжатия (inflate / deflate - алгоритмы gzip, применяющиеся среди прочего для сжатия NBT тегов, и растра PNG файлов) (спасибо пользователю Kubuxu). Принты могут быть настроены на отсутствие коллизий (для стейтов отдельно, плюс стоит доп. расхода хамелиума). Таким образом вы сможете ходить сквозь принт, всегда, или в одном из его стейтов. Использование пустой строки, в качестве текстуры для шейпов принта, сделает их невидимыми. Добавлен новый метод в драйвер AE2 Интерфейса, для того, чтобы сохранять информацию о предметах в апгрейд-базу данных. Интеграция с модом ExtraCells (спасибо пользователю DrummerMC). Интеграция с Электронной Библиотекой из BC7, для сохранения / загрузки чипов EEPROM (требует BC 7.0.9). Фиксы: Взаимодействие роботов и дронов с двойным сундуком-ловушкой. Соседние с испускающим сигнал редстоуна принтом блоки не обновлялись в некоторых ситуациях. Некорректные координаты в событии "mouse scroll", при измененном размере интерфейса. "Ошибка неучтенной единицы" в функции os.date(). Драйвер Командного блока теперь возвращает данные выполнения команд executeCommand (а не вечное true, как раньше). Потенциальный Null Pointer Exception при инициализации микроконтроллера. Улучшена имплементация отвертки из Project Red в Ключ (Scrench) из OC. Отображение положения "дроноботов" при движении "в присяде". Дроны издающие звуки шагов, при движении низко над землей. Поведение /dev/null в роботах. Туча опечаток в документации. Включить процессору новую архитектуру Lua 5.3 можно на Shift+ПКМ, держа процессор в руке (как уже писал в своем блоге Fingercomp). Кликайте ПКМ, пока в чате (или подсказке к процессору) не будет написано "Lua 5.3". Если вы играли в 1.5.13 dev-билд (например с Jenkins-сервера автора), не забудьте вручную переключить опцию enableLua53 в конфиге мода на true. (Потому что автор отключил ее, пока новая архитектура не стала достаточно стабильна.)
-
Как получить координаты игрока в OpenGlasses?
Totoro ответил в вопрос SergOmarov в Разные (отсортировать)
-
Как-то раз я писал программку на Луа, и вдруг подумал: "А что, если взглянуть на процесс с другой стороны? Вместо скрипта для программы - написать программу для скрипта. " В качестве платформы, я решил взять Java Swing, потому что в тот момент под рукой была только шестая Java, и никаких библиотек. А в качестве программы - игру. Как многие знают, Луа - традиционный язык скриптования во многих играх. Игра располалагется в репозитории: https://github.com/MoonlightOwl/LittleTanks Последняя версия может быть скачана здесь: https://github.com/MoonlightOwl/LittleTanks/releases Проект представляет собой аркаду, с редактируемыми уровнями, и скриптованием этих уровней на Lua 5.2. Игрок управляет одним танком, и должен уничтожить все другие танки на уровне. (Правила конкретного уровня могут быть изменены его скриптом.) Редактирование уровней Создавать и редактировать карты можно в любом блокноте. (Памятка: http://pastebin.com/eW1PTzUB ) Уровни образуют пакеты, или "миссии". Название файла имеет такой формат: "<название_миссии><номер_уровня_начиная_с_1>.dat" (например base1.dat, и т.д.) Скрипт к уровню должен лежать в папке /levels/script/. Он должен называться так же как и сам уровень, только с расширением lua вместо dat. Скриптование Игра обращается к скрипту через следующие методы: * init(world) Вызывается один раз, при загрузке уровня. Объект world - это "игровой мир". Он содержит методы для обращения к игре, карте уровня. * updateTank(tank) Этот метод вызывается для каждого вражеского танчика в игре, каждый раз, как он завершает очередное действие. Через объект tank скрипт может обратиться к танку, и задать ему новое действие (двигаться, стрелять). * updateWorld(world) Этот метод вызывается каждый тик и передает объект игрового мира. Описание всего доступного интерфейса на текущий момент, можно найти здесь: http://pastebin.com/SYRSnar2 Пример скрипта, который загружается по умолчанию: function init(world) math.randomseed(os.time()) end local function randomBool() return math.random(0,1) == 1 end function updateTank(tank) local action = math.random(1, 20) if action == 1 then local dx, dy = 0, 0 if randomBool() then if randomBool() then dx = 1 else dx = -1 end else if randomBool() then dy = 1 else dy = -1 end end tank:move(dx, dy) elseif action == 2 then tank:fire() end end function updateWorld(world) end (https://github.com/MoonlightOwl/LittleTanks/blob/master/levels/script/default.lua) Здесь танк движется совершенно рандомно, время от времени стреляя. Таков его ИИ на большинстве уровней =) Итак Игра чертовски сырая, геймплей не сбалансирован, скриптовые интерфейсы требуют серьезной доработки, и английский язык хромает. Но тем не менее оно уже работает. Буду рад любым советам (может даже pull-реквестам ))), багрепортам, и предложениям.
-
Баг или фича? или реализация load в Lua@OpenComuters
Totoro ответил в вопрос swg2you в Разные (отсортировать)
В для первого load() ты указываешь переменную окружения, насколько я понял. Для второго - нет (используется "глобальное окружение"). Поэтому, у них разные переменные а. Строка из документации: Т.е. загруженный чанк получает новую переменную окружения, и при этом LVM выдает ей "внешний" _G.- 14 ответов
-
- 1
-
-
Монстер, у меня голограмма 48х32х48 весит всего 18,5 Кб. И это без сжатия, которе предлагал Зеро. Так что - апргейдить! Однозначно апгрейдить!
- 18 ответов
-
- 2
-
-
- opencomputers
- lua
-
(и ещё 1 )
Теги:
-
Думаю, это самая разумная схема.
-
Без должной системы шифрования, нельзя упускать из виду вероятность того, что сообщения будут перехвачены по пути или подменены хакером. Тут нужно подумать над реализацией протокола.
-
В каком смысле, одна для всех устройств? Насколько я знаю в OpenComputers все компьютеры/устройства работают примерно одинаково, и все имеют "БИОС".
