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

Hologram Editor [OpenComputers]

Рекомендуемые сообщения

Подскажите, пожалуйста, синтаксис программы, чтобы можно было устанавливать значение каждого вокселя отдельно в текстовом виде. То есть не через интерпретатор каждый раз писать 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 снимал?

Изменено пользователем Totoro

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Два варианта:

Первый. Через аргументы командной строки.

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 снимал?

Вот как раз второй вариант и пытался сделать, спасибо. А на счет гайдов - стыдно признавать, но да. Пришла популярность... Вообще мой канал не популярный и изначально задумывалось показать это только паре-тройке друзей, что на моем сервере играют

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А с каких пор {...} уже само в аргументы превращается, os.parse нужен же был.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А с каких пор {...} уже само в аргументы превращается, os.parse нужен же был.

Оператор "..." это вообще фишка Lua ("получение неименованных аргументов"). В данном случае (вне функции) он получает аргументы переданные программе из командной строки.

А заключив его в фигурные скобки, я сделал из этих аргументов таблицу.

 

Про функцию os.parse() не знаю, но есть функция shell.parse(). Она позволяет удобно обработать аргументы, представляющие собой флаги. Всякие там

programm -ab --flag1 --flag2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Оператор "..." это вообще фишка Lua ("получение неименованных аргументов"). В данном случае (вне функции) он получает аргументы переданные программе из командной строки.

А заключив его в фигурные скобки, я сделал из этих аргументов таблицу.

 

Про функцию os.parse() не знаю, но есть функция shell.parse(). Она позволяет удобно обработать аргументы, представляющие собой флаги. Всякие там

programm -ab --flag1 --flag2

извиняюсь, shell.parse

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тоторо гдет на глаза попадался череп в 3D голограмме, залей сюда если сохранился.)

Изменено пользователем Pitman

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тоторо мож добавить в прогу, выскакивающее окно при перезаписи существующего файла? Вчера рисовал, рисовал, сегодня зашел ввел название файла и вместо загрузить нажал сохранить и вуаля у меня пустой файл. :smile25:  Еще вопрос: можно ли объединить несколько голо проекторов в единый массив? 2*2, 3*2 и тп.

Изменено пользователем Pitman

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отвечаю по порядку  :)

 

Тоторо гдет на глаза попадался череп в 3D голограмме, залей сюда если сохранился.)

Череп к сожалению имеет другой формат и был конвертирован из воксельной модели, для вот этой программки (мои первые эксперименты с голографикой, еще до редактора): вывод 3D-моделей на голограмму.

 

Тоторо мож добавить в прогу, выскакивающее окно при перезаписи существующего файла? Вчера рисовал, рисовал, сегодня зашел ввел название файла и вместо загрузить нажал сохранить и вуаля у меня пустой файл. :smile25:  Еще вопрос: можно ли объединить несколько голо проекторов в единый массив? 2*2, 3*2 и тп.

 

Выскакивающее окно добавить можно, но это будет не очень быстро, т.к. я понятия не имею, когда у меня руки дойдут опять до редактора.

Запишу пока в TODO (где уже записано создание вьюпортов, более культурная палитра, инструменты типа линия/прямоугольник/круг, поддержка золотых мониторов/видеокарт, возможно поддержка экспорта в 3D принты, и прочая, прочая, прочая :D)

 

Голопроекторы можно объединить в принципе. Так как я делал в GeoMap. Т.е. натыкать проекторов, с шагом в три блока, составить двухмерный массив адресов и далее рисовать соласно нему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пожалусто дайте карту с едитором ато у меня нету интернета на компе и я новенький

просто не разбираюсь в этом

 

Пожалусто я тоже хочу порисовать заранее огромное спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пожалусто дайте карту с едитором ато у меня нету интернета на компе и я новенький

просто не разбираюсь в этом

 

Пожалусто я тоже хочу порисовать заранее огромное спасибо

По-порядку =)

Ну, во-первых, как-то слишком уж безграмотно написано)) Неудобно читать.

Во-вторых, мультипостить нельзя, есть кнопка "изменить".

Воот. А теперь по делу: что за карта? Тебе требуется:

  • Голограмный проектор 2 уровня (это и блэйз, и блок алмаза).
  • Монитор Т3
  • Соответственно, Т3 видяха, процессор Т2, жёсткий диск Т1 с установленной системой, корпус Т3, Луа биос.

Ну, и интернет-карточка для скачивания программы. Как вариант: по 256 строк (ограничение компьютера) копировать в файл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Как вариант: по 256 строк (ограничение компьютера) копировать в файл.
 

Вопрос на счет этого: как? Ведь edit открывает файл от начала, заполняя память уже в 256 строк.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По-порядку =)

Ну, во-первых, как-то слишком уж безграмотно написано)) Неудобно читать.

Во-вторых, мультипостить нельзя,

есть кнопка "изменить".

Воот. А теперь по делу: что за карта? Тебе требуется:

 

  • Голограмный проектор 2 уровня (это и блэйз, и блок алмаза).
  • Монитор Т3
  • Соответственно, Т3 видяха, процессор Т2, жёсткий диск Т1 с установленной системой, корпус Т3, Луа биос.
Ну, и интернет-карточка для скачивания программы. Как вариант: по 256 строк (ограничение компьютера) копировать в файл.
Простите что безграмотно написано но интернета нету я с телефона пишу а про карту я прошу с установленым hologramEditor-ром еще раз повтараю интернета нету чтобы скопировать с сайта или скачать через команду.

Если не трудно но пожалусто сделайте карту с hologramEditor-ром

Ой карта для майнкрафт 1.7.10.Я не о картачках из мода а карту на которой играть майнкрафт.

Изменено пользователем DiNeoNew

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я думаю ему нужен мир, где будет стоять комп указанной комплектации с проектором и загруженной прогой

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я думаю ему нужен мир, где будет стоять комп указанной комплектации с проектором и загруженной прогой

в точку я просто не правильно выразился

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если интернет есть в телефоне, то интернет есть везде. Телефон это модем.

 

По IR, BT, WiFi или по кабелю зацепить к компьютеру и настроить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Простите но у меня не смартфон а нокия х2-02 :(

Изменено пользователем DiNeoNew

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Простите но у меня не смартфон а нокия х2-02 :(

Да хоть nokia 3210, модем он и в африке модем. 

 

Если интернет есть в телефоне, то его можно закинуть на комп.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Захожу в ссылку а написано ничего не найдено :(

Изменено пользователем DiNeoNew

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...