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

Hikooshi

Пользователи
  • Публикации

    25
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Все публикации пользователя Hikooshi

  1. Hikooshi

    Ивенты

    всем спасибо
  2. Hikooshi

    Ивенты

    нет, кнопки-то быстро ищутся, их десять или около того, имеется в виду, что на одной из кнопок есть функция с вайлом и вот пока этот вайл выполняется, на кнопке который, нужно другие кнопки нажимать
  3. Hikooshi

    Ивенты

    Никогда с таким не сталкивался и вдруг... Например, есть основной цикл, в котором обрабатывается поиск кнопки while true do local _,_,x,y = event.pull("touch") if ... then ... end end Далее вызывается функция со своим вайлом, который выполняется довольно долго Как мне сделать так, чтоб во время этого вайла можно было и другие кнопки нажимать? Листенера прикреплять? И сразу второй вопрос: если функции локальны и такая локальная функция прикреплена к листенеру, то как потом отключить такого листенера, если закрывать программу через Ctrl+Alt+C или если программа вылетает?
  4. Hikooshi

    AE2 + OC

    openModsLib надо попробовать и если с ней в комплекте что-то еще идет, вроде то же самое
  5. Hikooshi

    AE2 + OC

    точно, опенПериферию-то и забыл поставить, спасибо
  6. Hikooshi

    AE2 + OC

    На версии майна 1.7.10 была возможность экспортить, пушить, пулить предметы через me_interface; на 1.12.2 - нет. Кто-нибудь с этой проблемой разбирался и если да, то как ее решали, не применяя базы данных? может в конфиге что подкрутить надо? Версия OC 1.74.153
  7. да, но если слипнуть без while'а, то тоже будет работать
  8. ты неправильно поставил ударение на слово "еще", имелось в виду, типа "та самая версия в которой еще транспозеры работают", они поломаны были на 1.73. После реквеста ничего можно не слипать, применяя функцию, скинутую тобой, оно само по себе слипается, потому что там цикл while и он будет выполняться до тех пор, пока в data не будет nil. В случае неправильного айдишника request.read() несколько раз будет data == "", и через полсекунды - data == nil. В случае правильного айдишника так же сначала в течение полусекунды data будет "", потом будет равна полученным данным, потом, когда файл закончится data станет nil и цикл завершится
  9. версия 1.74, в которой еще транспозеры правильно работают) кавычки с нилами - то, что программа принтит (обрати внимание на то, где стоит print(data, reason)), пока цикл работает. То есть в течение полусекунды запрос при неправильном айдишнике возвращает пустую строку, как и при правильном айдишнике, через полсекунды возвращает nil и адрес. То есть полсекунды data == "", reason == nil, по прошествии полусекунды data == nil, reason == адрес, выходит из цикла. При правильном айдишнике принтило бы содержимое переменной data, то есть код, полученный с пастбина
  10. function get(url) local request, reason = internet.request(url) if not request then return '' end local text = '' while true do local data, reason = request.read() print(data, reason) if not data then request.close() break elseif #data > 0 then text = text..data end end return text end эту функцию где-то находил через нее тоже не получалось сделать как надо, но там у меня в другом месте где-то был косяк. Щас поправил твой вариант, если точнее, то добавил print(data, reason) и понял в чем дело теперь: примерно в течение полусекунды происходит следующее - программа пишет: "" nil "" nil "" nil "" nil "" nil "" nil "" nil nil адрес то есть, все-таки задержка есть, просто здесь ее программа сама как бы создает, в моем же случае я ее прописываю
  11. обновляет файлы с пастбина айди файла находится в самом файле в определенном месте, но если в том месте будет любое другое слово, то программа вылетит с ошибкой. Сначала в программе открывается список файлов, считываются из того определенного места значения айдишников, получается таблица [название файла] = "айди". Потом в цикле из этой таблицы берутся айдишники и происходят реквесты internet.request("https://pastebin.com/raw/"..айди). Вот тут самое интересное и начинается: если айдишник это именно айдишник, то все нормально работает, чанки возвращают данные и файл перезаписывается, но если вместо айдишника будет просто слово, например "component" или какой другое, то цикл с чанками выдаст ошибку и, как написано выше, программа просто вылетит. Поэтому хотел сделать фильтр, чтоб при неправильном айдишнике просто код переходил к следующему из таблицы. Если в консоли сделать так: > response = internet.request("https://pastebin.com/raw/правильный айди") > =response.read() то консоль вернет > "" то же самое происходит и в программе, то есть можно было бы сделать так data, result = response.read(); if data then for chunk in response do ... end end Если же в консоли написать так: > response = internet.request("https://pastebin.com/raw/НЕправильный айди") > =response.read() то консоль вернет > nil адрес НО в программе происходит то же самое, что и в консоли при варианте с правильным айди, то есть возвращается пустая строка на месте первой переменной, а не nil, поэтому фильтровать не получается таким способом проблема решена: между internet.request и response.read() добавил os.sleep(1), минимум времени может быть 0.3, хотя, возможно, зависит от сайта
  12. можно было бы и так сделать, но в любом случае и в правильном и в неправильном, через .read() возвращается "", если б было как в консоли, то есть при неверной ссылке возвращался бы nil, то фильтровать очень просто можно было бы в общем, есть таблица [название файла] = "его айди". Айдишник считывается из определенного места файла и если на том месте не айдишник, а что-то другое, то цикл for chunk in response do ... end выдаст ошибку и программа завершится. Вот я и ищу способ сделать фильтр
  13. еще вопрос если в консоли написать result, response = pcall(internet.request, "https://pastebin.com/raw/".. a), где a - намеренно неверная ссылка d, r =response.read() то консоль вернет значения d == nil r == адрес НО, если то же самое сделать через программу, то вернет d == "" r == nil в чем проблема здесь? хотя меня больше интересует вопрос, как люди делают фильтр неправильных ссылок, ведь result в этих случаях будет true
  14. все понятно, и да, через .read() информация читалась, но очень такой способ неудобный. Всем спасибо
  15. ошибку нашел, нужно было писать internet.request(), а я вводил component.internet.request(). Теперь объясните, почему через вызов компонента не работает? result, response = pcall(internet.request, " адрес ") for chunk in response do print(chunk) end for chunk in internet.request(" адрес ") do print(chunk) end оба кода в консоли работают одинаково, почему так? В смысле, почему не нужно в данном случае указывать component? версия OC 1.74
  16. хмм, это очень интересно
  17. именно так я и делал, принт просто ничего не возращал, то есть: > result, response = pcall(internet.request, "http://example.org/") if result then for chunk in response do print(chunk) end end > пустая строка дальше выдается
  18. хочу через интерпретатор проверить, как оно работает, но цикл почему-то не возвращает ничего (цикл с чанками), хотя через .read() можно текст вернуть. Вот и спрашиваю, что не так, если в программе этот цикл работает, а в консоли (интерпретаторе) - нет
  19. подскажите, в чем дело есть программа pastebin, чтоб с пастбина качать, пробую код функции get() в консоли писать - запрос, вроде, происходит, но чанки не возвращаются и файл ничего не записывается если точнее, то вот эта часть кода for chunk in response do -- if not options.k then string.gsub(chunk, "\r\n", "\n") -- end f:write(chunk) end http-запросы открыты и через саму программу скачать файл получается ах да, через response.read() получается прочитать текст кода, то есть response.read(4) возращает первые четыре символа кода
  20. Значит, сейчас нужно искать замену этого дела, вот же ж, спасибо и на том
  21. Всем здрасьте Суть вопроса: раньше, например, на версии 1.7.10 майна geolyzer мог возвращать функцией analyze() в таблице значение metadata на версии 1.12.2 этого не происходит. В таком случае это у меня конфиг так прописан, что не происходит возвращения этой переменной? хотя в конфиге такой настройки не находил это мод теперь так работает, что не возвращает metadata блока? другой вариант? Кто сталкивался - отзовитесь, значение этой переменной нужно, например, для работы с Forestry, потому, как блоки Forestry именуются, к примеру name="forestry:resources". Раньше по metadata можно было точно узнать, что за блок, сейчас, соответственно, нет. Раньше - версия 1.7.10, теперь - версия 1.12.2
  22. Видео-гайды по OpenComputers. Сделаны для тех, кто начинает разбираться с этим модом или возникают какие-то вопросы. Знатоки, особо не ругайтесь) Начиная с 7 серии разрешение 1080p 1 Серия. Железо 2 Серия. Файловая система 3 Серия. Роботы 4 Серия. Апгрейды роботов 5 Серия. Голопроекторы 6 Серия. Редстоун 7 Серия. Функции роботов + апгрейдов V2.0 8 Серия. Микроконтроллер + Планшет + Дроны. Программирование EEPROM 9 Серия. Сетевые устройства 10 Серия. Нанороботы + путевые точки 11 Серия. Карты, принтер, database http://www.youtube.com/watch?v=_YYoiFvH4Cc 12 серия. Мониторы, видеокарты, эвенты мониторов http://www.youtube.com/watch?v=_DDHR9aEPIs Следующие гайды по моду Computronics. Это не совсем OpenComputers, но многим будут полезны 1 серия: https://www.youtube.com/watch?v=KriJuN-02s8 2 серия: https://www.youtube.com/watch?v=NahPoaGpqhg Стыковочная станция и интерфейс для дрона: https://www.youtube.com/watch?v=0zmFN7VcGYA 3 серия: https://www.youtube.com/watch?v=KNjPwZt7kQM
  23. Вот как раз второй вариант и пытался сделать, спасибо. А на счет гайдов - стыдно признавать, но да. Пришла популярность... Вообще мой канал не популярный и изначально задумывалось показать это только паре-тройке друзей, что на моем сервере играют
  24. Подскажите, пожалуйста, синтаксис программы, чтобы можно было устанавливать значение каждого вокселя отдельно в текстовом виде. То есть не через интерпретатор каждый раз писать component.hologram.set(x, y, z, value), а чтобы просто было поле ввода текста, в котором как раз эти x, y, z, value и нужно было бы писать. Через pcall(io.read) не получалось, программа ругалась, что первый аргумент булевый, даже если остальные, кроме этого первого задать изначально. P.S. я не так давно начал изучать Lua
×
×
  • Создать...