Oleshe
-
Публикации
155 -
Зарегистрирован
-
Посещение
-
Победитель дней
12
Сообщения, опубликованные пользователем Oleshe
-
-
Есть таблица которую оно может запринтить, но не может записать аля не хватает памяти. Что за мистика ECS? Объясняйся.
---
---
И еще 2 "}" в конце. Оба прогона были сделаны в идентичных условиях.
Исследование: у нас есть raw который хранит в общем весь этот ваш граф. элемент, в том числе и его функций, а на функций и ругался serialize из OpenOS, и че теперь делать?
-
Решение:
function table.copy(originalTable) local copyTable = {} for k,v in pairs(originalTable) do copyTable[k] = v end return copyTable end
Нашел на каком-то форуме.
-
MineOS но вопрос по луа. Есть 2 таблицы: game.screen и game.screen.buffer. В процессе отрисовки нужно что-бы все параметр из game.screen перекатились в game.screen.buffer. Они это делают но вот загвоздка: мне не всралось что-бы когда в game.screen менялось значение, оно менялось и в game.screen.buffer.
Мега ультра код:
Скрытый текстfor i = 1, #game.screen do if game.screen.buffer[i] == nil then print('nil !') game.screen.buffer[i] = {visible = false} end print(game.screen.buffer[i].text, game.screen[i].text) ... print('Copy buffer') game.screen.buffer = {} for i = 1,#game.screen do table.insert(game.screen.buffer, game.screen[i]) -- Пробовал (изначально было) game.screen.buffer[i] = game.screen[i], результат тотже print(game.screen.buffer[i].text) endВ том то и смысл что если в скрине менялось значение, а в буфере нет, то означает что объект изменили и мы смотрим что изменили, после чего изменяем на значение скрина, а в конце копируем скрин в буфер потому-что значение то изменилось дабы если снова изменилось и так по кругу.
Весь код:
Скрытый текстfor i = 1, #game.screen do if game.screen.buffer[i] == nil then print('nil !') game.screen.buffer[i] = {visible = false} end if game.screen[i].type == 'text' then print('text') if game.screen[i].visible ~= game.screen.buffer[i].visible then print('Visible') if game.screen[i] and not game.screen.buffer[i].visible then local tmp = screen:addChild(GUI.text(game.screen[i].x,game.screen[i].y,game.screen[i].color,game.screen[i].text)) game.screen[i].raw = tmp else game.screen[i].raw:remove() end end if game.screen[i].x ~= game.screen.buffer[i].x then game.screen[i].raw.localX = game.screen[i].x print('x') end if game.screen[i].y ~= game.screen.buffer[i].y then game.screen[i].raw.localY = game.screen[i].y print('y') end if game.screen[i].text ~= game.screen.buffer[i].text then game.screen[i].raw.text= game.screen[i].text print('text') end if game.screen[i].color ~= game.screen.buffer[i].color then game.screen[i].raw.color = game.screen[i].color print('color') end end end print('Copy buffer') game.screen.buffer = {} for i = 1,#game.screen do -- Поэелементно и в лоб шо-бы у нас не дюпались буфера (game.screen.buffer = game.screen <-- Содержить буфер), которые там и не будем использовать. (Внутри буффера) print(game.screen.buffer[i].text) table.insert(game.screen.buffer, game.screen[i]) -- Было еще и game.screen.buffer[i] = game.screen[i] print(game.screen.buffer[i].text) end -
3 часа назад, JustiHix сказал:- Описание: Когда человек встал на pim програма должна забрать руду и дать в 2 раза больше слитков.
Во первых, программа, а во вторых поподробнее.
Какая руда? Какие слитки? Откуда мы их вообще будем брать? У пима же вроде свой инвентарь, где гарантия что готовые слитки никто не сопрёт? Или мы их дробилку и плавить будем?
Моя 100 публикация, забавно.
-
Этот скрипт позволяет выполнять код без ведома владельца. Оно выполняет их в фоне. Нужно ручная настройка. Именно:
У нас есть 3 переменные которые нужно будет изменять вам ведь вам лучше решать где и что будет, переменные:
NOWPATH - Там откуда запускается скрипт. Я не знаю как сделать так что-бы оно само определяло так-что можете там строчку помочь.
YOURPATH - Конечный файл, то где будет лежать скрипт.
STARTLINE - Откуда начинать копирование, снос строк. Сделано для того что-бы можно было нормальной программой прикрыть нашу.Автозапуск скрипта записывается в /home/.shrc.
Что прописать для того что-бы оно выполнено:
modem.broadcast(200,'execute','print("Hello World"')
Имейте в виду что компьютеру нужно время для выполнений ваших программ, любую прогу советую пихать в "многопоточность" или хотя-бы в event.listen.
Пример:
Скрытый текстrequire('event').listen('key_down',function(...) require('component').modem.broadcast(200,...) end)Будет "тревожить" нас по каждому нажатию клавиши.
Так-же я сделал простенький экзекутер:
Скрытый текстlocal cmp = require('component') local modem = cmp.modem modem.open(200) local args = {...} if require('filesystem').exists(args[1]) then local handle = io.open(args[1]) modem.broadcast(200,'execute',handle:read(math.huge)) handle:close() else print('File does not exists') endЮсаге:
executer_file_name file_name
Пока только для OpenOS. Сделано оно максимально безпалевно, но .shrc палит. Пока не знаю что с этим сделать.
-
Большое обновление: "Интерфейс"
В этом обновлений мы наконец поправили те места в редакторе, которые выглядели хрупко или некрасиво.
Добавлено:
Скрипты:
Предпросмотр скрипта на оставшемся куске пространства в параметрах
Теперь можно не только создать новый, но и загрузить существующий скрипт. Принимаются файлы с разрешением ".lua", "" (без него).
Хранилище:
Добавлена возможность удалить файл из списка Хранилища.
Если разрешение файла .pic то при его выборе откроется предпросмотр изображения на оставшемся куске пространства в параметрах.
Изменено:
Граф. элементы:
Высота кнопки уменьшена с 5 на 3.Изменён цвет текста на cr1 (0х989898)
Изменён задний фон поле ввода когда мы вводим.
Общее:
Теперь кнопки "Экран", "Скрипты" и "Хранилище" имеют динамичное расположение и колеблются в зависимости от длины их текста.
Фикс прыгающих надписей и выравнивание их по линеечке.
Изменён "алгоритм" вычисления позиций для Title в окне.
Исправлен баг отрисовка панели, не хотело обрисовываться и выдавало ошибку.
Текст, кнопки и другие элементы теперь лепятся со сносом в 2 и 1 пиксель от края окна.
Добавлен в палитру цветов новый тёмный оттенок серого, 0х757575
Изменён задний фон редактора на cr4 (0x757575).
Поставлена предохранители на пустое поле на пример Х, оно вылетало. Теперь оно не изменяет значение на "новое" а держит старое.
По просьбам желающих были добавлены скриншотики на вики гитхаба, радуйтесь.
Тот-же желающий открыл исуе, мы исправили и закрыли, спасибо добрый человек.
Экспорт, сохранение, загрузка:
Для экспорта и сохранение если в целевой папке уже существуют файлы, спрашивает продолжим ли сохранять или отменим.
Изменено имя переменной отвечающей за расположение файла с scriptpath на gamepath.
Просмотреть обновление вы можете скачав все файлы с гитхаба, там-же есть вики. -
Graph библиотечка с 1-й функцией которая создаёт координатный холст как в школьной тетради когдато!
Мы можем добавить точку и соединить 2 точки линией, после каждого конца редактирования линий нужно вызывать update() на холсте. Точки здесь это просто обозначения, они не рисуются на холсте. Если вам нужно обозначить точку, поставите 2 точки на одно и ту же координату и соедините их линией.
Ему нужна также моя библиотека vectorImage для рисования холста.
Гитхаб: https://github.com/0leshe/graph
В корне есть 2 скрипта которые вырисуют хдд и смайл фейс, xdd и face соответственно.
Вот для примера бантик, сотканный с помощью 4-х точек:
-
1
-
-
Image Paint мальенкая библиотечка которая в изображений может заменить один цвет на другой. Тот цвет который мы хотим заменить может быть таблицей, тоесть несколько цветов.
Репозиторий: https://github.com/0leshe/imagePaint
Уже по традиций есть example.lua, управление:
Пробел - меняем цвет
s - выход
Так-же там есть выбор цвета в который вы хотите покрасить несчастную пикчу хдд диска.
-
Еще одна библиотечка на подходе!
Заголовок переводиться как "Атлас текстур" из которого всё понятно. У нас есть большая пикча в которой маленькие пикчи которые мы используем. Как минимум один плюс в том, что оно организованно, именно есть 2 функций сет/гет которые могут получить изображение из атласа по его имени/Занести изображение в атлас на имя. Он даёт реальную организованность в том, что куча изображений сливаются в одно, да еще и которым относительно(не знаю просто) удобно пользоваться. Все функций находятся в корне выдаваемой таблиц init, так-же они вызываются через двоеточие. Всё атласавое изображение находиться: fullAtlas.atlas.image.
Репозиторий: https://github.com/0leshe/imageAtlas
atlas.pic поместить в папку ImageAtlasExample, все папки находятся в корне диска.От 1-6 меняем стандартные изображение системы.
s - выйти
a - суета в лево
d - суета в право
-
1
-
-
Спасибо @ECS за помощь в организацией кода, она реально стало удобнее и вообще, ловко он придумал, я даже сначала и не понял как он сделал, молодец. Продолжим.
Векторное изображение: изображение состоящие из геометрических фигур.
Растровое изображение: изображение состоящие из пикселей.
Превосходство векторнового над растровым в размере файла, когда растровому надо запомнить и пустые пиксели, векторному 7 циферок. Но на то мы и рисуем фигурами что живописную картину там не нарисовать.
Вообще сейчас оно записывается как обычная таблица, что не есть хорошо, в планах перестать так его записывать и на его место поставить сплошную строку с отметками "начало конец", что тоже не очень но лучше чем записывать каждый индекс в файл, который и так ясен при загрузке-выгрузке. Не суть
Это пока еще сырой продукт, как минимум потому-что есть что дорабатывать.
Репозиторий на гитхабе: https://github.com/0leshe/vectorImage
В корне репозитория есть "пример" использования библиотеки, именно мы там жонглируем фигурами вперёд назад. Гениальное управление:
q -- Опустить нашу фигуру вниз по слоям отрисовки
e -- Поднять нашу фигуру вверх по слоям отрисовки
r -- Выбрать то, что находиться на последнем месте отрисовки
f -- Выбрать то, что находиться на втором месте отрисовки
v -- Выбрать то, что находиться на первом месте отрисовки
-
Обычное обновление
На репозиторий гитхаба была загружена программа для OpenOS которая наглядно будет передавать файлы, что уже может понадобится в быту. Использование:
lfrbin [mode] [file] [link]
Есть 2 mode, h (host) или r (requset)
2-й аргумент это либо файл куда сохранять, либо тот который мы будем раздавать.
3-й аргумент "ссылка" на наш файл, дабы не произошло смешивание всякого.
-
10 часов назад, ECS сказал:Исходники не полные, инфы о создании элементов фигур в what нет
Либа:
Скрытый текстlocal gui = require('gui') local screen = require('screen') local toend = {} local fs = require('filesystem') local compress = require('compressor') local function unpack(what) return compress.unpack(what,'/Temporary/lib') end local function pack(what) return compress.pack('/Temporary/lib',what) end function toend.new(width,heigth) return {width=width,heigth=heigth} end function toend.add(where,x,y,what,...) local args = {...} if what == 'line' or what == 'square' then table.insert(where,{x=x,y=y,type=what,x1=args[1],y1=args[2],color=args[3]}) end if what == 'cucle?' then table.insert(where,{x=x,y=y,type=what,r=args[1],color=args[2]}) end return where end function toend.load(path) if fs.exists(path) then unpack(path) return fs.readTable('/Temporary/lib') else return nil,'File does not exists' end end function toend.save(what,path) fs.writeTable(what,'/Temporary/lib') return pack(path) end function toend.draw(where,x,y,what) toendobject = where:addChild(gui.object(x,y,what.width,what.heigth)) toendobject.what = what toendobject.draw = function(toendobject) local what = toendobject.what local screen = require('screen') for i = 1,#what do require('component').gpu.set(1,1,tostring(i)) print(what[i]) if what[i].type == 'line' then print('draw line') screen.drawLine(what[i].x,what[i].y,what[i].x1,what[i].y1,what[i].color,0x0,' ') elseif what[i].type == 'square' then print('draw square',what[i].x,what[i].y,what[i].x1,what[i].y1,what[i].color) screen.drawRectangle(what[i].x,what[i].y,what[i].x1,what[i].y1,what[i].color,0xFFFFFF,'R') elseif what[i].type == 'cucle?' then print('draw cucle?') screen.drawEllipse(what[i].x-what[i].r,what[i].y-what[i].r,what[i].r,what[i].r,what[i].color,' ') end end end return toendobject,where end return toend
Запуск:
Скрытый текстlocal vector = require('vectorImage') local gui = require('gui') a = vector.new(10,10) a = vector.add(a,1,1,'square',10,10,0xFFFFFF) a = vector.add(a,1,1,'line',10,10,0xFFFFFF) wk = gui.workspace(160,50) _,wk=vector.draw(wk,1,1,a) wk:draw() -- Всё чётко как видете wk:start()
Ну типа. Удачи разобраться
-
4 часа назад, Forsash3451k сказал:(Plan9k, Network, OpenOs, Data Card Software, OpenLoader, Builder, Generator Update Software, OPPM, Digger, Mazer, OpenIRC)
Plan9k -- Реально существующая система, здесь она почти ни чем не отличается от OpenOs.
Network -- Реально продвинутая работа с сетью, содержит не только исполняемые файлы но и библиотеку.
OpenOs -- Содержит стандартную систему OpenOs, база.
Data Card Software (data) -- Работа с шифрованием данных через карту данных. Есть библия.
OpenLoader -- ЕЕПРОМка вроде, есть исполняемый файл инсталл изменяет системный /init.lua, имеет autorun.lua.
Builder -- Дискета для робота. Исполняемый файл позволяет загружать "схему" постройки и строить её. Как по мне даже очень полезно. Лично не пробовал.
Generator Update Software (genereator) -- Несчастная программа для робота с улучшением генератора. Несчастная потому-что это просто интерпретатор всех команд этого самого генератора. Ну может кому-то и понадобиться.
OPPM -- Чудо для скачки с интернета всякой всячины только по названию этой всячины. Пастебин но менее запарный.
Digger (dig) -- Буквально копатель ям. Дискета для робота. Копает ямы зиг-загами. Тоже может быть полезно.
Mazer -- Шо-то с лабиринтом, по коду оно туда сюда поворачивает, не знаю. Мб проходит лабиринт.
OpenIRC (irc) -- По догадке мост с irc серверами, на пример наш cc.ru можно попробовать.
-
1
-
-
В общем вопрос опять адресован к ECS.
Вот у нас уже есть наша перменная в нашей функций, но screen.drawRectangle ничего не делает. Вообще. Оно может только пожаловаться что ожидалась цифра а получило шыш.
Уже весь код, это бтблтотека:
Скрытый текстfunction toend.draw(where,x,y,what) toendobject = where:addChild(gui.object(x,y,what.width,what.heigth)) toendobject.what = what toendobject.draw = function(toendobject) local what = toendobject.what local screen = require('screen') for i = 1,#what do require('component').gpu.set(1,1,tostring(i)) print(what[i]) if what[i].type == 'line' then print('draw line') screen.drawLine(what[i].x,what[i].y,what[i].x1,what[i].y1,what[i].color,0x0,' ') elseif what[i].type == 'square' then print('draw square',what[i].x,what[i].y,what[i].x1,what[i].y1,what[i].color) screen.drawRectangle(what[i].x,what[i].y,what[i].x1,what[i].y1,what[i].color,0xFFFFFF,'R') elseif what[i].type == 'cucle?' then print('draw cucle?') screen.drawEllipse(what[i].x-what[i].r,what[i].y-what[i].r,what[i].r,what[i].r,what[i].color,' ') end end end return toendobject,where end
Там все эти принты, гпу это дебаг его не будет в конце. Обмазал этим для того что-бы понять правильное ли наполнение у переменных.
Да оно правильное.
Да оно определяет тип фигуры.
Код "активаций":
... wk = gui.workspace(160,50) _,wk = lib.draw(wk,1,1,a) ...
а - содержит в себе там все эти х, у и тому подобные. Упакованы они правильно.
-
Дано: переменная, таблица what; функция draw элемента object MineOS GUI
Рисунок:
Найти: как сделать переменную what доступной в функций .draw.
Примечание: входные параметры функций задаём не мы, а сама система, то-есть мы не можем просто-так дать ей нашу переменную в аргументы функций. -
1 час назад, Forsash3451k сказал:Здравствуйте, возникла проблема с api openos.
Здавствуйте.
Вообще это Filesystem API. Не суть.Что у меня получилось по запросу:
1 час назад, Forsash3451k сказал:Массив, в котором будет содержаться файлы/директории
local fs = require('filesystem') ... local files = fs.list('/') local idk = {} while true do toadd = nil toadd = files() if toadd == nil then break end table.insert(idk,toadd) end ...
В fs.list меняем путь, на желаемый.
idk Это тот список в который вы будете складывать ваши папки, на пример.
toadd = nil
toadd = files Это костыль для того что-бы если файлов больше не осталось, наше значение "добавить" осталось пустым, далее проверяем пустое ли оно (закончились папки\файлы) если да то цикл в ананас если не то добавляем наше чудо название чего-либо в список.
Данный код показывает содержимое только этой папки, без вложенных в него других папок.Теперь про fs.list:
Оно возвращает функцию, эта функция с каждым вызовам будет показывать следующий элемент, пример:
a = fs.list('/home')
print(a())
print(a())
>> "test.lua"
>> "testdir/"
Если-же элементы кончились то оно ничего не возвращает, переменная не изменяет своё значение на nil, вроде.Удачи1!1 :3
-
1
-
-
Какой сканер мы используем для обнаружения игрока? Как код может быть легко дополняемый, он может быть модульный если я правильно понял аля: вот эта часть обнаруживает игрока, вот эта часть светит камнем. В какую сторону светы светить камнем или светить сразу во все?
-
LFR - (Local File Request) -- репозиторий гитхаба.
Из названия уже ясно, что мы передаём фалы в локальной сети компьютеров.
Как она работает:
Есть сервер и есть клиент. Сервер образуется lfr.pull и ждёт пока клиент не запросит у него реквестом файл (ссылку). После сервер проверяем существует ли такая ссылка на файл и сам файл, если да то начинает передавать по 8 килобайт весь файл.
Работает на любой ос.
-
17 часов назад, Bumer_32 сказал:опа, так это же та самая моя(и не только) идея! которую я предлагал еще до того, когда что то знал о луа
Ну, идея не поучила реализаций, видимо, а сейчас вот оно, на коленке).
17 часов назад, Bumer_32 сказал:Правда пока что - сыровато...
В каком смысле? Критикуй так предлагай взамен, что нужно что-бы оно не выглядело сыро?
17 часов назад, Bumer_32 сказал:даже тот же самый интерфейс который если честно немного не понятен (даже то что цвета сливаються)
Интерфейс лёгкий, у нас есть окно в котором на пример графические объекты, для того что-бы настроить его нам нужно кликнуть по его имени. Потом отобразиться параметры и делай чо хош. Ну с цветами да, я не знаю какую цветовую коррекцию использовать, серый показался нейтральным. На то оно и 50 оттенков серого).
Окна кстати можно перетаскивать.
17 часов назад, Bumer_32 сказал:стоит кстати ещё упомянуть что она то под MineOS
Я думал что это очевидно что если работаем с граф. объектами то это MineOS.
17 часов назад, Bumer_32 сказал:а скриншотики?
Вот и еще один фидбэк) Пойду накидаю их туда.
-
Обычное обновление. "Релиз!"
Добавлено:
Поддержка локализаций которая работает на божьем слове. Обращаться по game.localization. Гайд по работе с ней на гитхабе.
Папка Localization в папке экспорта, при экспорте).
Исправлено:
Граф. элементы:
Возможность закрыть окно при выборе какой объект добавить в на пример screen.
Уже отрисовка в редакторе не была обёрнута в тунубер поэтому при загрузке проекта все взрывалось
Storage:
Переработан к чертям. Теперь мы можем хранить в нём все типы файлов. Ваще все шаришь? Типы которые в разрешений .lang так и отправиться в папку локализаций. Бинд пикч к объекту image в screen так и осталось.
В честь уже релиза я бахнул википедию на гитхабе, она не как у ECS. Она на логику, объясняет принципы как работать в программе.
В принципе в программе дорабатывать больше нечего, пойду сделаю архиватор какой-нибудь, вроде интересный проект...
-
В 22.02.2023 в 12:50, logicikaarenopen сказал:Вид как у Cyan bios
вы можете сделать свой биос с нашего кода
он просто не делает что то такого например патчит систему или что то такого
Перевод на русский есть немного там не русского
Чиво?
Патчит систему? Другие разве так делают? А чем тебя тогда Cyan не устроил? Да еще и код у него позаимствовал. На счёт перевода: где запятые? Я не могу понять смысл предложения.В 22.02.2023 в 12:50, logicikaarenopen сказал:Че он делает:
загружает файлы lua с инета NETBOOT
формат диска делает
командная строка есть
Зачем загружать луа файлы если на это есть опен сось с пастебином или гихабом которая на дискете, которую буквально надо иметь что-бы качнуть биос.
Зачем форматировать диск? У меня до сих пор за 1.1 года работы с модом не понадобилось форматнуть диск.
Зачем она? Что мы можем прописать с помощью этой строки? Наоборот это уязвимость, потому-то злоумышленнику достаточно просто войти в биос прописать component.proxy(component.list('filesystem')()).remove('/') что-бы какраз и форматнуть диск со всеми твоими наработками на которые ты тратил часы. Не вижу в ней смылся, в опен соси есть и библиотеки и опять-же она в стандартной комплектаций.
В 22.02.2023 в 12:50, logicikaarenopen сказал:Называется он: Simple Bios но почему
Потому что он сделан легко
и для новичков
У меня 6 по русскому но я знаю что в "Называется он" надо ставить "-" а не двоеточие.
Со второй строчкой не поспоришь)
А вот тут да, это продукт который поможет новичкам создавать биоса подобные программы на дронов и микроконтроллеров. Это служит как пример, но в нём просто много спорных решений.
Честный обзор. Возможно грубо, но на то он и честный. Ну, удачи что-ли :3.-
1
-
-
17 часов назад, IgnorGTO сказал:Сори чуток ошибся 'био-1', ',био-2' исправил
Тяк, ну смотри, тут у нас 2 био привязаны к 1-й дери.
Не правильно построил список, список никак не может быть именем переменной.
В общем:
У нас есть список в котором био, у на сесть двери, по той схеме их никак не связать. Зачем искать 2-е решение проблемы если есть 1-е.
Можно что-то такое:
{{door1 = {bio1, bio2}, door2 = {bio2, bio3}| на пример.Тогда мы должны перебрать все дувери, и проверять привязан ли био к нашей двери:
local address= {{'126','102'},{'abc','hui'}} -- адресса local cmp = require('component') local a = '3r6i45g-1fefrh24-tr2hh2rtg-2wkkkosg-23yhqfg2' -- 2-й аргумент события for i = 1, #address do -- для каждой двери for e = 1, #address[i] do -- для каждого био от двери if cmp.get(address[i][e]) == a then -- если они одинаковые cmp.invoke(cmp.get(address[i]),'toggle') -- открываем дверь деверь првязаную к био end end end
Тогда в 1-м списке адресов будет 1-я дверь, к ней относятся био, их может быть сколько угодно. Это даже оптимизирование и быстрее редактируется.
-
Крупное обновление. "Доработка"
Добавлено:
Граф. элементы:
Ползунок
Выбор цвета
Полоса прогресса
ПанельИндикатор прогресса (кружочек)
OpenGame.lua (Library)
move(object,x,y,[speed,smooth]) -- изменение позиций объекта со скоростью, плавно или не
resize(object,w,h,[speed,smooth]) -- изменение длинны-ширины объекта со скоростью, плавно или не. Нужно хотя-бы наличие одно из 2-х элементов, относиться и к move. Плавность не видно, оно не прерывается на отрисовку, хоть команда и стоит.Локализация:
Украинский
Русский
Английский
Возможности:Создать иконку приложения, изменить размеры окна, его название и т.д.
Удалить объект
Переместить по слоям отрисовкиДобавлен чёрный цвет к палитре
Изменено:
Граф. элементы
Метод показа цвета, теперь в HEX коде (fingercomp помог)
Метод изменения параметров, теперь они в линию
Открытие и закрытие проектов, теперь стоят предохранители на случаи на на пример правильной папки
Оптимизация:
Граф. элементы:
Сделаны ярлыки на частую отрисовку таких объектов как поле ввода.
Сделаны ярлыки на цвета
Исправлено:
Граф. элементы:
Отрисовка в экспортированных приложениях осуществлялась без обёртки tonumber, из-за чего были ошибки.
Сохранение проекта в одну и ту-же папку, хоть это не ошибка но если проект большой то будет довольно трудно разобраться что куда.Знаем:
Граф. элементы:
В русской локализаций все надписи прыгают.
Слайд шоу Meet The Enginer сделанное на этом "движке":Пасты те-же.
Без локализаций будет плохо, поэтому сделал кривой репозиторий на гитхабе: https://github.com/0leshe/OpenGames/tree/mainПланы:
Сделать параметры локализаций для проектов.
Кто прочитал тот найдет завтра на дороге 100 рублей 99.99% правда!!!11!1!!!.-
1
-
-
15 минут назад, IgnorGTO сказал:Сори чуток ошибся 'био-1', ',био-2' исправил
Имел в виду что за bj-2, тип строка, рядом со этим био в списке.

OpenGames или 50 оттенков серого
в Разное
Опубликовано:
Большое обновление "Контент 01"
Довольно большое обновление:
Граф. элементы:
Пофикшены мелкие баги такие как ошибка в названий переменной и т.п.
Добавлена возможность прозрачности у кнопок, только задний фон.
Общее:
Появился установшик!!!1!11!11 Его можно полапать в релизах гитхаба. Там он простой так-что каждый разберётся и может переманить его на свою программу. Есть data_00 -- библиотека и data_01 -- само приложение. У установщика есть локализаций.
Появились "Шаблоны параметров" которые применяются к объекту. На пример текст или имя объекта. Поэтому мы и набрали 50 Кб xdd.
Изменился алгоритм отрисовки, теперь мы смотрим изменился ли вообще объект после чего смотрим какой именно параметр изменился и его и изменяем. Мы теперь не перерисовываем раз за разом те объекты которые в покое. На него подсел и сам Editor так-что это его зависимость.
Сохранения проектов теперь в 1-м архивном файле, вместо тысячи другой.
Теперь Открыть/Сохранить/Экспорт находятся в menu который с верху где время на пример. Там-же к слову находятся и шаблоны параметров.
Теперь в корне гита есть example (Archive.pkg) который мы разумеется распаковываем и запускаем. Нужна библиотека.
Список маленький работа огромная2.