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

Лидеры


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

Показан контент с высокой репутацией 13.02.2019 в Сообщения

  1. 2 балла
    А я костылял си апи в луа для опенкомпов. Нет, плюсы даже я костылять не стал — мне и си хватило. Ситуация была такова. Я тогда ещё пилил свою гуи-либу-убийцу-всего-живого-своей-охрененностью, и она как-то подозрительно тормозила. А когда программы подозрительно тормозят, юзают профилятор. Который желательно писать на си, дабы минимизировать задержки. Что я и сделал, после чего последовали долгие недели попыток прицепить си-модуль к луа на OC. Ну, прежде всего, я чутка пропатчил мод: внёс внутрь песочницуы дебаг-либу родную и не менее родной модуль package, который умеет запускать си-модули. Затем я всяко-разно пытался скомпилировать свой профилятор так, что при загрузке его он подхватывал бы символы луа. Не получилось. Поэтому я взял сырцы луа, которые юзаются в OC. Я их взял, всунул туда свой профилятор и сцомпилировал их вместе так, будто профилятор был встроенной либой луа. Костыли страшные, да. Получившимся подменил то, что лежало стандартно внутри мода, и пересобрал последний. Такими шаманствами я таки осилил получить свой ненаглядный профилятор внутри опенкомпа, и потому смог пропрофилировать свою гуи-либу-убийцу-всего-живого-своей-охрененностью. Это мне, конечно, ни о чём не поведало новом и ничем не помогло, да и гуи-либу эту я таки забросил, но это уже другая история. А можно без костылей? Не, без костылей не получится. Не потому, что плюсы — это уже костыль. Хотя это тоже справедливо (то есть, нет, конечно, не будем холивар разводить). А потому, что авторам мода и в голову не приходило, что кто-то чем-то подобным будет заниматься, и, более того, намеренно всяко-разно отрезали куски луа так, чтобы это оказалось в принципе невозможным. Потому как всем известно, как просто в си выстрелить в ногу вне зависимости от желаний владельца этой ноги, что недопустимо на публичных серверах всяких. Поэтому остаётся учить Луа. Язык это хороший, простой, минималистичный, красивый и полезный, хотя и чутка неудобный порою, как минимум, для заядлого заплюсневевшего программиста из-за динамической типизации.
  2. 1 балл
    Я думаю, если серьезно так упороться и вооружиться тулзами типа препроцессора Си написанного на чистой Яве, то можно написать аддон к OpenComputers c новой архитектурой для процессора.
  3. 1 балл
    Почему же нет? На главной странице есть литература по которой можно выучиться. Может маленько устарела, но азы то изучить вполне пойдет. Если любишь обзоры где все подробно разжевано, то есть канал @1Ridav Там правда по ComputerCraft но там разница в работе не сильно большая, Lua разжеван до основания, я собственно по тем видео и учился. А так, рекомендую заглядывать в раздел Гайды, обзоры по модам там много чего интересного можно найти. Ну и советую погуглить файлы справки по lua, справочник зачастую удобнее чем шараханье по сайту в попытках найти нужную тебе функцию. У меня он называется Lua 5.3.chm с переводом, если не найдете, кричите, скину. И кстати lua попроще крестов будет.
  4. 1 балл
    Вообще, если вкратце - то нет, почти что нельзя. Это плюсы комбинятся с луа-машиной посредством C-API/LuaBridge, а не наоборот. Опенкомпы, конечно, позволяют создавать собственные архитектуры в виде аддонов, и тому даже имеется несколько примеров, но вряд ли кто-то озаботится плюсами, мяу
  5. 1 балл
    Ну, ссылки я не постов набива ради кидал. Баг найден, пофикшен. bufferChanges=false — опция полезная, и ставить её вне зависимости от багов удобно бывает, но правильнее всё же будет скачать OC 1.7.4, вышедший дня три назад, и юзать его. Там бага этого нет — быть не должно, как минимум.
  6. 1 балл
    Часто необходимо писать программы для серверов. Это могут быть сервера для чатов, или файловые облака или что то еще, но всегда приходится писать велосипеды. Подумав об этом я решил написать программу для сервера. Программа работает просто. Подгружает модули из папки проекта, а потом начинает слушать все event'ы и обрабатывать. Представляю вам саму программу: Servercore v0.2.1 Исходный код: http://pastebin.com/NASX9sX0 Использование: Создаем папку проекта Создаем в этой папке файл .servercore Запускаем servercore указывая первым аргументом папку которую мы создали. Если не указывать аргумент то servercore запустится в рабочей директории. Наслаждаемся рабочим сервером, который пока ничего не делает. Любые файлы (кроме .servercore) которые находятся в папке проекта будут загружены как модули. Если модуль содержит ошибку наш сервер не полетит, а просто выведет тест ошибки на экран. При создании модулей можно использовать специальные функции, которые находятся в _G.sc. Описание этих функций: sc.info(info_type:string, message:string) - выводит информацию со временем и раскрашивает как на скринах. Принимает тип информации и само сообщение. Типов информации всего 4: ok,err,warn и info. sc.getTime() - возвращает время в формате unix timestamp. sc.on(event_name:string,handler:function) - добавляет слушателя на сигнал. Циклом слушаются все сигналы а потом запускают функцию обработчик для того сигнала который пришел. Пример простейшего модуля: sc.on("touch",function (e) sc.info("info","you touched!")end) Изменения в версии: Патч 1: убрана обязательная поддержка модемов. Старые версии: Произведение «Servercore» созданное автором по имени LeshaInc, публикуется на условиях лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» («Атрибуция — Некоммерческое использование — Без производных произведений») 4.0 Всемирная. PS: Название проги звучит как поджанр метала)))
  7. 1 балл
    https://github.com/MightyPirates/OpenComputers/issues/3038 https://github.com/MightyPirates/OpenComputers/issues/3031
  8. 1 балл
    А зачем там спойлер? Скриншот вообще не проясняет проблему и может быть безболезненно удалён. По теме: Какое значение имеет параметр bufferChanges?
  9. 1 балл
  10. 1 балл
    Ну, очевидно, что для этого робот никогда не должен помещать инструмент в свой инвентарь, находясь при этом под высасывающей шиной. Есть разные варианты: Например, можно удалить зарядник на один блок от робота. И тогда робот будет перемещаться на одну клетку из-под шины. А можно перемещать содержимое инвентаря роботом в стоящий сверху него сундук программным путём, а шиной высасывать уже содержимое сундука. С тем же успехом сундук можно разместить и внизу и слева и справа, главное, не давать шине неконтролируемо высасывать инвентарь робота. Также можно разместить зарядник слева от робота, а шину разместить позади робота. Тогда шина сможет извлекать содержимое робота только тогда, когда он ориентирован к ней задом. При повороте налево к заряднику шина окажется слева и будет иметь доступ только к слотам улучшений, и слот инструмента со слотами внутреннего инвентаря будут для шины недоступными. В это время робот может выполнить все необходимые манипуляции с инструментом, после чего вернуться в исходную позицию. В общем, можно придумать множество работоспособных конфигураций.
  11. 1 балл
    Обновление завез. Фиксы: Пимпочка скроллбара неправильно отображалась (окно с прокруткой сразу после отрисовки отображало пимпочку, несоотвествующую реальным размерам показанного контента) Юникод в поле ввода теперь поддерживается полноценно Папка рабочего стола изменена в связи с грамматической ошибкой (Desctop -> Desktop) Добавлено: Горячие клавиши. Клик + delete - файл удаляется, клик + ctrl + e - редактирование, клик+ctrl+e+delete - перезапись файла. Иконка батарейки в статусбаре - . (К сожалению, пока является статичным элементом) Техническое: файл настроек автоматически обновляется Изменено: Техническое: очистка кода в SetupWizard Техническое: частичный рефакторинг TabletOSGraphics. P.s. стараюсь выпускать обновления в первую субботу каждого месяца. До этого все изменения накапливаются в канале Experimental. В инсталлере этот канал есть, можете смотреть). Но там обычно немного нестабильно.
  12. 0 баллов
    Давай, порази меня сообщением что это опять ОС 1.7.3
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...