Лидеры
Популярный контент
Показан контент с высокой репутацией 23.03.2020 в Сообщения
-
1 баллКарта приватов для роботов. Добавил возможность роботам на нашем сервере в удобном виде получить все приваты. Новичку может это и не пригодится, так как новичок, как правило, копает чанк "змейкой" в своем привате, или рядышком, где и специальным "визуализатором приватов" (плагин) можно эти приваты и так глянуть. Их видно. "Упереться" роботом в чужой приват очень не велик шанс. А вот более опытным игрокам, которые любят "гонять" робота по всему миру в поисках урана или алмазов, эти данные, возможно и пригодятся. В общем, если у вас робот с персональным чанклодером, ультимейт-геолайзером, ультимейт-навигатором, с квантовой панелькой, с тессерактом АЕ, связанной платой... и прочее прочее, а программа работает так, что ваш робот не ковыряется в кубике земли 2 на 2 чанка, а "бороздит" автономно просторы сервера чанк за чанком биом за биомом и т.п., в поисках конкретного ресурса, то вы можете вашего робота сделать еще "умнее". Теперь ваш робот(или ПК) может в любой момент времени при наличии интернет платы получить карту приватов сервера и с легкостью их обходить, если вы, конечно, в своей программе реализуете эту проверку. Таблица имеет абсолютно все необходимые и достаточные данные о приватах сервера. Мини-пример программки, которая демонстрирует подключение к "карте приватов" сервера TechnoCraft: Для работы вам понадобится любая библиотечка для работы с JSON. Я использовал вот эту библиотечку. Сырые данные приватов в json: ссылка Если нужны какие-то др. данные, или хотите параметр передавать в php, например параметр мира для получения выборки: robot_rg.php?world=miner , пишите в комментариях. И да, если вы не видите овнера в регионе, не пугайтесь, это скорее всего админ приват, созданный при помощи /rg define <name_region> На сайте админ приваты не выводятся. Но для роботов это тоже "преграда". И еще раз, как памятку, оставлю здесь информацию о том, как добавить робота в приват(часто кто-то спрашивает на сервере об этом): /rg addmember имя_региона -n [OpenComputers] - ваши транспозеры работают с инвентарями в вашем регионе /rg addmember имя_региона -n ваш_ник.robot - ваши роботы копают в вашем привате и работают с инвентарями Пример: /rg addmember myhome -n bob99.robot - для игрока с ником bob99 для региона myhome Вроде так, если ничего не забыл. Поправьте, если что, в комментариях.
-
1 баллЗащита от бряка программы никуда не делась, просто она теперь не такая топорная, да и кликать по монитору можно без клавиатуры. Вот пара моделей переключателей. {label="ff1",emitRedstone=true,shapes={{7,5,14,9,11,15,texture="redstone_block",state=true},{6,6,15,10,10,16,texture="emerald_block",state=true},{6,6,15,10,10,16,texture="emerald_block"},{5,7,14,11,9,15,texture="lapis_block"}}} {label="ff2",emitRedstone=true,shapes={{6,6,13,9,9,15,texture="stone"},{5,7,14,6,8,15,texture="planks_oak"},{9,7,14,10,8,15,texture="planks_oak"},{4,7,14,5,13,15,texture="planks_oak"},{10,7,14,11,13,15,texture="planks_oak"},{5,12,14,10,13,15,texture="redstone_block"},{6,6,13,9,9,15,texture="stone",state=true},{5,7,14,6,8,15,texture="planks_oak",state=true},{9,7,14,10,8,15,texture="planks_oak",state=true},{4,2,14,5,8,15,texture="planks_oak",state=true},{10,2,14,11,8,15,texture="planks_oak",state=true},{5,2,14,10,3,15,texture="redstone_block",state=true}}} {label="ff3",emitRedstone=true,shapes={{7,6,14,9,8,16,texture="emerald_block"},{7,8,15,9,10,16,texture="redstone_block"},{6,5,15,10,6,16,texture="obsidian"},{6,6,15,7,10,16,texture="obsidian"},{9,6,15,10,10,16,texture="obsidian"},{6,10,15,10,11,16,texture="obsidian"},{7,6,15,9,8,16,texture="emerald_block",state=true},{7,8,14,9,10,16,texture="redstone_block",state=true},{6,5,15,10,6,16,texture="obsidian",state=true},{6,6,15,7,10,16,texture="obsidian",state=true},{9,6,15,10,10,16,texture="obsidian",state=true},{6,10,15,10,11,16,texture="obsidian",state=true}}} Библиотека такая себе, это больше редактор. Надо чтобы на одной страничке рендерились превьюшки и небольшое описание. Хотя и то будет лишним, любую модельку можно за несколько минут слепить и распечатать самостоятельно.
-
1 баллv3.0.0-alpha.2 Добавлено: Возможность настроить отображение робота на плече (опция «pet_renderer»). Добавлено: Улучшение «Тесла». Добавлено: Сканер роботов. Исправлено: Несколько багов в мировом интерфейсе. Исправлено: Отсутствие звука при повороте солнечной панели НЕСОВМЕСТИМЫЕ ИЗМЕНЕНИЯ: id-блоков (в последний раз). Скачать: OMA-1.7.10-3.0.0-alpha.2.jar
-
1 баллПосле обновы OC 1.6 расширился функционал геосканера. Теперь, помимо обычного сканирования вертикальных столбов появилась возможность сканировать произвольный кубоид, содержащий не более 64х блоков (т. к. функция в любом случае возвращает таблицу из 64х элементов) scan(x, z[, y, w, d, h][, игнорировать_замещаемые]) Если задать только x, z, то геосканер будет работать в обычном режиме. А при добавлении y, необходимо указать ширину, длину и высоту кубоида, соответственно: w, d, h. Т. е. первые три значения это стартовые координаты, откуда начинать сканирование, а дальше его размеры. Четвертое значение это указатель, приравнивать ли замещаемые блоки (трава, саженцы и т. д.) к воздуху. Возвращаемые значения приходят в не очень удобном формате. Чтобы отобразить отсканированный объем в одномерной таблице, сканирование происходит в виде трех циклов, один в другом: for x(for z(for y())) Т. е. сначала идет заполнение по x, потом по z, потом по y. (Запад->Восток, Север->Юг, Низ->Верх) К примеру, надо просканировать куб x2, где какой блок будет отображен в таблице? Зададим область сканирования: scan(0, 0, 0, 2, 2, 2) - точкой старта будет блок геосканера, точка финиша в относительных координатах 1, 1, 1 Сначала у нас идет x, следовательно, первый элемент таблицы - плотность самого геосканера (0, 0, 0), второй элемент - блок на восток от сканера (1, 0, 0). Далее у нас идет второй блок по z, следовательно это южный блок (0, 1, 0), затем - юго-восток (1, 1, 0). Второй блок по оси y - (0, 0, 1) и т. д. Следовательно, таблица у нас будет выглядеть так: [1] = 0, 0, 0 [2] = 1, 0, 0 [3] = 0, 1, 0 [4] = 1, 1, 0 [5] = 0, 0, 1 [6] = 1, 0, 1 [7] = 0, 1, 1 [8] = 1, 1, 1 Остальные элементы можно отбросить, т. к. это шум. В голове это держать может быть неудобно. Поэтому, напишем функцию, через которую можно будет задать кубоид и координаты блока, а она выдаст позицию в таблице, где указана плотность этого блока. local function tblpos(x, z, y, w, d, h, tx, tz, ty) -- первые 6 значений это то, что мы задаем геосканеру, tx, ty, tz = координаты искомго блока local p = 1 -- создаем счетчик local xmax, zmax, ymax = x + w - 1, z + d - 1, y + h - 1 -- преобразуем размеры кубоида в финишные координаты for y1 = y, ymax do for z1 = z, zmax do for x1 = x, xmax do if x1 == tx and z1 == tz and y1 == ty then -- если счетчик допрыгал до искомых координат return p -- возвращаем позицию end p = p + 1 end end end end Например, зададим тот же кубоид и узнаем позицию блока, с координатами 1, 1, 1 pos = tblpos(0, 0, 0, 2, 2, 2, 1, 1, 1) pos станет равно 8 Чтобы проверить плотность этого блока, обратимся к таблице print(geolyzer.scan(0, 0, 0, 2, 2, 2)[pos]) Либо, более наглядно - print(geolyzer.scan(0, 0, 0, 2, 2, 2)[tblpos(0, 0, 0, 2, 2, 2, 1, 1, 1)]) Но, городить целую функцию для проверки блока это бред, эту функцию надо применять для обработки полученной таблицы, т. к. при каждом сканировании происходит задержка, лучше сканировать больший объем и затем, обрабатывать, используя такую функцию. Чтобы узнать плотность блока в определенных координатах, достаточно сделать так: scan(x, z, y, 1, 1, 1)[1] Т. е. задаем координаты блока, указываем размер кубоида 1x1x1 блок и сразу обращаемся к первому элементу таблицы. Стоит помнить, что при одном сканировании доступно только 64 блока, т. е. можно просканировать куб x4, либо квадрат x8, думаю, это понятно. Вот примеры: scan(-32, -32, -32, 4, 4, 4) scan(5, 5, 5, 1, 8, 8) scan(-32, 0, 0, 64, 1, 1)
Эта таблица лидеров рассчитана в Москва/GMT+03:00
