Doob
Гуру-
Публикации
1 089 -
Зарегистрирован
-
Посещение
-
Победитель дней
141
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя Doob
-
Без чанклоадера из OC не очень, потому-что я подключил к системе еще двух человек - когда меня нет у них не будет удаленного доступа. Обнаружился забавный факт - транспозер видит 36 слотов через биндер, я сначала забыл закрыть доступ к сторонам, где биндеры, в итоге инвентари объеденились и можно было брать предметы друг у друга. А в общем, очень круто, получился большой эндерчест с доступом для нескольких игроков.
- 8 ответов
-
- buildcraft
- tube
- (и ещё 3 )
-
Сделал интерфейс для очков, как по-мне это намного рациональней, чем связанная карта, которая жрет много энергии. pastebin get Aj8wvd1U /bin/s_tube.lua
- 8 ответов
-
- 2
-
-
- buildcraft
- tube
- (и ещё 3 )
-
Не, из транспозера в транспозер это тоже самое что и с сундуками-буферами, проблема в том, что нельзя настроить автоматическое направление предметов, т. е. не указать в какую сторону двигать ресурсы в хранилище и обратно, в этом трубы удобней. Но можно сделать длинную кишку из транспозеров и сундуков, а буферы определять по размеру контейнера (к примеру, использовать в качеств буферов какие-нибудь дропперы) Если эту кишку протянули с юга на север, то ставим на юге вывод, а на севере ввод, алгоритм распределения будет очень простой - с ввода по направлению на вывод перекидываются предметы и распихиваются по хранилищам. Ну, а с в выводом наоборот - загребаются из хранилищ и двигаются на юг.
- 23 ответа
-
- OpenComputers
- Автокрафт
-
(и ещё 2 )
Теги:
-
Я как-то тоже боролся с автокрафтом, все уперлось в скорость, потому-что робот с одним сундуком, без посторонней помощи не может крафтить абсолютно все, а с несколькими сундуками он будет медленно искать предметы. Чтобы ускорить работу без разделения рецептов на диапазоны, для кучи роботов, необходимо сделать автоматизированное хранилище, к которому робот будет иметь доступ. Сделал небольшой набросок: Бирюзовые сундуки это хранилища, красные - буферы, синий - ввод. Раз в несколько секунд компьютер должен проверять наличие во входном сундуке наличие предметов и распределять по хранилищу, обновляя базу данных. Робот, когда ему поступает задание на крафт, запрашивает предметы из хранилища и почти моментально крафтит предметы. Чтобы сделать такую систему хранилищ с транспозерами надо автоматизировать подключение новых ячеек. Я не смог сделать автоматическую биндилку, поэтому задавать направления переноса предметов, расположение буферов и хранилищ придется вручную, а это очень и очень нудное занятие. Можно было-бы сделать быстрое создание хранилищ при помощи адаптеров, они могут получать названия контейнеров, следовательно можно легко сделать автоматическую конфигурацию по типам хранилищ, но мне лень с этим возиться, да и вряд-ли это кому-то нужно. Для одного человека совершенный автокрафт не особо нужен, а большой толпой в майне никто не уживается, потому-что чем больше народу, тем больше шума и меньше порядка.
- 23 ответа
-
- 1
-
-
- OpenComputers
- Автокрафт
-
(и ещё 2 )
Теги:
-
Наниты ведь не роботы, так что все верно. Можно отключить урон в конфиге, а добавить невидимость.
-
Причем упорно лезут и лезут, некоторые регулярно приходят, раз в игровой час, постоят пару минут и уходят)))
-
Многие плачут по трубам, но у нас есть транспозер! Долго думал, зачем нужен этот скрипт. Хотел применить для того, чтобы закидывать себе в инвентарь предметы через Inventory Binder, когда я далеко от дома (например на рынке), но т. к. чанклоадеры нам не светят, смысла от этого нет. В общем, суть такова - имеется 4 функции, одна проверяет все контейнеры пристыкованные к транспозеру и заполняет таблицу предметов (в каком контейнере сколько и каких предметов лежит) Остальные работают с этой таблицей. tItems = { [item_label] = { -- таблица для предмета создается по его лейблу [side] = { -- информация о контейнере по определенную сторону [slot] = size,-- количество предметов в слоте [slot] = size, .... }, [6] = count -- дополнительный счетчик, указывающий сколько всего предметов данного типа } } Один контейнер считается буфером - из него забираются запрошенные предметы и раскладываются по хранилищам. (строка #3, сторону задавать через sides API) Функции: "обновить" - заполняет таблицу. "из буфера" - перемещает все предметы из буфера в хранилища "в буфер" - принимает лейбл предмета и количество, ищет указанные предметы и перемещает в буфер pastebin get gjRz1uB4 /bin/s_tube.lua Функцию main сделал на коленке, так что ногами не пинать. Хотел сделать нормальную GUIшку, но не дошли руки. В планах сделать скрипт последовательной биндилки активных транспозеров, чтобы создавать цепи из хранилищ и буферов (автоматическое расширение хранилищ) Думаю, может кому-то пригодится, хотя особого отличия от функции поиска через контроллер инвентаря нет, но никто про транспозер не говорит, только ноют, что труб нет.
- 8 ответов
-
- 6
-
-
- buildcraft
- tube
- (и ещё 3 )
-
На CC есть несколько таких прог, вроде-бы и на OC что-то было. Но с роботами это не рационально и возможностей у них мало.
-
Кто-то поставил это на входную дверь, постоянно вырубается, глючит, я посмотрел, не стал разбираться где ошибки - написал свою. В общем, мой простой скрипт превращает pim в нажимную плиту - если на нее наступает игрок из белого списка, она посылает сигнал редстоуна на поршневую дверь (обычные двери требуют механизма обновления блока), если на нее наступает любой другой игрок, она забирает его вещи. С другой стороны стоит обычная нажимная плита,, которая пропускает всех подряд. Конфиг простой: первая строка - белый список, вторая - направление на контейнер, третья - направление на обычную нажимную плиту, которая находится с внутренней стороны для redstone I/O У меня скрипт запускается в autorun.lua - os.execute('smart_pplate >> log') В одиночке это не так заметно, но на сервере, если ведется лог, то перенос лута идет дольше. Вообще, логгирование можно выкинуть, потому-что я его прикрутил просто, чтобы собирать статистику у кого какой лут.
-
Годнота, только еще надо бы сделать возможность лепить несколько веревок на один вход/выход, а то чтобы прикрутить какой-нибудь код после if надо либо делать дублирование кода до if, либо составлять бороду из if if if, чтобы сделать необязательный if P.S. формат для сохранения простой и понятный, такое можно сделать в OpenComputers
-
Ммм.. На харде? Лично мне они ничего не наносят, даже когда 4 эффекта активны.
-
Как пользоваться функцией scan? Итак, в этой функции можно задать два параметра, это относительные координаты по горизонтали (относительно блока геосканера/планшета или робота с геосканером), возвращаемое значение - таблица. Таблица содержит список плотностей блоков по вертикали. Чем дальше по вертикали находится блок (относительно геосканера), тем больше помех дает геосканер. Уровень помех можно настроить в конфиге мода. Ну тут вроде-как все понятно, разберемся с вертикальными координатами. При сканировании, геосканер возвращает таблицу, которая представляет собой столб из блоков. Кроме плотности ничего узнать нельзя. Возьмем, к примеру, scan(0, 0) это будет столб, выстой 64 блока, в котором находится устройство (геосканер/робот/планшет) В стандартнои конфиге радиус действия геосканера = 32 блока, следовательно можно просканировать кубоид 65x65x64 блока. Геосканер у нас находится на уровне 33 (индекс таблицы), на этом уровне при сканировании устройстрво почти не дает шумов, т. е. по горизонтали можно легко узнать истинную плотность блока. Индексы в таблице возрастают с высотой, т. е. блок с индексом 1 это -32 блок относительно устройства, 2 это -31 ... 33 это 0 и т. д. Теперь разберемся с горизонтальными координатами. Горизонтальные координаты хоть и относительные, но они не зависят от положения устройства в пространстве, т. е. отсчет идет по сторонам света. scan(1, 0) это столб на один блок на восток от устройства, следовательно, scan(-1, 0) - на запад. scan(0, 1) это южный столб, scan(0, -1) - северный. Для примера возьмем двойной цикл, который будет сканировать столбы и заносить их в таблицу. local tbl = {} for x = -32, 32 do for y = -32, 32 do if not tbl[x] then tbl[x] = {} end tbl[x][y] = geolyzer.scan(x, y) end end Он у нас будет сканировать с северо-запада на юго-восток, т. е. будет захватывать всю доступную зону. К примеру, нам надо сканировать определенный квадрат, стоящий по-диагонали от геосканера, обозначим их вот так: NE - северо-восточный, NW - северо-западный, SE - юго-восточный, SW - юго-западный. local function scan(d, r) -- направление, дальность if d == 'NE' then x1, x2, y1, y2 = 1, r, -r, -1 elseif d == 'NW' then x1, x2, y1, y2 = -r, -1, -r, -1 elseif d == 'SE' then x1, x2, y1, y2 = 1, r, 1, r elseif d == 'SW' then x1, x2, y1, y2 = -r, -1, 1, r end for x = x1, x2 do for y = y1, y2 do geolyzer.scan(x, y) -- тут должна быть фунция обработки или сохранения результатов сканирования end end end Чтобы просканировать квадрат со стороной 20 блоков, находящийся на юго-восток от геосканера надо запустить scan('SE', 20) Вроде-бы все очевидно. Функция analyze() намного проще, она возвращает таблицу с информацией о блоке, стоящем вплотную к устройству. Индексы таблицы не числовые, например, чтобы узнать плотность блока вводим analyze(сторона).hardness Чтобы задать сторону можно использовать sides API, либо просто задать цифрой. ...Будет дополняться...
-
Знаем мы вас, сначала все чинно, культурно, а потом... ОЛОЛОПЕВЕПЕ!11ГДЕМОЯНАНКА!! Лаго-проги! И прочая ересь. Чем больше рыл в одном привате, тем больше безобразия на сервере. А вот если-бы у каждого свой приват, но с общим залом, тогда еще более-менее. А то как в DF, кошка упала в лаву - погибла крепость.
-
Что-то долго сканит базовый тест. А, понял, это первый запуск глюканул. P.S. что-то много опечаток, почти каждаый цикл обрывается, проверь еще раз все команды.
- 17 ответов
-
- наниты
- наномашины
-
(и ещё 2 )
Теги:
-
Вот такие дела... Прежде чем куда-то тыкать, надо почитать, поискать, в одиночке проверить.
-
Я сам видел, как он умирал прям на кровати, незнаю что там с зарядником, но я не мог к нему подойти, чтобы вырубить их планшетом, так что... Наниты - детям не игрушка. А вообще, это похоже на глубокое читерстов и багоюз, только у двух человек был такой эпик, а у скольких есть наниты и они не жалуются?
-
Причем тут наниты и солярка, как они выключенные работают? Может ты возле зарядника возрождаешься?
-
Хм... стопэ... Я случайно не во время теста планшет на зарядку воткнул?))
-
Да, иридий у меня пока кончился, заменим компьютером или роботами, остальное пока так-же. NEO получил награду:
-
Запущен комп для тестов на рынке Фингера, координаты 650 66 472 (прямо перед входом) Тот, кто юзерадднит себя на этом комп получит: 10 иридя 10 алмазных блоков 10 изумрудных блоков 10 золотых блоков 10 железных блоков 10 медных блоков 10 оловянных блоков А так, можно творить с ним все, что вздумается (кроме написания лаго-прог)
-
Хм... Может быть урон был третьего уровня? Ни разу не видел, чтобы наниты давали несколько уровней одного эффекта.
- 17 ответов
-
- наниты
- наномашины
-
(и ещё 2 )
Теги:
-
Не моментально, моментальный урон убивает только через три удара, за это время один из эффектов отключается.
- 17 ответов
-
- наниты
- наномашины
-
(и ещё 2 )
Теги:
-
Добавлю от себя. Не обязательно убивать нанитов, если попался эффект урона, это не рационально, т. к. крафт у них дороговат. Просто возле зарядника должен быть комп (или несколько) с WiFi, который будет в цикле выключать все активные эффекты. Достаточно два раза подбежать к заряднику и наниты будут обезврежены ценой всего одной смерти. Копка, как и все остальные эффекты присутствует не только в комбо, но и в одиночных активных эффектах. Самый большой минус это шанс выпадения нескольких эффектов в один слот, к примеру копка и урон может выпасть в один слот и тогда нанитов придется вывести. Точно не помню, какие шансы выпадения нескольких эффектов в один слот, но если правильно помню, 4 эффекта выпадают с шансом 1/32 (вероятность, что в одной банке из 32 будет такой слот) С комбо-эффектами еще не игрался, но если там шанс выпадения пустых слотов такой-же, то вероятность получить любой эффект повышается где-то в 1.7 раз
- 17 ответов
-
- 1
-
-
- наниты
- наномашины
-
(и ещё 2 )
Теги:
