Arseniy10
-
Публикации
80 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Сообщения, опубликованные пользователем Arseniy10
-
-
у меня вот по этому адресу только папка "state" а в ней папка "0" а в ней "-1.12" а в ней три файла
6e022761-6704-4c5b-8ffb-f23b33d421d4_buffer
8aab1195-2a5a-4be0-a58a-d76508fb5092_kernel
8aab1195-2a5a-4be0-a58a-d76508fb5092_tmp
а у вас как?
Значит не появлялось компьютеров в мире или может не установлена OpenOS на одном из них
-
По идее, хранятся здесь:
%appdata%/.minecraft/saves/[название мира]/opencomputers/[id компьютера]
К примеру:

-
Маты в коде везде есть, даже в тех программах и играх которые сделаны целой компанией - Например исходник Quake 3 в комментариях есть мат
Для ECS чуть ли не традиция.
-

Вместо этого ты мог использовать:
gpu.fill(1,25,width,1," ") --X, Y, ширина, высота, символ gpu.set(1,25,string.rep(" ",20)) --string.rep вернет строку, где 20 пробелов. Естественно, ты можешь поставить другую строку и число --[[ string.rep(string,number) Допустим, ты поставил строку "КО-" и число 5, тогда string.rep вернет: КО-КО-КО-КО-КО- ]]
Также обрабатывай сигнал "drag", он позволит вести мышкой c зажатой кнопкой и рисовать пиксели.
-
Попробую добавить в свой код
UPD: с 223 строк сжал до 112
Еще кое-что заметил

Используй цикл
for i = 1, i2 do for noteNum=1 ,10 do os.sleep(0) computer.beep(note[noteNum],notesec[noteNum]) currentNote = currentNote + 1 redrawMenu() end end -
Замечательная библиотека, писал нечто похожее, но там были крупные проблемы с сохранением и обратным чтением картинки. Собственно у вас та-же ошибка. Вот код после которого программа клеит ласты.
local pic=require('gpic') local com = require("component") local gpu = com.gpu for y=1,25 do for x=1,80 do gpu.setForeground(math.random(0xffffaa)) gpu.set(x,y,'Ж') end os.sleep(0) end pic.write(pic.new(1,1,80,25),"test.txt") pic.draw(1,1,pic.read('test.txt'))Удачной отладки вам

Я нашел ошибку
Цвет, который забрал метод:

Цвет в таблице:

Сама таблица создавалась по этой картинке:

Как это править, не знаю
-
Вместо кучи копипаста с настройкой нот ты мог создать функцию:
function setNote(numNote,key) if keyboard.isKeyDown(key) then os.sleep(0.1) print("Настройка ноты " .. numNote) -- Чтение частоты io.write("Частота: ") note[numNote] = io.read("*number") -- Чтение длительностей io.write("Длительность (в секундах): ") notesec[numNote] = io.read("*number") redrawMenu() end end-
3
-
-
У меня почему-то когда сохраняю в файл, в файле просто число 80 и больше нечего.
if keyboard.isControlDown() == true then os.sleep(0.1) local picture = gpic.new(1, 1, 80, 25) gpic.draw(1, 1, picture) gpic.write(picture,"/home/image.gpic") end
Скопировал твой код, возможно у тебя неправильная кодировка. Само число 80 ДОЛЖНО быть, ибо это ширина картинки.

-
Думаю тут надо больше деталей.
Вряд ли ты найдёшь какой-нибудь ещё способ обработки событий, поэтому задачу надо решать теми средствами, что есть.
Как вариант, можно запускать event.listen() с разными событиями, а потом создавать свой сигнал. Но из-за этого существенно снижается скорость обработки.
-
А что ты ищешь? Какую задачу решаешь?
Ты ведь помнишь, я просил в IRC оценить мою либу GPGUI. Так вот, мне нужно выполнять одну из функций в фоне, да притом с доступом к любому событию.
-
И так, я уже отчаялся и решил обратиться сюда.
Какие вы знаете способы обработки событий и выполнение функций в фоне? Перебираем всевозможные варианты.
-event.timer()
-event.listen()
Есть что-нибудь еще?
-
GPIC
Good_Pudge's Pictures
Небольшая библиотека, позволяющая сохранять изображения. Но в чем же ее особенность?
Библиотека с помощью gpu.get берет символ и его цвета. Затем она перебирает таблицу, сравнивает с цветом и если значение из таблицы совпадает с цветом, то берет соответствующий ключ таблицы и с помощью string.char превращает в ASCII символ. На 1 пиксель уходит 3 байта (цвет фона, цвет символов, символ).
Пример работы:local gpic = require("gpic") local pic = gpic.new(1, 1, 10, 5) --X, Y, Ширина, Высота --вернет таблицу с изображением gpic.draw(10, 10, pic) --рисует на координатах (10;10) gpic.write(pic,"/home/test.pic") --пишет изображение в указанный путь local image = gpic.read("/home/test.pic") --читает изображение из указанного пути и возвращает изображение, которое потом можно отрисовать с помощью gpic.draw()Скачать (нужен HPM):
hpm install GPIC@2.2.0
Скриншоты:

-
2
-
-
local os = require("os")
Подключать не надо.
-
-
if input == "c" then
-
term.clear()
while true doos.sleep(0)local x = math.random(0, 160)local y = math.random(0, 80)local x1 = x + math.random(0,10)local y1 = y + math.random(1,5)local x2 = x + math.random(1,8)local y2 = y + math.random(2,5)gpu.set(x,y, "█")gpu.setForeground(0x0033cc)gpu.set(x1,y1, "█")gpu.setForeground(0x4d79ff)gpu.set(x2,y2, "█")gpu.set(x2+4,y2+5, " ")gpu.setForeground(0x002080)gpu.set(x2+2,y2+1, "█")gpu.setForeground(0x002699)endendif input == "d" thenwhile true doos.sleep(0)local x = math.random(0, 160)local y = math.random(0, 80)local x1 = x + math.random(0,10)local y1 = y + math.random(1,5)local x2 = x + math.random(1,8)local y2 = y + math.random(2,5)gpu.set(x,y, "█")gpu.setForeground(0x33cc33)gpu.set(x1,y1, "█")gpu.setForeground(0x196619)gpu.set(x2,y2, "█")gpu.set(x2+4,y2+5, " ")gpu.setForeground(0xadebad)gpu.set(x2+2,y2+1, "█")gpu.setForeground(0x47d147)endВместо этого всего ты мог создать функцию, в которую передавались бы цвета. Это значительно сократит код.-
1
-
-
Вместо os.sleep(0.00001) ты мог поставить os.sleep(0), ничего не измениться.
-
1
-
-
local shell = require('shell')
shell.execute('pastebin run 35g45g')
А в чем отличие от os.execute()?
-
Используй библиотеку internet
Ты читал весь вопрос? Написал же, тогда загружает последние 55 строк
-
Может, не знаю, дашь вызываемый код? Ссылку на страницу? Тут же нет телепатов...
Ну раз ты так просишь и не знаешь, есть ли ограничения, то:
function request(url) for k,v in pairs(net.request(url)) do --вызвано, как компонент if k == "read" then value = v() end end return value end function write(path,value,mode) mode = mode or "w" local file = io.open(path,"w") file:write(value) file:flush() file:close() end if t["name"] == args[2] then write(t["path"],request(rep_URL..t["path"]),"a") else --сама ссылка: --https://raw.githubusercontent.com/Good-Pudge/OpenComputers/master/lib/bit_palette.lua
-
При загрузке файла с GitHub через Internet Lib (из самого мода) загружает только последние 55 строк.
Если обращаться к карте, как к компоненту, то загружает определенное кол-во символов.
Как избавиться от этого ограничения? (если оно есть)
-
Когда нечего делать



И, напоследок, самое лучшое, что получилось:
Построение:
local gpu = require("component").gpu for ii=1,500 do os.sleep(0) --вы же не хотите заполнение памяти? Тем более, будет видно, как оно рисуется for i=1,100 do b = math.random(1,i) f = math.random(1,math.floor(i/2.5)+1) gpu.setBackground(0xb^2*b/f) gpu.set(b,f," ") end end
Извиняюсь за качество картинок
-
4
-
-
Автор твердит что ОС, мне кажется ему виднее.
Сам великий Toroto подтвердил, что нет! Да и сам код тоже...
-
1
-
-
А разве они не под его ось?
Это не OS! Это граф. оболочка
-
1
-
-
Можно упростить задачу, заюзав в качестве редактора Hologram Editor, и написав тулзу для экспорта голограмм в файлик 3D-модели для печати.
(И ещё немного упростить, если не писать всё с нуля, а портировать тулзу Крутого с JS на Lua)
Ещë как вариант, GUI-редактор для 3D-принтера, с возможностью сохранять в формате программы print3d из пакета OPPM.
Уже от ECS же есть редакторы
-
Я использую Sublime Text 3. Тоже есть нумерация строк, подсветка снитаксиса. Но использую из-за горячих клавиш и отсутствия лишних элементов.
-
3
-

Библиотека для создания классов в Lua
в Библиотеки
Опубликовано:
Можно же просто добавить функцию extendsAll и все дела.