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

Вся активность

Эта лента обновляется автоматически     

  1. Последний час
  2. Этот метод для блоков с инвентарями добавляет мод OpenPeripheral. Возвращает массив таблиц с информацией о предметах. Индекс - это номер слота. Получить инфо о предмете в слоте N: component.chestname.getAllStacks()[N].all()
  3. Сегодня
  4. ECS

    Meh, опять эмулятор OC

    Спасибо, однако я не настолько форумчанин, чтобы не уметь грузить ресурсы по корректным путям хд Тем более до временных файлов я еще не дошел, тут либа даже по абсолютному пути не желает корректно работать: при линковке lua52/native.dylib никаких проблем не возникает - прям бери и пиши эмуль на здоровье, а с lua53/native.64.dylib консоль уже орет благим матом на unsatisfied link. Для меня это несколько... нелогично что ли. Чо делать-то? Забить и остаться на 5.2? public static void main(String[] a) { NativeSupport.getInstance().setLoader(() -> { System.load("/Users/igor/Documents/GitHub/jnlua/src/com/company/lib/lua53/native.64.dylib"); }); // Что так new LuaStateFiveThree(8 * 1024 * 1024); // Что эдак new LuaState(8 * 1024 * 1024); }
  5. Totoro

    Meh, опять эмулятор OC

    А хрен его знает. Два года назад это было уже. Скорее всего я неправильно указывал пути к бинарным файлам Эриса (которые dll-шки). Они должны лежать в ресурсах и эта папка должна быть отмечена как папка с ресурсами проекта. И грузить их надо как ресурс. Ну или, если не хочется чтобы они JAR-ник утяжеляли - вытащить их в какую-то подпапку в папке проекта, указать относительный путь до туда и грузить как файл. Для примера, в Оцелоте (и в OpenComputers) они лежат в папке ресурсов, в подпапке "assets/opencomputers/lib/". 64-битный DLL для Lua 5.3 будет тут: "assets/opencomputers/lib/lua53/native.64.dll". А вот так я его гружу потом: val libraryUrl = classOf[Machine].getResource(s"/assets/${Settings.resourceDomain}/lib/$version/$libraryName") if (libraryUrl == null) { Ocelot.log.warn(s"Native library with name '$version/$libraryName' not found.") return } Потом создается временный файл в папке с проектом, потому что DLL не будут работать нормально, если грузить их прямо изнутри JAR файла. Туда копируется DLLшка. После этого она грузится: LuaStateFactory.synchronized { prepareLoad(currentLib) try { create().close() } catch { case t: Throwable => Ocelot.log.trace("Something went wrong!", t) } } Функция prepareLoad выглядит так: private def prepareLoad(lib: String): Unit = jnlua.NativeSupport.getInstance().setLoader(() => { System.load(lib) }) Функция create по сути вызывает конструктор стейта и передает ему значение для максимума доступной Луа памяти: override protected def create(maxMemory: Option[Int]): LuaStateFiveThree = maxMemory.fold(new jnlua.LuaStateFiveThree())(new jnlua.LuaStateFiveThree(_)) Можно сократить до "new jnlua.LuaStateFiveThree(maxMemory)" где "maxMemory" это int. Короче можно вот тут посмотреть в деталях как инициализация идет: https://github.com/MightyPirates/OpenComputers/blob/master-MC1.12/src/main/scala/li/cil/oc/server/machine/luac/LuaStateFactory.scala
  6. Если что - на транспозере это делается так. local data = component.transposer.getAllStacks().getAll()
  7. Вчера
  8. ECS

    Meh, опять эмулятор OC

    @Totoro Нашел в логах ирки запись об ошибке, которая внезапно заимелась и у меня. Стесняюсь спросить, как ты разрешил сию проблему
  9. Ну вообще традиционная функция getAllStacks() возвращает таблицу. Использовать надо примерно так: local data = component.crystal.getAllStacks() И потом по табличке data уже можно пошариться и посмотреть данные по стекам с предметами в каждом слоте.
  10. Totoro

    Meh, опять эмулятор OC

    Почему нет? Любой каприз за ваши деньги. Надо только завести кошелек в криптовалюте.
  11. Судя по словам, " кристальный сундук " - это мод Iron Chest
  12. ECS

    Meh, опять эмулятор OC

    Звучит оч воодушевляюще. Надеюсь, там будет иметься опция "я позволяю майнить крипту через свой бровсер в обмен на дополнительный виртуальный компик" для ну ваще полнейшего фарша?
  13. Это точно не из ванильного OpenComputers. ) Какой мод?
  14. Totoro

    Идеи для игры

    Ну тут главное - чтобы было время этого противника уничтожить. Если он вылетает спереди сбоку и начинает где-то там перед тобой мелькать - это нормально.
  15. Totoro

    Meh, опять эмулятор OC

    Спасибо ) Я пока переписываю фронтенд на WebGL - будет летать. А то сейчас рендерит через канвас с большими тормозами. А потом буду усложнять и делать как у тебя - с несколькими компами, с отдельными юзер-учетками... Ну короче наведу полный фарш. Даа, я тебя понимаю. ) У меня, даже с учетом того что весь критический код был по сути перекопипащен у Сангара, и это позволило мне по минимуму въезжать в что там и как работает, ушло три недели на то чтобы оно завелось в полном объеме. Мелькала мысль, что проще забить и написать самому с нуля.
  16. ECS

    Meh, опять эмулятор OC

    Ссылку он хоть и кидал, а про "ето Тоторина штука" не упомянул, зараза. Хороший Тотора, графон мы уважаем За предложение благодарю, но мне самописные велосипеды больше импонируют, да и со скалой не сталкивался ни разу. Собственно, со сподвижки Neo я затестил тот самый пропатченный JNLua - но, увы, не осилил ввиду отсутствия сколь-либо внятных мануалов
  17. davial

    Идеи для игры

    А разве ты не играл в R-TYPE, в детстве ? Там как-раз, противник и вылетает - спереди сбоку.
  18. Подключил кристальный сундук к адаптеру и не понимаю как использовать некоторые методы, например component.crystal.getAllStacks(). Я так понял, что после () нужно ставить точку и вводить ещё что-то. Скажите где откопать инструкцию)
  19. Xytabich

    Идеи для игры

    Таки да, я лишь предлагал возможную идею) А так можно множество различных интересных вещей реализовать.
  20. Xytabich

    Идеи для игры

    В больших игровых компаниях давят на "графооооон", типа он самый важный, и не особо уделяют время на интересные игровые механики, в результате чего игровой процесс становится унылым. Но зато "графон" на высоте.
  21. Totoro

    Идеи для игры

    Ну в таких играх все таки геймплей важнее сюжета. ) Сюжет это просто способ придать логики происходящему. Он не должен быть в ущерб интересности игры.
  22. Seryoga

    Идеи для игры

    А почему тогда игру, может что-нибудь другое. Например нормальный lua-plugin для sublime или что-то такое? Если я правильно понимаю, то в играх основное --- это дизайн игры и рисование, а не программирование.
  23. Xytabich

    Идеи для игры

    Вполне возможно, просто некая "фишка" со сбоем систем корабля пропадает)
  24. Totoro

    Идеи для игры

    Это переусложнит механику, мне кажется. Тогда уж надо давать четыре степени свободы кораблю - например как в старой доброй Beat Hazard.
  25. Xytabich

    Идеи для игры

    Все летит сверху, но гравитацией может затянуть и сзади) Обошел метеор, а он раз и притягивается позади. Для этого в принципе можно сделать несколько плазмометов, на все четыре стороны) Точнее четыре штуки на 2 стороны.
  26. Totoro

    Идеи для игры

    Вообще скролл шутер - один из вариантов. Просто и без затей. И простор для усложнения бесконечный. Единственное что хочу поправить - если корабль не имеет возможности поворачиваться, и летит только вверх, как на картинке + стрейфит в бока - не стоит делать подлетающих к кораблю сбоку или по диагонали противников. Это будет сильно бесить. )
  27. Xytabich

    Идеи для игры

    Подобных аркад множество есть, тут стоит вопрос в том, что-бы такого интересного сделать своими руками.
  28. Xytabich

    Идеи для игры

    По идее собрал некоторые пожелания в идею, туда же можно добавить автоматическое уклонение при помощи своего кода и компонента-радара, который надо собрать из ресурсов выпадающих из астероидов. Улучшение корабля. Ну и прочие подобные вещи, если будет желание развивать идею.
  1. Загрузить больше активности
  • Рассылка

    Хотите узнавать о наших последних новостях и информации?

    Подписаться
×