ECS
-
Публикации
533 -
Зарегистрирован
-
Посещение
-
Победитель дней
203
Сообщения, опубликованные пользователем ECS
-
-
О, как раз на днях сеструха подобное писала, впервые осваиваясь в опенкомпах, да и майне в целом. Ах, какой пекрасный мир ее ждет впереди! Кстати, отображение времени работы можно выводить в более удобном виде ЧЧ:ММ:СС, если есть желание:
print("Времечко: " .. os.date("%H:%M:%S", computer.uptime())) -
@Asior, дык это, написано ж: file does not exists. Стопудова ты музло в корень диска положил, а запускаешь по относительному пути без /, находясь в /home/
-
2
-
-
4 часа назад, NEO сказал:Сие есть не аргумент, наблюдение - это субъективизм
Дык любой аргумент исходит от субъекта бытия, от индивида, лишь пытающегося познать и осознать внешний объективный мир. Любой аргумент есть субъективизм
-
2
-
-
dafaq!1111
-
1
-
-
-
1 час назад, eu_tomat сказал:И одно дело, бесплатно заниматься тем, чем нравится, и совсем другое – следовать за клиентом, который платит. В общем, надо определяться, кто мы
Но следовать за клиентом - это банальная необходимость любого сервиса, желающего оставаться жизнеспособным и не терять свою клиентуру, причем вне зависимости от того, монетизирован он или нет. Если сервис банально не интересен аудитории, не идет в ногу со временем и уступает конкурентам, то он загнивает. Увы, нынче рынок серверов кубача крайне разнообразен, и требования игроков крайне завышены. Плюс, повторюсь, в сообщении выше я описал куда больше проблем, нежели классическая дилемма "донат или узкоспециализированный серв для своих".
А при наличии небольших капиталовложений вкупе с упорным трудом даже ресурс о программировании можно популяризировать донельзя. К примеру, на все том же дримаче год назад каждую неделю энтузиасты проводили неплохие лекции по кодингу роботов через интегрированный войс-чат с взиманием платы за обучение. Чем не идея для популяризации программирования и заработка? Было бы желание, мяу
-
4 часа назад, eu_tomat сказал:Или ты имел в виду что-то другое? Если ты видишь возможность привлечь сюда до сих пор неохваченных проектом активных игроков-программистов, то мне интересно услышать твои предложения на этот счёт, ну, или хоть какое-то виденье ситуации.
Я уже описал свое видение ситуации самим перечислением проблем. Если нужна конкретика, то:
- Упразднить правила. Чем больше запретов и ограничений - тем меньше желания их изучать, им подчиняться и следовать, тем больше желания найти более достойный игровой проект. Большая часть местных правил абсурдна донельзя и обоснована по принципу, схожему с воспитанием ребенка: "потому что я так сказал и так считаю верным". Сейчас не 2014 год, челядь постепенно умнеет, и подобный принцип уже "не канает"
- Реализовать систему демократичного саморегулирования (votemute, votekick и т.п.) для минимизации человеческого фактора в лице предвзятых модераторов, да и вообще автоматизировать большинство модерационных процессов, как это сделано на всяких вортексах, террафирмах, экскалибурах и прочих. И только попробуй, @moderator, сказать что-нибудь насчет рекламы сторонних сервисов, смешно уже
- Разработать универсальный самописный гуишный мод для покупки донат-шмота, привата, чтения правил и инфы об ивентах, интеграции с сошл медиа и для минимизации локальных серверных чат-команд, как это сделано на дримаче. Если нет соответствующих навыков мододела - максимально кастомизировать существующие плагины для удобства или написать собственные
- Свести к минимуму искусственные ограничения контента, доступного "из коробки", не вводить собственных механик для кастомизации привычного геймплея с наиболее популярными модами, либо вводить их на высшем уровне с переписыванием мода и подробными интерфейсными гайдлайнами вместо "you don't allowed to do that"
- Вместо запрета имбалансного шмота, дюп-шмота или лаго-шмота писать фиксы модов самостоятельно или заказывать их на форж-форумах
- Мини-игры, регулярные ивенты и любые средства массового развлечения с системой поощрения победителей ДОЛЖНЫ присутствовать на любом сервере, заинтересованном в своей аудитории и привлечении новой. Старперам и олдфагам, возможно, подобное кажется глупым, однако школьники с толстыми кошельками категорически не согласятся
- Ни в коем случае не наказывать игроков за багоюз, а наоборот щедро поощрять рапортующих и публично афишировать свои намерения о поощрении. Недочеты и геймплейные дыры - это неучтенный фактор, ответственность за который лежит на плечах администрации. Фиксы, фиксы и еще раз фиксы
- Создать грамотную донат-систему и уметь играть в маркетолога, способного "продать воздух", не перегибая при этом палку. Максимально кастомизировать привилегии донатеров вплоть до emoji в чате и воспроизведения кастомных звуков а-ля дота+, создавать модели именного оружия и брони, разыгрывать их в местных рулетках и ивентах, просторы творчества тут бесконечны
- Наконец, необходим современный информативный сайт с картой сервера, донат-разделом, техподдержой в реальном времени и, в качестве приятного дополнения, форумными фичами, наградами и т.п. Но никак не классический форум с фиг-пойми-где запрятанной инфой а-ля 2000-ые в современной обертке
Подытоживая, скажу, что ваша аудитория - это ваш хлеб, ваша честь и слава, ваша популярность. Поиграв на данном проекте, я увидел если не наплевательское, то, как минимум, безразличное к ней отношение с позицией "соблюдай правила или катись" вместо "клиенты - наше все, мы стремимся максимально адаптироваться и идти навстречу каждому". Зато как кодерский русскоязычный форум для ценителей узкой специфики он хорош, да, не спорю.
-
4
-
1
-
1
-
1 час назад, eu_tomat сказал:А привлечение других игроков, это уже рутина и маркетинг, и, как сказал бы @NEO, заниматься этим бесплатно длительное время никто не будет
Я бы еще добавил, что местная система правил, модерации, искусственных ограничений и токсичность закоренелых игроков быстро отпугивает потенциальную аудиторию. Вспомнить, к примеру, концепцию покупки профессий за "голосовальную" валюту, чтобы получить доступ к стоковому функционалу индастриала или стильно-модно-молодежный мир "Улей" без графонистого спавна с блекджеками и средствами развлечения - бр-р-р! Лично я бы на подобном сервере играть в выживалку не стал и никому бы не посоветовал, в особенности типовым школярам, у которых требования гораздо более высоки ввиду наличия тонны серваков с аналогичным мод-листом и куда более лояльным порогом вхождения.
-
Ашыпка!1
-
1
-
-
2 часа назад, ZloyApelsihchik сказал:Я не совсем понимаю что такое tonumber. Но опять же как я понял, это что вроде конвертера в число?
Дыа, так и есть. Я не понимаю, зачем ты, не изучив основ, лезешь в написание интерфейсного софта. Хоть потренькался бы чутка на хелловорлдах
2 часа назад, ZloyApelsihchik сказал:И что такое validator, тоже хотелось бы узнать.
Вообще из коммента в коде выше все должно быть понятно, да и в документации эта инфа подробно разжевана. Захотел бы - узнал бы
-
1
-
-
Дык поле input.text является строкой, ты ж ее сам вводишь в виде текста, в виде чертовых символов. А функция redstone.setOutput(side, strength) в качестве второго аргумента принимает только числа. Ясен фиг ругается, если ты ей пытаешься текст скормить. Юзай что-то типа этого:
inputPower.onInputFinished = function() -- Зачекай, а то мало ли там вообще не число введено if inputPower.text:match("%d+") then powerSignal = tonumber(inputPower.text) end endВторой вариант с автоматической валидацией:
inputPower.validator = function() return inputPower.text:match("%d+") end -- При наличии validator этот метод выполнится только в случае успешной валидации текста inputPower.onInputFinished = function() powerSignal = tonumber(inputPower.text) end -
2 минуты назад, ZloyApelsihchik сказал:Ну, раз есть такая возможность спрошу еще на счёт того как можно к списку GUI.comboBox подключить список цветов для бандлед проводов например, так что бы вместе с выбр. числом изменялось еще в самой функции сила сигнала.
Не понял вопроса и конечной задачи, прости.
-
Так писал бы в тему гуйки, че форум-то засорять. А ошибка забавна: при каждом нажатии на кнопку сначала отрубается сигнал редстоуна, а затем функция switch2.onStateChanged переназначается во время своего же выполнения. Крч, уот так будет пахать:
switch2.onStateChanged = function() -- Проверяй, какое состояние имеет switch после переключения: вкл или выкл if switch2.state then RemoteRedstone() else RedstoneOff() end end -
20 минут назад, VankaPapanka сказал:В итоге даже не могу распечатать те что встроенные в систему (я про систему MineOS),потому что оперативы не хватает для того что бы приложение открыло фото
Стопудова у тебя включены обои, они жрут чуть ли не четверть имеющейся оперативы. Оффни, если это так. Но вообще странно: только что ябез каких-либо проблем распечатал несколько дефолтных обоин, и память лишь на 74% забилась при наличии двух планок 3.5
-
40 минут назад, ZloyApelsihchik сказал:Щито за программа на 2 скрине (слева направо)
Какая-то прога для мониторинга?
Угу, для контроля ядер реакторов из драконика. Сырцов нет, ничего нет, любви нет, только пара скринов
-
14 минут назад, Avevad сказал:На самом деле я не знаю как распарсить строку по пробелам))
А можно и не парсить вовсе, модемы позволяют отсылать/принимать сетевые пакеты с множеством аргументов:
-- Отправка modem.broadcast(port, cmd, cmdX, cmdY) -- Прием local localAddress, remoteAddress, port, distance, cmd, cmdX, cmdY = event.pull("modem_message")
Если надо "парсить по пробелам", то уот так уот:
local message = "meow 12 -249" for part in message:gmatch("[^%s]+") do print("Кусочек: ", part) end >> Кусочек: meow >> Кусочек: 12 >> Кусочек: -249
-
3
-
-
2 часа назад, BrightYC сказал:каким же образом сделать аналог слушателя на биосе.
local function myYobaPullSignal(...) evt, _, _, _, _, info = computer.pullSignal(...) if evt == "touch" and info == returnuser() or evt == "modem_message" and info == "open" then open() elseif evt == "touch" and info ~= returnuser() then getout() elseif evt == "modem_message" and info == "ping" then modem.broadcast(1, "pong") end end ... local function sleep(timeout) local deadline = computer.uptime() + (timeout or 0) repeat myYobaPullSignal(deadline - computer.uptime()) until computer.uptime() >= deadline end ... while true do myYobaPullSignal() end
-
2
-
-
В маркете появился ВК-клиент местного разлива. Поскольку VK API с недавних пор стало зашибенно удобным в плане уменьшения количества веб-запросов, то болтать с посонами и посонихами можно с комфортом без ожидания загрузки тонны инфы. На данный момент имеются следующие фичи:
• Динамическая подгрузка свежего контента при достижении конца имеющегося
• Отображение информации профилей
• Просмотр списка друзей с имеющимися тегами
• Просмотр новостной ленты
• Просмотр списка диалогов, истории переписки, отправки сообщений и файлов (к примеру, можно закинуть какой-нибудь скрипт прямо себе на аккаунт)
• Индикатор сетевой занятости, чтобы никто ничо там не подумал, мол, "говнософт завис!!1"
• Рекурсивное отображение всех медиавложений, репостов и прочей атрибутики
• Раздел настроек с кастомизацией количества загружаемой инфы по категориям
Планирую сделать поддержку двухфакторной авторизации, раздел документов и скачивание присланных доков. Пока что софтина чуть сыровата, но вполне себе юзабельна. Напоследок немножечко скринов:
-
6
-
-
В OpenOS 1.7.3 вернут назад способ отключить хард-интеррапты, причём для конкретного процесса, а не всей системы.Когда она там релизнется, кстати?
-
@ECS, сможешь распутать этот клубок вопросов?Чего сразу ECS-то? Это все он, это он, не впутывайте! Либа - полный аналог опеносовской. Разница в том, что она работает шустрее, не подменяет pullSignal на кастомный, не требует внешних либ по типу keyboard, а также позволяет отключать и кастомизировать коды клавиш прерывания. Работать оно работает на всех версиях OC, скачивание вместо дефолтной комп не взорвет. Усе.
-
2
-
-
Огрызкоподобное обновление: добавлено приложение "Settings", объединяющее в себе всевозможные настройки системы. Софтина разделена на модули и имеет следующий функционал:
• Выбор активного монитора и смена разрешения как в автоматическом режиме без черных полос, так и в ручном
• Смена обоев рабочего стола и выбор заставки с задержкой
• Кастомизация размеров иконок, отображение расширений и скрытых файлов, изменение цветовой схемы оси
• Система автозапуска скриптов как до инициализации десктопа, так и после
• Дисковая утилита для смены имен, форматирования и установки загрузочных томов
• Настройки сети для передачи файлов по модемам в виде монтированных файловых систем
• Смена языка системы. Имеются английский, русский и французский
• Выбор часового пояса и настройка отображения времени: либо в виде реального таймштампа, либо в виде игрового
• Выбор архитектуры ЦП, выгрузка библиотек как в ручном, так и в автоматическом режиме

Ну, а заодно верхняя менюха универсализировалась для каждого приложения а-ля OS X - при переключении окон она индивидуально перестраивается под выбраное:

-
7
-
-
Проблема решена окольным путем через множество GET/POST-запросов. Если кто-то столкнется с апи гитхаба и аналогичной ситуацией, то вот мануал:
http://www.levibotelho.com/development/commit-a-file-with-the-github-api/
Единственный нюанс: в последнем пункте требуется использование метода PATCH, однако POST с задачей также прекрасно справился.
-
2
-
-
Если очень надо, можно сделать хак через сокет.Что ж, спасибо за инфу. Видимо, судьба тонко намекает, что оно не очень-то уж и надо хд
Либу опробовать, увы, не удалось из-за тонны зависимостей. Вручную качать сдохну, а Hel все лежит и лежит, дыа
-
Доброго времени суток. Захотелось написать клиент для работы с гитхабом через API, однако для заливки файлов на репозиторий требуется отправка PUT-запроса с соответствующим содержимым:

Вопрос: это вообще реализуемо через интернет-карту? Если тут имеются эксперты в области веб-запросов, то подскажите, как познать сию магию. Наиболее логичным мне показалось решение ниже, однако увы:local handle = require("component").internet.request( "https://api.github.com/repos/IgorTimofeev/Test/contents/Meow.cpp", '{"path":"meow.cpp","message":"lol","content":"aGVsbG8gd29ybGQ="}', { ["User-Agent"] = "Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0", ["Authorization"] = "Basic base64encoded login:pass pair", ["Content-Type"] = "application/application/json", } ) for i = 1, 30 do print(handle.read(math.huge)) end handle.close()В то же время через специализированный софт все прекрасно заливается:

И, разумеется, вариант с консольным curl также вполне себе рабочий:curl -ivX PUT -u login:pass -d '{"path": "meow.cpp", "message": "lol", "content": "aGVsbG8gd29ybGQ="}' https://api.github.com/repos/IgorTimofeev/Test/contents/meow.cpp{ "content": { "name": "meow.cpp", "path": "meow.cpp", "sha": "95d09f2b10159347eece71399a7e2e907ea3df4f", "size": 11, "url": "https://api.github.com/repos/IgorTimofeev/Test/contents/meow.cpp?ref=master", "html_url": "https://github.com/IgorTimofeev/Test/blob/master/meow.cpp", "git_url": "https://api.github.com/repos/IgorTimofeev/Test/git/blobs/95d09f2b10159347eece71399a7e2e907ea3df4f", "download_url": "https://raw.githubusercontent.com/IgorTimofeev/Test/master/meow.cpp", "type": "file", "_links": { "self": "https://api.github.com/repos/IgorTimofeev/Test/contents/meow.cpp?ref=master", "git": "https://api.github.com/repos/IgorTimofeev/Test/git/blobs/95d09f2b10159347eece71399a7e2e907ea3df4f", "html": "https://github.com/IgorTimofeev/Test/blob/master/meow.cpp" } }, "commit": { "sha": "38e198640380a061ec9357677fa275ed2a450202", "node_id": "MDY6Q29tbWl0MTQ3ODczMzQzOjM4ZTE5ODY0MDM4MGEwNjFlYzkzNTc2NzdmYTI3NWVkMmE0NTAyMDI=", "url": "https://api.github.com/repos/IgorTimofeev/Test/git/commits/38e198640380a061ec9357677fa275ed2a450202", "html_url": "https://github.com/IgorTimofeev/Test/commit/38e198640380a061ec9357677fa275ed2a450202", "author": { "name": "Igor", "email": "sosi@mail.ru", "date": "2018-09-07T22:37:07Z" }, "committer": { "name": "Igor", "email": "sosi@mail.ru", "date": "2018-09-07T22:37:07Z" }, "tree": { "sha": "86d1529b4193d66705cc2272715009166deb16b2", "url": "https://api.github.com/repos/IgorTimofeev/Test/git/trees/86d1529b4193d66705cc2272715009166deb16b2" }, "message": "lol", "parents": [ { "sha": "db4b95734315298cad0e733421051524b4e32fc1", "url": "https://api.github.com/repos/IgorTimofeev/Test/git/commits/db4b95734315298cad0e733421051524b4e32fc1", "html_url": "https://github.com/IgorTimofeev/Test/commit/db4b95734315298cad0e733421051524b4e32fc1" } ], "verification": { "verified": false, "reason": "unsigned", "signature": null, "payload": null } } }

Информация об устройстве
в Программы новичков
Опубликовано:
Если требуется получать время именно через интернет, то нет смысла поднимать собственный сервер, благо имеется тонна бесплатных API, мяу: