Totoro
-
Публикации
1 950 -
Зарегистрирован
-
Посещение
-
Победитель дней
289
Сообщения, опубликованные пользователем Totoro
-
-
Может возродить Opennet?А кодеров и сисадминов найдем!!!
:smile25: 
Вопрос на самом деле стоит по другому: "Может найдём кодеров? А возродить OpenNet сисадминами уже не проблема." :P
-
4
-
-
Можно в общем-то и в два-три уровня. Чтобы роботы разъехаться могли.
Но тут надо иметь ввиду, что одноэтажная карта - это по сути 2D геймплей. А ещё пара уровней уже сделают бой пространственным.
-
1
-
-
Вообще я согласен с первым постом Кверти.
Дезматч должен быть активным и зрелищным. Бомбы должны взрываться и разбивать роботов. Лазеры - их сбивать.
Может сделать два вида оружия? Лазерная винтовка и бомбы.
Изначально у роботов есть допустим одна бомба. Остальное надо подбирать посреди боя в появляющихся сундуках. Как в настоящем шутере. =)
Разные виды оружия позволят разнообразить тактику.
Периметр полигона можно сделать неразрушимым, а в его пределах пусть хоть всё поразносят.
Условие победы - у кого останется больше боеспособных роботов к концу матча.
Проверить легко - после гонга посылаем от сервера запрос - "кто жив?" и собираем адреса сетевух которые ответили. А в тексте сообщений должно быть название команды.
Также, можно вместе с синхронизацией такое сообщение посылать, периодически. Чтобы задетектить бой, который кончился быстрее раунда.
Все. Схитрить не получится, ну только если подыграть сопернику. =)
-
2
-
-
А что ему должно помешать? Скрипту, если он использует голые компоненты, должно быть безразлично, загружена OpenOS или нет.
Забавно, но ты прав.
Я провёл эксперимент на обычном компьютере:
local gpu = component.proxy(component.list("gpu")()) local screen = component.list("screen")() local eeprom = component.proxy(component.list("eeprom")()) gpu.bind(screen) gpu.set(1,1, '.') local code = eeprom.get() local dots = "'" .. string.match(code, "'(%.+)'") .. ".'" local code = string.gsub(code, "'(%.+)'", dots) eeprom.set(code) computer.shutdown(true)Если прошить чип этим кодом, вставить в компьютер и включить, то на экране отобразится точка.
Потом компьютер ребутнется и покажет две точки.
Потом ребутнется и покажет три точки.
И т.п.

-
К слову, есть подозрение, что перепрошить самого себя EEPROM не умеет.
-
Прочитав теги, я боюсь даже представить, зачем тебе мог понадобиться дистанционно управляемый дрон.
-
2
-
-
Заказ поиска по форуму? Оригинально. Кто-то выводит свою лень на новые горизонты.

-
4
-
-
Вот то что оно эксепшнами спамит - это нехорошо. Уже какой-то говнокод там у автора мода.
-
хмм, толково сделали, удобно, не знал. Ну а по поводу выжирания памяти, то куда ж оно денется. Любая расшифровка адреса и поиск врат на определенных координатах требует, судя по всему, какой-то подгрузки чанка(мира)
По идее, компонент написан на уровне мода. А мод должен без подгрузки чанков знать, где у него и сколько миров по каким адресам.
Хз как на самом деле оно там сделано.
-
Если не хочется городить таймер, можно использовать computer.beep() - предел 5 секунд. Поэтому, если надо дольше, то все-равно придется делать цикл.
Слип который я показал выше - это практически каноничная его реализация.
Каждый раз когда вы пишете os.sleep(x) вызывается очень похожая функция.
-
Небольшой гайд, который показывает вариант практического применения библиотеки:
-
3
-
-
Очень интересно. Работа в EEPROM также неочевидна и интересна. Например мне категорически не удалось в EEPROM получить заряд батарей робота. И аналог os.sleep() не придумался.
local gpu = component.proxy(component.list("gpu")()) local screen = component.list("screen")() function sleep(timeout) local deadline = computer.uptime() + (timeout or 0) repeat computer.pullSignal(deadline - computer.uptime()) until computer.uptime() >= deadline end gpu.bind(screen) gpu.setForeground(0xFFFFFF) gpu.setBackground(0x000000) while true do gpu.set(1, 1, tostring(computer.energy())) sleep(10) end -
Образцовый гайд это хорошо, да.
Особенно когда можно взглянуть на разработку через плечо, и наметить правильный путь, вместо той изивилистой тропинки через все овраги и грабли, по которой шёл сам.
=)
-
ну ОК, принцип "а ты кто такой чтоб что-то просить" я понял. Учту.
А мне вот кажется Алекс предельно ясно описал причины запрета.
-
1
-
-
Мне кажется что ты взял принципы работы которые я высказал на сервере в чате. Больно уже похожи.
А ты их копирайтом подписать ведь не забыл, когда в чат писал?
-
1
-
-
Думаю тут надо больше деталей.
Вряд ли ты найдёшь какой-нибудь ещё способ обработки событий, поэтому задачу надо решать теми средствами, что есть.
-
А что ты ищешь? Какую задачу решаешь?
-
Ещё можно винить робота.
"Пойдём - поплаваем!", - говорил он.
"Будет весело!" - говорил он.
-
она загружается после загрузки package. к тому же MultiROM на андроид так же запускается после ядра.
Ну, когда мы говорим про мультибут в OpenComputers, то имеем ввиду загрузку разных ОС.
OpenOS - это уже не ядро всё таки. Ядро типа и так всегда загружено. =)
-
Не проще повысить время у ценных вещей, типо Алмазов до 3м допустим, а у булыги камня и прочего так же оставить по минуте ?
У меня есть подозрение, что там нет настолько детализированного конфига. Скорее всего есть одна константа Типа:
когда_все_предметы_протухнут: 2 сек
-
монтирование отдельных файловых систем в R/O, так же будет возможно сделать multiboot с одного raid. применений множество, надо их лишь найти.
Да, но ты писал её для какой-то своей программы? Для чего использовал?
Для того, чтобы использовать в мультибуте, надо чтобы библиотека загружалась до операционной системы, я так понимаю. Но она зависит от библиотек filesystem, component и computer. То есть должна грузиться после OpenOS.
Защитит ли эта библиотека смонтированную в R/O папку от постороннего вмешательства? Когда папку пытаются изменить не через выданный библиотекой прокси, а извне?
-
print("У ВАС ЕСТЬ 15 СЕКУНД ЧТОБЫ, ВСТАВИТЬ ПУСТОЙ EEPROM. ЕСЛИ ВЫ НЕ СОГЛАСНЫ: НАЖМИТЕ CTRL+ALT+C ЧТОБЫ ЗАВЕРШИТЬ ПРОГРАММУ УСТАНОВКИ!")Я не согласен.
Хоть это и выглядит прикольно, на практике удобнее сделать тут запрос типа [Y/n].
-
А можно какие-нибудь примеры того, как эта либа может пригодиться в повседневной жизни?

(Я не говорю, что она не нужна. Мне действительно интересно.)
-
1
-
-
Надо подумать будет. Может и мультяшного чего-нарисую.
Но это сложнее рисовать. Это уже не абстракция и не театр теней.

-
1
-

Репозиторий программ Hel
в За пределами Minecraft
Опубликовано:
Тем временем репозиторий потихоньку подбирается к релизу.
Пофикшена куча багов, и добавлено много плюшек. Сделаю подробный чейндж-лист к релизу.
А пока - самое наверное заметное нововведение за последнее время: мы добавили локализацию репы.
Теперь, если у вас есть зарегистрированный аккаунт вы можете зайти в профиль и переключить язык на русский
(или на английский обратно).
После этого все надписи во всех интерфейсах поменяются на русские (или английские). Но это ещё не все!
Теперь стали доступны специальные языковые теги, которые можно использовать в любом поле с описанием
(подпись к скрину, или описание пакета, или список изменений версии).
Выглядит это так (на примере краткого описания к голографическому редактору):
Если в список пакетов зайдёт пользователь, у которого в настройках включена английская локаль - он увидит только первую строку.
Если пользователь с русской локалью - только вторую строку.
Работает это так: весь текст после такого тега становится видимым только тем пользователям, у которых включена указанная локаль.
Весь текст после тега <--> будет виден всем (с любой локалью). С такого тега неявно начинаются все описания.
Проверить как это работает вы можете на двух моих пакетах (остальные пока не локализованы).
https://hel.fomalhaut.me/#packages/holo
https://hel.fomalhaut.me/#packages/toremi
Попробуйте позаходить на эти странички и попереключать язык в профиле.
Вот в общем и всё. Локализация ещё сыровата. Если попадётся какой-то глюк - смело пишите сюда (или в личку, IRC, issues на Github).
Сейчас параметр выбранного языка сейвится в local storage, поэтому в каждом браузере у вас может быть выбран свой язык.