Totoro 3 562 Опубликовано: 16 февраля, 2015 (изменено) Подскажите, пожалуйста, синтаксис программы, чтобы можно было устанавливать значение каждого вокселя отдельно в текстовом виде. То есть не через интерпретатор каждый раз писать component.hologram.set(x, y, z, value), а чтобы просто было поле ввода текста, в котором как раз эти x, y, z, value и нужно было бы писать. Через pcall(io.read) не получалось, программа ругалась, что первый аргумент булевый, даже если остальные, кроме этого первого задать изначально. P.S. я не так давно начал изучать Lua Два варианта: Первый. Через аргументы командной строки. local com = require('component') local holo = com.hologram local args = {...} local x = tonumber(args[1]) local y = tonumber(args[2]) local z = tonumber(args[3]) local val = tonumber(args[4]) holo.set(x,y,z,val) Назови программу как-нибудь (test) сохрани, и потом вызывай вот так: test 24 1 24 3 Вариант второй. Через ввод с клавиатуры в цикле. local com = require('component') local holo = com.hologram -- эта функция рубит переданную строку по пробелам function split(str) words = {} for w in str:gmatch("%S+") do table.insert(words,w) end return words end while true do io.write("> ") words = split(io.read()) x = tonumber(words[1]) y = tonumber(words[2]) z = tonumber(words[3]) val = tonumber(words[4]) holo.set(x,y,z,val) end Тут еще проще. Просто запускаешь и появляется приглашение. Вводишь туда числа: > 24 32 24 1█ Выход - по Ctrl+C или неправильному вводу =) P.S. Ты не тот ли Hikooshi случайно, который гайды по OpenComputers снимал? Изменено 16 февраля, 2015 пользователем Totoro Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Hikooshi 36 Опубликовано: 16 февраля, 2015 Два варианта: Первый. Через аргументы командной строки. local com = require('component') local holo = com.hologram local args = {...} local x = tonumber(args[1]) local y = tonumber(args[2]) local z = tonumber(args[3]) local val = tonumber(args[4]) holo.set(x,y,z,val) Назови программу как-нибудь (test) сохрани, и потом вызывай вот так: test 24 1 24 3 Вариант второй. Через ввод с клавиатуры в цикле. local com = require('component') local holo = com.hologram -- эта функция рубит переданную строку по пробелам function split(str) words = {} for w in str:gmatch("%S+") do table.insert(words,w) end return words end while true do io.write("> ") words = split(io.read()) x = tonumber(words[1]) y = tonumber(words[2]) z = tonumber(words[3]) val = tonumber(words[4]) holo.set(x,y,z,val) end Тут еще проще. Просто запускаешь и появляется приглашение. Вводишь туда числа: > 24 32 24 1█ Выход - по Ctrl+C или неправильному вводу =) P.S. Ты не тот ли Hikooshi случайно, который гайды по OpenComputers снимал? Вот как раз второй вариант и пытался сделать, спасибо. А на счет гайдов - стыдно признавать, но да. Пришла популярность... Вообще мой канал не популярный и изначально задумывалось показать это только паре-тройке друзей, что на моем сервере играют Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 16 февраля, 2015 А с каких пор {...} уже само в аргументы превращается, os.parse нужен же был. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 562 Опубликовано: 16 февраля, 2015 А с каких пор {...} уже само в аргументы превращается, os.parse нужен же был. Оператор "..." это вообще фишка Lua ("получение неименованных аргументов"). В данном случае (вне функции) он получает аргументы переданные программе из командной строки. А заключив его в фигурные скобки, я сделал из этих аргументов таблицу. Про функцию os.parse() не знаю, но есть функция shell.parse(). Она позволяет удобно обработать аргументы, представляющие собой флаги. Всякие там programm -ab --flag1 --flag2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 16 февраля, 2015 Оператор "..." это вообще фишка Lua ("получение неименованных аргументов"). В данном случае (вне функции) он получает аргументы переданные программе из командной строки. А заключив его в фигурные скобки, я сделал из этих аргументов таблицу. Про функцию os.parse() не знаю, но есть функция shell.parse(). Она позволяет удобно обработать аргументы, представляющие собой флаги. Всякие там programm -ab --flag1 --flag2 извиняюсь, shell.parse Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Pitman 0 Опубликовано: 30 мая, 2015 (изменено) Тоторо гдет на глаза попадался череп в 3D голограмме, залей сюда если сохранился.) Изменено 30 мая, 2015 пользователем Pitman Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Pitman 0 Опубликовано: 31 мая, 2015 (изменено) Тоторо мож добавить в прогу, выскакивающее окно при перезаписи существующего файла? Вчера рисовал, рисовал, сегодня зашел ввел название файла и вместо загрузить нажал сохранить и вуаля у меня пустой файл. Еще вопрос: можно ли объединить несколько голо проекторов в единый массив? 2*2, 3*2 и тп. Изменено 31 мая, 2015 пользователем Pitman Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 562 Опубликовано: 31 мая, 2015 Отвечаю по порядку Тоторо гдет на глаза попадался череп в 3D голограмме, залей сюда если сохранился.) Череп к сожалению имеет другой формат и был конвертирован из воксельной модели, для вот этой программки (мои первые эксперименты с голографикой, еще до редактора): вывод 3D-моделей на голограмму. Тоторо мож добавить в прогу, выскакивающее окно при перезаписи существующего файла? Вчера рисовал, рисовал, сегодня зашел ввел название файла и вместо загрузить нажал сохранить и вуаля у меня пустой файл. Еще вопрос: можно ли объединить несколько голо проекторов в единый массив? 2*2, 3*2 и тп. Выскакивающее окно добавить можно, но это будет не очень быстро, т.к. я понятия не имею, когда у меня руки дойдут опять до редактора. Запишу пока в TODO (где уже записано создание вьюпортов, более культурная палитра, инструменты типа линия/прямоугольник/круг, поддержка золотых мониторов/видеокарт, возможно поддержка экспорта в 3D принты, и прочая, прочая, прочая ) Голопроекторы можно объединить в принципе. Так как я делал в GeoMap. Т.е. натыкать проекторов, с шагом в три блока, составить двухмерный массив адресов и далее рисовать соласно нему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DiNeoNew 0 Опубликовано: 14 августа, 2015 Пожалусто дайте карту с едитором ато у меня нету интернета на компе и я новенький просто не разбираюсь в этом Пожалусто я тоже хочу порисовать заранее огромное спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 398 Опубликовано: 15 августа, 2015 Пожалусто дайте карту с едитором ато у меня нету интернета на компе и я новенький просто не разбираюсь в этом Пожалусто я тоже хочу порисовать заранее огромное спасибо По-порядку =) Ну, во-первых, как-то слишком уж безграмотно написано)) Неудобно читать. Во-вторых, мультипостить нельзя, есть кнопка "изменить". Воот. А теперь по делу: что за карта? Тебе требуется: Голограмный проектор 2 уровня (это и блэйз, и блок алмаза). Монитор Т3 Соответственно, Т3 видяха, процессор Т2, жёсткий диск Т1 с установленной системой, корпус Т3, Луа биос. Ну, и интернет-карточка для скачивания программы. Как вариант: по 256 строк (ограничение компьютера) копировать в файл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov 34 Опубликовано: 15 августа, 2015 Как вариант: по 256 строк (ограничение компьютера) копировать в файл. Вопрос на счет этого: как? Ведь edit открывает файл от начала, заполняя память уже в 256 строк. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DiNeoNew 0 Опубликовано: 15 августа, 2015 (изменено) По-порядку =) Ну, во-первых, как-то слишком уж безграмотно написано)) Неудобно читать. Во-вторых, мультипостить нельзя, есть кнопка "изменить". Воот. А теперь по делу: что за карта? Тебе требуется: Голограмный проектор 2 уровня (это и блэйз, и блок алмаза). Монитор Т3 Соответственно, Т3 видяха, процессор Т2, жёсткий диск Т1 с установленной системой, корпус Т3, Луа биос. Ну, и интернет-карточка для скачивания программы. Как вариант: по 256 строк (ограничение компьютера) копировать в файл.Простите что безграмотно написано но интернета нету я с телефона пишу а про карту я прошу с установленым hologramEditor-ром еще раз повтараю интернета нету чтобы скопировать с сайта или скачать через команду.Если не трудно но пожалусто сделайте карту с hologramEditor-ром Ой карта для майнкрафт 1.7.10.Я не о картачках из мода а карту на которой играть майнкрафт. Изменено 15 августа, 2015 пользователем DiNeoNew Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
cyber01 1 704 Опубликовано: 15 августа, 2015 Я думаю ему нужен мир, где будет стоять комп указанной комплектации с проектором и загруженной прогой Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DiNeoNew 0 Опубликовано: 15 августа, 2015 Я думаю ему нужен мир, где будет стоять комп указанной комплектации с проектором и загруженной прогойв точку я просто не правильно выразился Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
swg2you 403 Опубликовано: 15 августа, 2015 Если интернет есть в телефоне, то интернет есть везде. Телефон это модем. По IR, BT, WiFi или по кабелю зацепить к компьютеру и настроить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DiNeoNew 0 Опубликовано: 15 августа, 2015 (изменено) Простите но у меня не смартфон а нокия х2-02 Изменено 15 августа, 2015 пользователем DiNeoNew Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
swg2you 403 Опубликовано: 15 августа, 2015 Простите но у меня не смартфон а нокия х2-02 Да хоть nokia 3210, модем он и в африке модем. Если интернет есть в телефоне, то его можно закинуть на комп. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
cyber01 1 704 Опубликовано: 15 августа, 2015 @@DiNeoNew, https://yadi.sk/d/edDomNVuiUCXC Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DiNeoNew 0 Опубликовано: 16 августа, 2015 (изменено) Захожу в ссылку а написано ничего не найдено Изменено 16 августа, 2015 пользователем DiNeoNew Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
cyber01 1 704 Опубликовано: 16 августа, 2015 В конце ссылки пробел добавился... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах