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

Oleshe

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

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

  • Посещение

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

    12

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

  1. Предлагаю сделать так, что-бы оно показывало актуальные значения, а не предпологаемые:
  2. Не работает компьютер. По логике чанк то загруженный, но код не выполняется i = 0 while true do require("Component").modem.broadcast(1, "Ping", i) i = i + 1 end Ничего. Нечего менять. Я просматривал конфиг раз 20 и ни разу не видел что-то связанное с остановкой компьютеров при выгрузке чанка с ним. Максимум что +- по нашему запросу, при выгрузке чанка оставлять статус компьютере для того что-бы при обратной загрузке чанка был такой-же. Если отрубим то он будет перезапускаться каждый раз когда загружают его чанк. (disablePersistence 339 строка) Карта мира майнкрафт. Ну мир на котором появился этот вопрос.
  3. Есть компьютер, он отправляет данные серверу. Сервер должен дать ему ответ. Проблема: расстояние в 800 блоков. В теорий поставить всередине ретранслятор будет нормальная идея, но он работает только тогда, когда мы его прогружаем. Так-же он не передаёт данные другим ретрансляторам, только компьютерам(нельзя выстроить цепь ретрансляторов). Если мы возьмём туннельную карту, остаётся вопрос с сервером. Прогрузчик чанков (Если он вообще работает) не работает. Компьютер выгружается. Если мы будем спамить в канал, тогда будет норм, но когда дело доходит до разнообразия, на пример прибавить 1, то он выгружается. В конфиг файле вроде-бы ничего нельзя поменять, компьютеров будет на целевой карте+- 6, сейчас 2(планшет и пк).
  4. Что если мы сделаем таблицу сколько тепла вырабатывает определённое топливо за минуту. Тогда мы сможем включать и выключать его через определённое время так, что-бы нагрев составлял на пример 94% постоянно. Ну или отмерять то, сколько он тепла отдаёт так, что-бы мы шли по условию заказа и выключали его когда 95% и включали когда 80%. Zelenuydrakon, можно ссылку на принцип работы реактора, как его построить и чем питать? Адаптер я подключал к блоку Fusion Cоre который размером 3 на 3 блока 1-м предметом. Он вроде-бы питается жидким топливом, а вы упоминали стержни. Не состыковка.
  5. В компоненте energy_device (Подключение реактора через адаптер) нету метода ни как получить тепло, ни как выключить реактор. Можно выключать реактор прекращением подачи топлива, но он продолжит работать какое-то время из-за внутреннего хранилища, а как подгадать это время под тепло- та еще загадка, ведь мы незнаем его нынешнее тепло. Единственное что может отдать нам реактор- Сколько энергий в нём сейчас. Сколько максимум энергий он может хранить. Может ли он отдавать/получать энергию на данный момент из/в реактор(а).
  6. Есть огрызок кода: Как мы видим, оно должно привязывать параметры к их эквивалентам в raw. Но, когда мы изменяем параметр объекта, параметр raw-а остаётся тем-же. Соответственно нужно что-бы если мы изменяли параметр объекта, мы изменяли его и в raw. Аля: local object = {} local raw = {localX = -20} object.raw = raw object.x = 15 object.raw.localX = object.x print(object.x,object.raw.localX) -- 15 15 object.x = 0 print(object.x,object.raw.localX) -- 0 0 object.localX = 20 print(object.x,object.raw.localX) -- 20 20 Вручную каждый друг к другу привязывать не вариант т.к. их слишком много, можно объединить параметры, наставить сравнений, то через цикл оно будет само подбирать нужный вариант.
  7. table.remove(table,index). Мы вводили таблицу, но без индекса. Сделал через = нил и всё заработало.
  8. Не знаю. Большие цифры: звуковые частоты, задержка (Длинна звука) и adsr. Из маленьких цифр: наличие adsr, инструмент (Ну там-ж пилавые, квадратные, треугольникавые, круглые звуковые волны), канал, и предохранитель на то, есть ли следующая "часть". Вот сделал +- норм сжатие. Оно превращает: 2,1,2000,4000,2,1000,10,1,1000 -- с ADSR 2,2,2000,4000,2 -- Без ADSR 2,3,2000,4000,2,0,2000,0,1 -- c ADSR В 38 байт: �����o -- (В майне оно занимает больше символов. В AkelPad-е 3 сноса cтрок и пустые символы. Интересно.) Возможно вы найдёте путь сжать еще сильнее.
  9. Нужно записать цифры и я думаю что писать их в 1 строку по символам будет лучше чем пихать таблицу через сериализацию. Требуется сократить объем в байтах, размер итогового файла. Придумал дополнение к ранее описанной схеме, мы не записываем 127 столько раз сколько надо для цифры, вместо него мы используем множитель для 127 (Сколько их будет) и цифру которая меньше 127, остаток. (Если надо 1000, то делим 1000 на 127, отделяем то, что после запятой и это будет 1 символом. Тот множитель который мы получили только что умножаем на 127 и отнимаем от 1000, это остаток, второй символ. 7(множитель, символ)111(остаток, символ))
  10. У меня есть циферки, их нужно записать в файл максимально сжато, желательно. В уникоде куча символов, то-есть мы можем записать целое число в 1 символ (Числа будут в диапазоне от 0 до 40000). Я тестил это и оно работало, но когда мы выходили за пределы string.byte оно ломалось и читало не правильно, за 2 :read оно читало 1 символ. Если совместить их нельзя то сделаем так, что-бы оно записывало максимальные значение так, что-бы в итоге получилось нормальное. Что-бы не попутать в конце поставим ноль ( если на пример число 128, то мы записываем 127 и 1. Если число 129, то запишем 127 и 2. Если число 1007 то записываем 127 7 раз, а в конце 118. Еще не делал, так-что это пока теория. Пойду сделаю.
  11. Мы получаем 2 числа, а нужно одно. Возьмём число побольше, на пример 1007, получиться {207,175},. Как из них получить 1 цифру, ту-же 1007 которую мы и вкладывали?
  12. Предположим у нас есть цифра 128. Мы попускаем её через unicode.char и получаем символ. Этот символ мы пропускаем через string.byte и вот не задача, начиная с 127 уникодовского символа оно выдаёт 194. Если мы попустим 130 а не 128, мы получим 194. Как сделать так что-бы цифры сохранялись без огромных циклов в символ и обратно?
  13. Получил что-то похожее на круг. Теперь интенсивность решает, но радиус перестал. Cтранно красит середину. Забавно что при повторных кликах "освещение" растёт у каждой точки, даже ранее поставленной. При этом центр становиться чёрным. Пробовал сделать через штуку которая 1234 в 0.5 для того что-бы цвет пофиксить, но оно выдавало в конченом счёте..: бесконечность. Буквально бесконечность. Не знаю что теперь с этим делать. надо-бы в алго с прозрачностью итоговый радиус присобачить, но не знаю куда его тут поставить :р Здесь присобачим как объект света. Подумаем как сделать ограниченное поле освещения, весь фарш и готово. Мы-ж объекты можем там таскать туда-сюда, изменять их на ходу. Удобно вроде сделал. Недавно кстати появились сцены как в унити, но лучше пока с ними не гулять, а то зарежут. В них лучше использовать только базовые объекты (Всё кроме анимации и файлов, скрипты норм работают), остальные хз как поведут. Добавить объект легче чем создать. Но и там бывают траблы... Этот трабл кстати появился из-за идеи всё упаковывать, что касается определённых сцен (Файлы скрипты, локализация) отдельно друг от друга: в архив. То-же будет и в экспорте. Еще будут "общие файлы" которые будут доступны во всех сценах. Наверное больше подробностей, чем ожидалось.
  14. Ни в одной из функций не прописано что-бы в raw появлялись функций. Мы вообще её сносим и тут-же смотрим: . Таблица есть, функций присутствуют. xdd какой-то
  15. Я не знаю и не видел людей которые используют т2 монитор для MineOS. Надеюсь и не увижу. Как это сделать? Вообще не представляю. Ну, как мы узнаем какая прозрачность нам нужна от квадрата расстояния? Попустить получившуюся цифру через штуку которая делает из 123790 0.543? Вот, это если радиусы в квадрат. Интенсивность так-же не на что не влияет :/. Отличается тем что середина стала пухлее. Может я что-то не так считаю, не знаю.
  16. Практически исправлено. Радиус 30 Радиус 10 В 10-м радиусе видно что оно всё еще концентрируется. Попробовал сделать сначала "карту" того что у нас есть, если мы уже ставили пиксель на это место мы скипнем set тем самым не повторяясь. Производительность по памяти немного будет плакать. Радиус 30 интенсивность 10 Интенсивность 1 (Реально) Интенсивность до сих пор не на что не влияет. Есть линий которые не краситься. Код: И как кстати сделать больше изменений интенсивности на пиксель что-бы переход был плавнее.7
  17. У меня есть наработка, идея: у нас есть список с 3 параметрами, цвет света, радиус (длинна) света и интенсивность. Код: Пример к коду, недостаток angle в цикле. Недостаток "лучей" для круга. А еще красиво. Радиус 10 Радиус 30 Проблема: Как бы ты не изменял интенсивность, результат тот-же. Не правильно считает центр, он заливается сплошным цветом вместо градиента. Должно-быть: чем больше интенсивность, тем больше должно убавляться света на радиус. Я не знаю что я делаю не так что-б результат получался одинаковым любом случаи. Вся интенсивность почему-то концентрируется в центре. Жэнтэльмены, помогите узнать что я делаю не так.
  18. У него больше возможностей, мои причины почему я на OC: Модульность. Да, он сложнее в сборке, но ты можешь собрать тот компьютер который подходит тебе под определённую задачу. Обилие предметов. Когда в СС только компьютер и черепаха (по памяти), в ОС дроны, микроконтроллеры, гео анализатор, карта красного камня, адаптер (Взаимодействие с другими модами), и т.п. У него нету сильных недостатков перед СС, наоборот он более продвинутый, имхо. Оба мода в разработке. Аргумент то прав но обновляться оба мода. Мы пытаемся быть интеллигентным сообществом, поэтому лучше было-бы написать помидорами. Оба моды сильны в определённых аспектах, и не вижу причины опускать или завышать кого-либо. Один работает 1.12.2, другой на 1.19.*. Они взаимозаменяемы, просто кто-то начал с одного мода , а переходить на другой желания нету. Я не вижу вязкой причины переходить на СС, имхо ОС лучше. Каждый решает сам что ему использовать. Думаю что победит дружба, так-как выяснять разницу почему один мод лучше другого это как спросить: что лучше интел или амуде?
  19. Большое обновление "Контент 02" Это будет последнее обновление в отдельном сообщений потому-что наверное и модератором надоел да и ветку засоряю, хотя кому еще писать. Добавлено: Граф. элементы: Объект анимации. С ним было интересно повозиться и вот он есть. Процесс сетапа: Выбираем в меню как обычный объект, и выбираем atlas.pic, тот атлас который мы будем использовать для анимаций. Сам атлас: Это мой тип атласа. В атласе должна быть нумерация кадров. По типу: Atlas:setImage(1,1,image.load('/Image.pic'),'FRAME_NUMBER') У самого объекта есть 2 функций: tick() -- Следующий кадр checkNext() -- Проверяет следующий кадр, является ли он последним. Библиотека: Добавлен OE.playAnimation(object, speed). Проигрывает анимацию object объекта со speed скоростью. Оно использует "многопоточность" которую мы прибили в прошлом обновлений. Добавлен clearCashe(), clearImageCashe(object.name) и clearScriptCashe(object.name). Первая очищает весь кэш, вторые 2 очищают кэш для определённого объекта. В clearImageCashe(object.name) объектом является объект в game.screen так-как оно хранит картинку для этого объекта. Оптимизация: Граф. элементы: Изображения в кэше, диск не будет каждый раз работать когда надо будет добавить одну и ту-же пикчу. Скрипты: Так-же как и с изображениями, только скрипты. Тут мои идеи закончились. Пишите сюда, или в лс что-бы вы хотели поменять, прояснить, зарепортить, добавить.
  20. Большое обновление "Скрипты" Добавлено: Библиотека: Добавлено несколько функций: Это группа get которая возвращает всё логически от имени. В data у нас либо имя объекта, либо таблица объекта, либо имя объекта. Так-же у нас появилась OE.regScript(script,mode,interval,endTime,name) и OE.unregScript(name). Они прибивают скрипт к потоку от безымянного объекта который приделан к окну. Mode это режим, их 3: "execute", 'string", "function", загрузить из файла объекта скрипта, из строки и из функций. Script это сама функция на пример. Интервал и endTime это интервал выполнения и конец выполнения через n секунд. Если endTime будет меньше нуля, -1 на пример, то цикл выполнения будет вечен (Пока окно не закроется). UnregScript принудительно удаляет скрипт из выполнения потока. Помните Instance из патча? Он полностью доделан. Порядок входящих параметров такой-же какой и в параметрах и можно создать вообще любые граф. объекты. На пример: OE.Instence.new('panel',1,1,10,10,0x989898,true) --OE.Instence.new(type,x,y,width,height,color,visible) Еще есть Instance.remove(data). Data точно такая-же как и с get кластером. Удаляет объект с экрана. Граф. элементы: В очередной раз изменён алго счёта позиций названия окна. В планах сделать кэш подгружаемых объектов таких как те-же скрипты или изображения и сделать анимационный объект: атлас-анимация. Вырезаем-вставляем. Подкидывайте идеи..
  21. Патч 01 Не добавлено в инсталятор. Исправлено: Граф. элементы: Когда мы изменяли на пример стадию ползунка или переключателя она не отражалась в таблице объекта. Кнопки закрыть-свернуть при экспорте не отображались. Добавлено: Взрывоопасно: В библиотеку OE добавлен Instance в котором есть Instance.new(type:string, ...), в нём работает только панель, текст, кнопка и прогрессБар, и то не факт. Далее мы его доработаем и добавим Instance.remove(object or objectIndex or objectName:table or number or string) находит объект и удаляет его подтирая за ним. Взрывоопасно потому-что это пока-что огрызок, но патч сделать надо из-за косяков с граф. эл. Общее: Локализация: Теперь она стала гибче: если перед патчем нам нужно было имя объекта для его локализаций, то сейчас имя параметра локализаций идёт после {loc}. Пример: object.text = '{loc} testLocalization' game.localization.testLocalization = 'Hello world!' Имя локализаций одним словом после пробела после {loc}.
  22. Смотри: когда ты добавляешь компонент, он уже в компьютере, его не надо определять там что-то с ним делать, система разберётся сразу когда ты его вставишь. Здесь мы обозначаем модем, предполагается что он уже есть, хотя это не так. Уже после того как мы определили мы проверяем есть ли он, то-есть он у нас либо будет либо ошибка что его нету. На то и "No primaty 'modem' available" потому-что системе нечего регистрировать как модем и нечего дать программе. В компьютере нету модема что-бы его дать программе, а isAvailable проверяет есть ли он, то-есть мы проверяем есть ли он, и если есть то уже определяем его. Типа: local cmp = require('copmonent') if cmp.isAvailable('modem') then local modem = cmp.modem print('Есть :)') else print('Нету :(') end
  23. Ты ставишь компонент модема перед тем как проверить есть ли он. А почему ты используешь примари? component.invoke(addrs, functionName, ...) <-- обращается именно к компоненту addrs, имя функций пишешь в строковом варианте, например: local address = '0ab' local cmp = require('component') local address = cmp.get(address) --Получаем полный адрес из скороченого, обезательно local sides = require('sides') cmp.invoke(address,'setOutput',sides.up,5) print(cmp.invoke(address,'getOutput',sides.north)) cmp.invoke(address,'setOutput',sides.down,12)
  24. Супер полезная программа. Единственное хотелось бы видеть загрузку файлов с Pastebin-а. А так очень даже молодец. За то что разобрался с Internet API вообще респект.
  25. Небольшое обновление "Оптимизация 01" Общие: Помните размер мэйна 110+- Кб? Теперь 80 !1! Установщик уже готов, а код а за-аплоужен. В репозиторий гитхаба в Applications был добавлен Install.app который содержит исходники инсталятора. Кроме data_NN потому-что там ничего интересно, просто код или кучка файлов в архиве с заумным названием.
×
×
  • Создать...