Mihis
-
Публикации
55 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Сообщения, опубликованные пользователем Mihis
-
-
1 час назад, Big_Sanya_tape сказал:Да тема прикольная. Чтоб меньше мороки было, можно воспользоваться серверами Discord и просто выполнять команды через чат хоть с пк хоть с мобилки да и доступом делиться проще будет, практически все в дискорде сидят
На сколько знаю - под OC еще нет библиотеки для полноценного взаимодействия с Discord. Можно конечно использовать вебхуки, но тогда мы можем только отправить сообщение.
-
1
-
-
36 минут назад, OpenReactor сказал:Хм странно. Json не находит
Верятно в примере выше используется https://github.com/rxi/json.lua
-
1
-
-
2 часа назад, Kaerius сказал:Установи JavaFX SDK (скачать можно на https://gluonhq.com/products/javafx/), и добавь модули:
java --module-path $PATH_TO_FX --add-modulesjavafx.controls,javafx.fxml -jar ImageConverter.jar-
2
-
-
-- input - строка -- sep - разделитель function split(input, sep) -- Если разделитель не указан, то ставим разделителем пробел if sep == nil then sep = "%s" end local t = {} -- С помощью regex выделяем нужные куски for str in string.gmatch(input, "([^" .. sep .. "]+)") do -- и вставляем из в таблицу table.insert(t, str) end return t end
https://stackoverflow.com/questions/1426954/split-string-in-lua
Затестим:local text = "message1, message2, message3" local textArray = split(text, ", ") for _, value in pairs(textArray) do print(value) end
-
1
-
-
Вроде же очень много туториалов, которые поясняют их работу. И даже вроде бы есть in-game мануал.
-
Думаю можно постоянно чекать чексум EEPROM
.Если изменилась - значит EEPROM был подменен.getChecksum():string -
14 минуты назад, eu_tomat сказал:@Mihis А можешь показать свинокрушение при загрузке новых чанков? Я никогда не сталкивался с таким явлением.
В одиночной игре я с таким никогда не сталкивался, а вот на сервере - не один раз. В ближайщее время покажу.
-
1
-
-
Осталось только терминал запилить, который будет кушать алмазики. А в остальном все готово.
Скрытый текст-
1
-
1
-
1
-
-
5 часов назад, eu_tomat сказал:Если механика именно такова, а полёт автоматический, то можно сначала опускать свинью в воду, а уже оттуда поднимать на целевую площадку. А, можно, наверное, вообще спрыгивать из седла с небольшой высоты. А свинья пусть себе летит на парковку с водяным полом.
Да, игрок может спрыгнуть не получив урона, при этом свинья останется висеть в воздухе.
Страшнее всего ситуация с загрузкой новых чанков: свинья может оторваться (даже если на ней сидит игрок).
Я вовсе приравнял разрыв поводка к авиакрушению, так как кроме того, что умирает свинья, умирает и игрок (а это грозит падением репутации авиакомпании).
-
1
-
1
-
1
-
-
Мне кажется, что хранилище Open Source кода так же должно быть Open Source. Например GitLab (из которого Microsoft тащит фичи в GitHub) или Gogs.
-
Останавливает ли выполнение программы component.drone.move?
-
-
17 часов назад, TaskeSib сказал:Во время настройки реакторов, они не активируются... Индикатор загорается только, но программа считает что он активирован...
а можно скрин команды components?
-
Для игроков 1.12.2
Убедитесь, что до выполнения setting_reactor реактор полностью охлажден (Heat: 0%). А так же при подаче редстоун сигнала реактор долже нагреваться или вырабатывать энергию.
# Было (1.7.10 + OpenPeripheral) pastebin get iSSt1T59 setting_reactor.lua pastebin get Db76AbMg reactor_control.lua # Стало (1.12.2) pastebin get eXrfVEX9 setting_reactor.lua pastebin get QX1QXCYK reactor_control.lua
-
3 часа назад, TaskeSib сказал:Блин... Очень жаль! Не думаете сделать программу на 1.12.2? Было бы очень здорово!
Собственно вот и задача мне на вечер
Версии модов у меня:
- OpenComputers версии 1.7.5-b213 (без аддонов)
- IndustrialCraft 2 версии 2.8.221-ex112 (так же без аддонов)
-
6 часов назад, Noni23 сказал:как вызвать командную строку для прописания pastebin get -f ndCeF7eT snake.lua
Для начала установите в компьютер дискету OpenOS и EEPROM (Lua BIOS), затем запустите компьютер. Далее в появившейся строке введите команду install и следуете указаниям. После установки OpenOS и перезагрузки, у вас появиться возможность выполнить команду установки Змейки.
-
22 часа назад, TaskeSib сказал:Из скриншота не очень понятно. Убедитесь, что к каждому реактору вплотную установлен адаптер И контроллер красного камня.
-
-
2 часа назад, Sivarius сказал:@DoobПривет, такой вопрос, где нибудь в коде можно задать конкретные ресурсы для поиска?
И я так понимаю в tails пишутся все отходы ? Робот будет просто их выкидывать или же будет стараться их даже не собирать?
У нас слишком огромная сборка по модам и генерации руд, как итог робот приносит полные сундуки булыжника считая их за ценные ресурсы
При этом те же самые серебро/золото и прочие ценные руды у нас могут быть намешаны в разных породах, например
undergroundbiomes:igneous_stone_iron_ore
undergroundbiomes:sedimentary_stone_iron_ore
undergroundbiomes:igneous_stone_gold_ore
undergroundbiomes:sedimentary_stone_gold_oreИ робот соотвественно в свою очередь приносит только то малое количество ценных металлов которые были сгенерированы обычным генератом.
То есть за ночь работы от принёс мне чуть больше 10 кусочков золота.)) (Зато сколько булыги, о господи)
Кхм.. Над tails как раз находиться место, где можно задать ресурсы для поиска
local fragments = {'redstone','coal','dye','diamond','emerald'} local tails = {'cobblestone','granite','diorite','andesite','marble','limestone','dirt','gravel','sand','stained_hardened_clay','sandstone','stone','grass','end_stone','hardened_clay','mossy_cobblestone','planks','fence','torch','nether_brick','nether_brick_fence','nether_brick_stairs','netherrack','soul_sand'}
-
1 час назад, Flays сказал:Не понял насчёт таблиц, а объявление таблицы происходит в сборщике, после переходит на второй.
А так спасибо, есть пару идей как переделать и сделать более обширней и функциональней. Но не могу понять как сделать так, чтоб мы получали данные и чтоб в любой момент можно было выключить или включить реактор.Технически - это 2 абсолютно разные таблицы. Ее нужно объявлять при запуске на 2 компьютерах. А во время передачи ты просто считываешь значение 1 таблицы и присваиваешь это значение 2 таблице.
-
27 минут назад, OpenReactor сказал:Я не знаю каким способом это делать может есть примеры?
Я уже давненько не писал на php, но могу кинуть ссылки, которые могут помочь в этом деле.
Манипуляции с файлами в php: https://www.w3schools.com/php/php_file_create.asp
Нестандартные lua-библиотеки, встроенные в OpenOS (тут есть кусочек про манипуляции с файлами): https://ocdoc.cil.li/api:non-standard-lua-libs
Методы OC интернет-платы: https://ocdoc.cil.li/component:internet
Статья об использовании интернет-платы (с объяснениями, и она на русском):
-
12 минуты назад, Asior сказал:Придется допиливать функционал тебе, не очень много допилить, всего то превратить паровоз в самолет при помощи напильника.
- Для начала рекомендую зарегистрироваться на пастебине, так как с каждым обновлением программы будут плодиться новые страницы на сайте, что не есть хорошо. Ну и удобнее отредактировать код на пастебине, а тут ссылку менять не надо.
- К сожалению программа для реактора будет работать только у тебя. Для начала непонятно как ты разместил адаптеры, что там еще надо подключать и как вообще организовать структуру работы реакторов.
-
Никогда не делай так!
local serialize = require("serialization").serialize local unserialize = require("serialization").unserialize --[[лучше замени этот бред на ]] local srl = require("serialization") --а в коде программы просто вызывай message = srl.serialize(tbl) --и соответсвенно tbl = srl.unserialize(mess[6])
- У тебя таблица с id есть, там жестко привязаны они, но у других они работать не будут так как id тупо поменяются. Так что надо думать о калибровке/настройке, короче о хранении этих адресов в отдельном файле конфигурации с их подкачкой при запуске программы.
- Всегда добавляй в основном цикле паузу программы. У тебя не особо аварийный режим работы, который требует мониторинга каждый тик. Делай обновление всех данных раз в 5 сек. Думаю это будет достаточно. И по на сервере не будет хаотичной нагрузки флудом по карте. Ну и энергию поэкономнее будет расходовать.
- Какие-то у тебя проблемы с локальми и глобальными переменными. Я если честно в шоке что оно как-то работает. Конкретно меня смущает таблица tbl. Как-то не вижу я её объявления.
- Насчет кнопок ничего сказать не могу, но я бы их сделал пошире и заранее зарезервировал место под числа до 99999,0 (короче 7 символов). Не хватает выравнивания текста по центру, но это уже придирки. А оно случайно не мерцает когда работает?
- И последнее чего я не понял, как оно вообще срабатывать умудряется, если 1 программа тупо повисает в ожидании сообщения от 2 программы? Или пока не тыкнешь не обновляются данные?
- Гонять туды сюды таблицу ну такое себе если честно.
Ну как-то так, молодец, что осилил такую программу, но рекомендую поправить ошибки в функционале, реализовать расширение, тоесть чтоб можно было не строго 9 реакторов на управление использовать, а на выбор, хочу 1 реактор а хочу 72.
Наверное в этому списку добавлю привидение к одному типу кавычек (двойные / ориднарные), так код становиться более приятным для чтения.
-
Возвращаемся к вопросу: Как загрузить файл на сервер?
И из уточняющих вопросов получаем ответ:
Нужно написать php-скрипт для сервера, чтобы он принимал содержимое файла, отправляемое OC-машиной, и создавал файл с содержим полученного файла.
-
1 минуту назад, OpenReactor сказал:Я думаю Apache точно не знаю.
Предполагаю, что там есть поддержка PHP? (там обычно где-то в панели должна быть графа с версией PHP)





Управление роботом с помощью Android-устройства!
в Программирование
Опубликовано:
При большом потоке сообщений - нужное сообщение зажуется, в остальном хороший вариант.
https://discord.com/developers/docs/resources/channel#get-channel-messages