Перейти к содержимому
Asior

Обзор аддона OpenTechnology

Рекомендуемые сообщения

Привет всем механикам-технологам, и просто мимопроходящим.
В этой небольшой статье я расскажу вам обо всех возможностях такого замечательного мода OpenTechnology.
OpenTechnology является аддоном к всеми любимому моду OpenComputers.
Автор мода известен как NEO. Тут Ссылка вы можете ознакомиться с его блогом, где он выкладывал обновления своего мода, делился мыслями и т.д.

Данный аддон добавляет в игру некоторые новые структуры, предметы и блоки, которые сделают вашу игру более комфортной и расширят возможности роботов. Заранее предупреждаю, дистанция, сила атаки и расход энергии могут быть изменены в конфигурации мода. В этом обзоре я использую базовые настройки, которые идут с модом.
 
Итак, коль упомянул роботов, начнем пожалуй с них. Довольно часто роботы сбегают от игроков и потом начинаются мученические поиски беглеца. Но OpenTechnology может вам помочь в поисках беглецов при помощи "Сканера роботов" :/. Он сканирует пространство радиусом в 40 метров и выводит в чат координаты беглеца.

e58f266c776128e4e20c8965bfac0740.png

Выглядит это чудо продвинутых технологий, как собственно сканер, экран, маленькая клавиатура и полоса уровня заряда. Заряжается он в любом энергохранилище, если такового нету, можно затолкать в зарядник и он там зарядится.

Тесла Апгрейд - оружие массового поражение для робота. Наносит сильный электрический разряд (10 урона) всем мобам окружающих робота в радиусе 10 метров. Урон распределяется равномерно между всеми мобами. После каждого разряда катушка уходит в долгий цикл перезарядки. Будьте бдительны, расход энергии на вспышку очень высок.

d2cd7bba4614ecc3c39c8e933d02810e.png


Технический уровень апгрейда Т3.
Поддерживает следующие методы:
tesla --название апгрейда
attack() --атакует всех сущностей равномерно распределяя между ними урон. После вспышки перегревается
checkOverHeated() --возвращает состояние катушки перегрелась или нет
getMaxRadius() --возвращает максимальный радиус атаки.
getDamage() --возвращает силу урона. Он распределяется равномерно, пример: допустим наш урон 20, 
--если при атаке в зоне поражения находяться 5 сущностей, каждый получит 4 урона.
getCoolingTicks()--возращает количество тиков требуемое для охлаждения катушки. 

 
Радар Апгрейд и Антенна радара :/ - приборы позволяющие узнать точное местоположение мобов, игроков, лежащих на земле предметов в радиусе 15 метров. Интересен тем, что возвращает много точной информации о каждом, кто попал в зону сканирования. Но расход энергии к сожалению нереально велик. Устанавливаются как на робота, так и как внешнее оборудование для компьютера.

214611991a7e1240699aeb3b02fd827c.png

Технический уровень апгрейда Т1.
Радар поддерживает следующие методы:
radar --название апгрейда
getPlayers() --возвращает таблицу со списком игроков что попали в зону скана. 
--Радиус сканирования можно задать, без значений сканирует на максимальную дистанцию
getMobs() --возвращает таблицу со списком мобов, что попали в зону скана
getItems() --возвращает таблицу со списком предметов которые лежат на земле, что попали в зону скана
getEntities() -- полное сканирование. Возвращает таблицу всех существ (предметы тоже)
содержимое таблицы:
{{armor = <уровень брони>, distance = <дистанция от сканера до существа>, 
health = <уровень здоровья>, maxhealth = <максимальный уровень здоровья>, 
name = <имя существа>, x = <координата по x>,y = <координата по y>,z = <координата по z>}...n = <количество существ>}

 
Реактор Апгрейд - генерирует энергию за счет распада урановых стержней. Принцип работы тот же, что и у базового улучшения "Генератор", только в виде топлива используются одинарные урановые стержни. Зато энергии вырабатывает нереально много и довольно продолжительное время. Затолкать сдвоенные и счетверенные урановые стержни не представляется пока возможности, похоже размеры реактора не позволяют разместить их в нем.

6d83fe6cc8e9e489fdeb59505fe57ae0.png

Технический уровень апгрейда Т3.
Реактор поддерживает следующие методы:
reactor --название апгрейда
activate() --запустить реактор
deactivate() --заглушить реактор
insert() --переместить из активного слота стержень в реактор
count() --возвращает остаток времени работы уранового стержня. В тиках.

 
На этом улучшения для роботов заканчиваются, но вот предметы мода еще нет.
 
Контроллер АДД, Часть Антенны, Ячейка Антенны - это фрагменты огроменной вышки, которая позволяет передавать данные на огромное расстояние (2 км). Антенну строить довольно дорого, но если вы желаете дистанционно управлять роботами на большом расстоянии, это выбор для вас. К сожалению расход энергии на передачу данных довольно большой, а так-же невозможно открыть несколько каналов, но дистанцию можно еще сильнее увеличить, если задрать антенну еще выше. Для её постройки требуется соорудить следующую структуру:
1 блок Контроллера АДД, 14 блоков Частей Антенны, 1 блок Ячейки Антенны

1f05c57d395528f9fbe80502d08dfbac.png

lde --название антенны
События:
ld_message --Агрументы - адрес отправителя, дистанция, сообщение :/
Антенна поддерживает следующие методы:
getMaxDistance() --Возвращает максимальную дистанцию передачи данных
getDistance() --Возвращает установленное расстояние отправки данных
getRealDistance() --Возвращает реальное расстояние отправки  данных. Оно рассчитывается так: Установленное Расстояние * (LDAControllerY + 16) / 256. Чем выше антенна - тем больше приближение к установленному расстоянию передачи
getChannel() --Возвращает текущий канал передачи
open(channel:int) --Открывает канал, очень долго, поэтому лучше не переключать часто
setDistance(distance:int) --Устанавливает максимальное расстояние для передачи
maxPacketSize() --Возвращает максимальный размер пакета
broadcast(data:string) --Рассылает сообщение по каналу, услышат сообщение все кто к нему подключен :/
send(address:string, data:string) --Отправляет сообщение конкретному адресату. Оба должны работать на одном канале :/

 
Мировой интерфейс - креативный блок, который позволяет получать полную информацию по игроку, его показатели жизни, текущее местоположение, содержимое инвентаря и прочее. Фактически это урезанный командный блок, который помогает всячески отслеживать информацию по игрокам.

da4b5f2ae840142f6c3b44f70bdc12ef.png

Поддерживает следующие методы:
world_interface --название компонента
getOnlinePlayers() --выводит таблицу со списком игроков онланй
getSpawnLocation(<Имя игрока>, <номер мира>) --выводит координаты точки воскрешения указанного игрока в указанном мире
getActiveEffects(<Имя игрока>) --выводит таблицу наложенных на игрока эффектов, а также продолжительность действия и его цифровой код (Id)
getPlayerHealth(<Имя игрока>) --выводит уровень текущего и максимального здоровья игрока
getPlayerFoodStats(<Имя игрока>) --выводит показания запасов еды. Если используется какой-то мод, который добавляет сытости, то его параметры тоже выводятся в отдельную переменную
getPlayerPosition(<Имя игрока>) --выводит поцицию игрока относительно глобальных координат в виде x,y,z,n где n-номер мира.
getStackInSlot(<Имя игрока>, <номер ячейки инвентаря>) --выводит информацию по предмету что лежит в указанной ячейке инвентаря игрока
destroyStackInSlot(<Имя игрока>, <номер ячейки инвентаря>) --уничтожает предмет находящийся в указанном слоте инвентаря игрока
isFlying(<Имя игрока>) --проверяет летит игрок или нет. Возвращает true если летит или false иначе
kill(<Имя игрока>) --убивает игрока :/
heal(<Имя игрока>, <ед исцеления>) --моментально вылечивает игрока на указанное количество единиц
kick(<Имя игрока>, <Причина>) --отключает игрока от сервера по указанной причине

 
Контроллер мощности - прибор предназначенный для прераспределения энергии между энергобуферами или проводами. Внешне выглядит как энергобуфер, имеет 5 сторон приема энергии и 1 сторону для вывода её. Имеет внутренний интерфейс в виде двух полос с энергией и цифровым обозначением. Принцип действия: принимает в первый буфер любое количество энергии, затем при помощи компьютера перемещает указанную часть энергии во второй буфер и благополучно выводит её из себя через порт вывода. Фактически это управляемый компьютером трансформатор. Взаимодействует только с модом IC2. Имеет довольно интересную особенность, энергия из выходного буфера перетекает в энергобуфер моментально, несмотря на все ограничения по уровням пропуска энергии, тоесть 1000 eu/t перемещается в базовый деревянный энергобуфер не со скоростью 32 eu/t, а моментально, как ни странно, но взрыва не следует.

ce4a9617157c16ca41e1b8bd7024cac6.png

Поддерживает следующие методы:
energy_controller --название компонента
getInputBufferCapacity() --возвращает текущий уровень энергии входного буфера
getOutputBufferCapacity  --возвращает вместимость входного буфера
getEnergyInputBuffer() --возвращает текущий уровень энергии выходного буфера
getEnergyOutputBuffer  --возвращает вместимость выходного буфера
transform(<количество единиц энергии>) --перемещает указанное количество энергии из первого буфера во второй.

 
Pid :/ - нажимная плита для взаимодействия компьютера с инвентарем игрока. Для взаимодейсвия с ней, надо встать на неё.

cfbd2d97b499e50ac2e33347472dbd22.png

Поддерживает следующие методы:
pid --название компонента
pullStackInSlot(<сторона где сундук>, <номер слота из инвентаря игрока>, <номер слота сундука>, <количество перемещаемых предметов>) --перемещает предмет из инвентаря игрока в сундук :/
pushStackInSlot(<сторона где сундук>, <<номер слота сундука>, <номер слота из инвентаря игрока>, <количество перемещаемых предметов>) --перемещает предмет из сундука в инвентарь игрока :/
getStackInSlot(<номер слота из инвентаря игрока>) --возвращает таблицу с информацией о содержимом слота из инвентаря игрока

 
Связыватель инвентаря :/ - прибор который связывает инвентарь игрока с компьютером, то есть через него можно программно работать с инвентарем активировавшего его игрока. Работает независимо от местоположения игрока. Удобная штука для быстрой замены комплекта инструментов или например для быстрого очищения инвентаря от всякого хлама.

ec44dd36ce8e8aac782916834378df2e.png

Поддерживает следующие методы:
pib --название компонента
getTargetName() --возвращает ник привязанного игрока
isConnected() --возвращает true/false если игрок доступен для работы, короче онлайн
checkBinding() --проверяет привязку к игроку. Возвращает true/false
pullStackInSlot(<сторона где сундук>, <номер слота из инвентаря игрока>, <номер слота сундука>, <количество перемещаемых предметов>) --перемещает предмет из инвентаря игрока в сундук :/
pushStackInSlot(<сторона где сундук>, <<номер слота сундука>, <номер слота из инвентаря игрока>, <количество перемещаемых предметов>) --перемещает предмет из сундука в инвентарь игрока :/
getStackInSlot(<номер слота из инвентаря игрока>) --возвращает таблицу с информацией о содержимом слота из инвентаря игрока :/

 
Чатбокс - прибор позволяющий отправлять и получать сообщения из игрового чата. Имеет ограничение по радиусу действия и не может отправлять личные сообщения.

8736fe3372acf85f26ac25cdb588f1c3.png

chatbox --название компонента
События:
chat_message --Агрументы - адрес чатбокса, Ник игрока, сообщение
chat_command --Возращает данные те же что chat_message. Однако вызывается только в том случае, если первый символ в сообщении был #. Кроме того, такие сообщения не видны в чате (только в чатбоксах).
Поддерживает следующие методы:
getRadius() --возвращает установленный радиус передачи сообщения
getMaxRadius() --возвращает максимальный радиус передачи сообщения
setRadius(<дистанция>) --устанавливает радиус в котором будут видны сообщения
say(<Текст>) --выводит в чат сообщение

 
Креативный чатбокс - креативный прибор позволяющий отправлять и получать сообщения из игрового чата. Не имеет ограничения по радиусу действия, умеет отправлять личные сообщения.

ab761fcadf1f024055b453269981439a.png

admin_chatbox --название компонента
События:
chat_message --Аргументы: адрес компонента, id измерения, playerPosX, playerPosY, playerPosZ, дистанция до игрока, имя игрока, сообщение.
chat_command --Возращает данные те же что chat_message. Однако вызывается только в том случае, если первый символ в сообщении был #. Кроме того, такие сообщения не видны в чате (только в чатбоксах).
Поддерживает следующие методы:
say(message: string) --Отправляет всем игрокам сообщение message.
tell(name: string, message: string) --Отправляет сообщение message игроку с ником name.

 
Есть еще парочка блоков, но увы они отключены внутри мода, поэтому посмотреть на них не удастся. Кому интересно, это телепорт - который умеет отправлять не только существ, но и блоки(тех же роботов), большой конденсатор - просто батарейка с запредельной емкостью, она используется как накопитель энергии для телепорта.
На момент написания статьи мод имеет версию OpenTechnology-0.6.17.
Не все описанные блоки работают, не буду перечислять все проблемы этого мода, просто на каждой неработающей детали или функции поставлю знак ":/", надеюсь автор мода прочитает эту статью и постарается починить все, что неработает.
Собственно программируйте, разрабатывайте новые интересные схемы и думаю мод OpenComputers вместе с аддоном OpenTechnology вам в этом очень помогут.
А с вами был Asior и до скорых встреч на проекте Computercraft.ru

Изменено пользователем Asior

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я думал про OT давно забыли  :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не забыли. Починить бы его не мешало, а то из всего комплекта аддона работают только 5 компонентов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не забыли. Починить бы его не мешало, а то из всего комплекта аддона работают только 5 компонентов.

если бы, когда-нибудь бы, сделал бы баг лист....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я думал про OT давно забыли  :D

А я всё ещё жду порт на версию 1.12.2, а ты говоришь забыли.

Крутые механики же добавляет. Одна антенна чего стоит. Но увы мод на устаревшей версии майна.

А знаешь что ещё необходимо жизненно? Нормальный радар и здесь видимо он есть. Просто я не знаю под что писать работу турели. Те радары что были в других модах были слабыми. Нативный радар от opensecurity говно. А ещё у него при каждом скане звук издаётся, что делает его ещё и бесящей, паливной жужжалкой, вместо того что задумывалось - скрытой атаки когда турель выглядывает из-за блока, стреляет и потом обратно прячется

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
 А знаешь что ещё необходимо жизненно? Нормальный радар и здесь видимо он есть. Просто я не знаю под что писать работу турели. Те радары что были в других модах были слабыми. Нативный радар от opensecurity говно. А ещё у него при каждом скане звук издаётся, что делает его ещё и бесящей, паливной жужжалкой

OT и задумывался, как мощная альтернатива и дополнение компутрониксу, секурити и пр. В этих модах чатбоксы, радары и пр. были очень лоуфункциональными, особенно в былые времена, да и сейчас наверно. Не было экранирования, приват чат-сообщений и т.д. Были только какие-то кассеты и музыкальные трынделки и свистелки, а для полноценной масштабной игры в роботов и ОС этого не достаточно, для роботов почти не добавлялось никаких фич.

 

Но так как  Neo мод делал исключительно по настроению и неохотно, а идеи для мода, хотелки и тестирования выполнял практически только я, и при том еще все это происходит под огромным прессингом и хейтерными отзывами некоторых  форумчан нашего форума(были времена), то мод находится в сыром полусонном состоянии, по сути он немного заброшен.

 

В начале пути у мода был огромный потенциал, но хейтеры всякие убили полностью какое-либо желание ним заниматься у тех людей, которые к нему хоть как-то были причастны. Да и фидбэка не было особо, можно сказать даже, что его почти вовсе не было. Neo никто не то что материально не поможет, а и доброго слова не дождешься, я уже молчу про проддержку позитивную, отзывы, предложения, баг репорты, идеи, тестирование и т.п. Много очень негативных людей, и кол-во их негатива просто затмевает наглухо искры творчества и позитива других людей. Я думаю, ты сам знаешь, как это работать в таких условиях=) Поэтому, скорее всего, особо не надейся на бурное развитие мода, разве что, возможно, только в том случае, если вдруг все люди начнут уважать чужой труд и станут позитивнее :)

 

Огромное спасибо игроку Asior, что написал подробный гайд по моду и поднял тему этого  мода и хоть какой-то интерес к нему. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Был бы спрос - было бы предложение...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Был бы спрос - было бы предложение...

 

Кажется Asior и qwertyMan как раз и выразили вышеозначенный "спрос".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Был бы спрос - было бы предложение...

Ну я просто собирал для себя локальную сборочку и собственно решил разобраться, что это за такой аддон и с чем его есть. Разобрался, попутно гайд написал, долго и витиевато ругался на разработчика, который не доделал множество интересностей и как итог:

В моде 14 разных предмета, из них работают в одиночке только 6.

Как на мой выбор оно тогда того не стоит, так-что пока автор не починит аддон, ему увы не место в моей сборке. Благо для моих потребностей хватит апгрейдов с других модов.

Про спрос и предложение - рекламируй, давай обзоры на ютубе, выложи на популярные сайты которые предлагают множество модов для майна, и наконец-то почини баги. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Kartze

рекламируй, давай обзоры на ютубе, выложи на популярные сайты которые предлагают множество модов для майна, и наконец-то почини баги.

...или, @NEO, напиши @ECS, ему может пригодиться мод для... эм, тут о таких вещах правила запрещают говорить с:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кажется Asior и qwertyMan как раз и выразили вышеозначенный "спрос".

 

Имелось, видимо, ввиду, что "спрос" озвучен только несколько дней назад. А мод существует уже наверное несколько лет. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Был бы спрос - было бы предложение...

Планируешь переводить свой мод на версии 1.10.2 и 1.12.2?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Планируешь переводить свой мод на версии 1.10.2 и 1.12.2?

А надо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...