Lucky
потом вот так local dsc = dsc.."\n"..add_style1(react)
Snusmumriken
Надо подумать как это организовать по-человечески.
Lucky
и вот так вывожу print (terminal:toBlock(dsc,3,3))
Snusmumriken
Ещё x и y выглядят лишними, их бы убрать.
Lucky
Ну, я так дёргаю: terminal:setPosition(0, 0) print (terminal:toBlock(dsc,3,3))
Lucky
И в целом норм. Всё понятно.
Snusmumriken
print добавляет лишние символы переводов строки, io.write оставляет курсор после последнего выведенного символа.
Snusmumriken
Блин, ты поднял мою старую либу для личного использования, и мне теперь хочется сделать её нормальной.
Lucky
Я тот ещё упырь, да.
Lucky
Я так понимаю, что возможно здесь собака порылась: return '\27['..table.concat(res, ';')..'m'..text..'\27[0m' -- сбрасываем форматирование в конце записи
Snusmumriken
Если текст у тебя — блок, то форматирование должно было сброситься не на следующей строке а после блока.
Lucky
Т.е. надо сунуть в форматирование текст, обмазанный предварительно блоком?
Snusmumriken
Вроде того.
Lucky
Понял, щас проверю.
Snusmumriken
Поэтому из блока хочется выкинуть установку позиции, чтобы можно было мержить с другими текстами.
UtoECat
хммм... я чёт всегда думал, шо если перезаписать символами место, где "должна была стоять" escape последовательность то форматирование пропадёт, но нет 🤔 ну или я опять всё позабыл)
Snusmumriken
Терминал держит стейт.
Snusmumriken
А escape-последовательности нигде не "стоят", они могут быть встроены в текст, но терминал их только интерпретирует но не отображает. У него нет места куда он их ставит. Буквально скип вывода + выполнение команды.
UtoECat
Терминал держит стейт.
ну да, имеет смысл, на бумаге же тебе не пишется, что "следующие символы зелёного цвета и курсивом" или что-то подобное)
Snusmumriken
И на самом деле это гига удобно, потому что мы можем брать и клеить здорове-е-е-е-енную последовательность команд: local something = "Нарисовать линию" .. "установить позицию на х-у" .. "перекрасить цвет фона" .. "запомнить текущую позицию курсора" .. "Привет я крутой" .. "восстановить позицию курсора + сдвинуть курсор вниз" "перекрасить цвет текста" .. "ваще крутой" А потом такой радостно: io.write(text) И всё. У нас кусок графония в строчке.
Lucky
Чтоб одна была с координатами, а другая - просто блок?
Snusmumriken
Так может просто добавить блоковую функцию без координат?
Да, вроде того. Просто тогда ты смело сможешь клеить больше: local question = [[ Мы вышли на опушку Был сильный мороз ]] local reaction = [[ Вы пнули дерево Но ничего не случилось ]] local textblock = term:toBlock( term:format(question, {color = {"black", "white"} .. "\n\n" .. term:format(reaction, {color = {"red", "white"} ) term:setPosition(3, 3) io.write(textblock)
Snusmumriken
Надо прочекать.
Lucky
Так сделал: function terminal:justBlock(text) return self:s's' -- set position ans save ..text:gsub('\n', self:s'u'..self:s'B'..self:s's') -- replace \n as 'restore' -> 'move down' -> 'save' end
Lucky
Snusmumriken
Вооо кросота
Snusmumriken
С форматом тоже надо подшаманить, добавить варик чтобы возвращал чисто последовательность для форматирования с опцией ргб-цветов, дабы клеить туда-сюда.
Lucky
Теперь ещё прокрутку придумать и нормальные переносы. Чтоб отдать многострочную строку и ширину, и получить строку с переносами и прочими отступами красивого текста.
Snusmumriken
Теперь ещё прокрутку придумать и нормальные переносы. Чтоб отдать многострочную строку и ширину, и получить строку с переносами и прочими отступами красивого текста.
Щяс пока оформляю в виде "tcolor -> setColor", мол, первый вариант выдаёт текст для форматирования и склейки, второй — командует терминалом.
Lucky
Маракую маракуйю инвентарь
Snusmumriken
Просто оно часто будет переносить по одному слову в таком случае.
Snusmumriken
Из серии: Мы вышли на опушку, был сильный мороз, и каждый участник события вдруг понял, что сильный мороз не очень-то силен. Вместо Мы вышли на опушку, был сильный мороз, и каждый участник события вдруг понял, что сильный мороз не очень-то силен.
Snusmumriken
То есть мб сначала убрать из многострочника все переносы (чтобы было удобно его писать), а потом переразбить по ширине окна. Возможно ещё добавить тэгов а ля <br> как принудительный перенос для абзацев и всякого такого.
Snusmumriken
Вообще, открою страшный секретик, можно вообще конвертацию форматирования вроде <color=#rgb>Привет<color=#cdf>как дела? в формат для консольки.
Lucky
Щас делаю счётчик одинаковых элементов. Чтоб Грибы (7) а не Грибы Грибы
Михаил
пространства имён почти как в с++11 function tabcopy(t) local n = {} for k, v in pairs(t) do n[k] = v end return n end function namespace(name) local state = util.tabcopy(_G) local existing = _G[name] local closure = function() local nspace = {} for k, v in pairs(_G) do if state[k] ~= v then nspace[k] = v _G[k] = state[k] end end if existing then tabcopy(nspace, existing) end _G[name] = nspace end _G[name] = closure end
Михаил
опять баг нашел, не будут использоваться символы если они уже были до этого в пространстве
Lucky
Попа слипнется
Норм. Словарь переносов в читалке стырю. Пошукаю скриптов по интернетам.
Lucky
Или получится или не получится.
Lucky
Меня зовут Уук и я рукожоп.
Lucky
Положил на бок систему парочкой таблиц на два элемента и луажит.
Lucky
В движок.
Lucky
Поченил инвентарь.
Lucky
Uni_X
А я одну вещь понял.
Uni_X
Работать со спаянным устройством мне не интересно, а клепать кучу всякого на макетке - очень. Огромное удовольствие получаешь, когда вот это на макетке, начинает работать
0xSU
Сел видос по CS 2 глянуть, а там @Snusmumriken убили :(
Snusmumriken
Ну опять
WDMR
Ну опять
Наверное Снус любит больше кс 1.5
0xSU
Что за видос, интересный?
Не оч (не люблю такое даже фоном), но можно глянуть что в кейсах выпадает https://youtu.be/FxzeCQrdnP4?t=1300
WDMR
Кейсы меня не интересуют совсем
Snusmumriken
Наверное Снус любит больше кс 1.5
На самом деле мне нравятся только футуристические шутаны. Q3, unreal и т.д.
Snusmumriken
А у каэсочки всратый разброс пулек, и каждый надо зубрить
0xSU
А что там в кейсах? Можно заработать?
Да как всегда, рандом какой-то. Из интересного появились стикеры, которые можно клеить на оружие.
WDMR
А у каэсочки всратый разброс пулек, и каждый надо зубрить
Кс мне нравился в 2000 г. в игровом салоне вместо пар в универе )
WDMR
А сейчас так понастольгировать смотрю иногда)
WDMR
Тогда каэсочка задвинула по популярности Q3 и халфлайф десматч
WDMR
На самом деле мне нравятся только футуристические шутаны. Q3, unreal и т.д.
Unreal не играл во времена его популярности, но сейчас считаю что это был шутан круче Q3
WDMR
UT99
WDMR
Какой божественный саундтрек там
Snusmumriken
Unreal не играл во времена его популярности, но сейчас считаю что это был шутан круче Q3
Ну по сингловой кампании да, а в виде сетевой аренки — 2003/2004 ништяк.
Snusmumriken
Вот буквально пару недель назад поднимал сервер unreal 2004 для приятелей-белорусов.
Uni_X
Хотите шутку?
Uni_X
Михаил
эм. оно ж не заземлит.. разве у вакуума есть емк...... ааааа понял))