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

Fingercomp's Playground

  • записи
    93
  • комментария
    373
  • просмотра
    222 473

[OC] [Tutorial] Туториал по наноботам!

Fingercomp

10 006 просмотров

С недавним (1.5.18) релизом OpenComputers появилась такая хрень — наноботы. Посмотрев ролик от автора мода (он будет внизу статьи), было ясно, что запутался или я, или автор. Скорее всего первое. Потому решил отложить их на потом.

 

И вот, пришло то время. По-быстрому забежав на тестовый сервачок и поигравшись с ними, понял, насколько чудовищно... КРУТЫ эти мелкие штуки. Почему? А сейчас узнаем.

 



I. Тварелогия.

Вообще, я немного наврал со словом "сейчас". Обосновывать будем по ходу развития сюжета, а в конце (нет, в середине!) сделаем вывод.
Итак, вот вам выдержка из статьи по нанороботиксам.
Нанороботы, наноботы, наномашины, наноиды, наниты, наномиты и иже с ими (будем использовать несколько обозначений в этом гайде) — это такие мелкие штуки, которые попадают в организм кубического человека и жрать, мозги, хлам! помогают ему обрести новые способности.

 


II. Приборы и девайсы.

Значит так, в процессе эксперемента нам нужно: желание умереть, мозги, больше мозгов, невероятное желание подохнуть, планшет, наноботы, грог (?!).

 


III. Ход эксперимента. Физ. часть.

Итак, вы подготовили всё, что нужно. Давайте приступать.
Я не указал, но возьмите ведро молока. Если, конечно, вы хотите избавиться от...
В общем, съешьте нанитов. А теперь выпейте молока. После столь болезненной операции (что? Болезненной? Мы ж серьёзные люди — и кубизм явно то показывает. Не смешите) просто встаньте рядом с активной зарядкой.
Ну, в общем, вот такая панорама (точней — её кусок) должна получиться.


ZdZhPls.png
Здесь я, чарджер и плюсики летающие. А ещё демонстрация интерфейса.


Как видно, слева от хотбара расположилась батарейка, которая показывает текущее состояние батареи в наните.

 


Вообще, можно кушать более одного набора машинок нанометрических, вот только это ничего путного не даст — только сменит конфигурацию.
К слову, чтобы вывести наномашинок — выпейте грог ;) :D

 

Собственно, на этом вся физическая часть закончена. Далее будем управлять через планшет.

 


IV. Ход эксперемента. Информационная часть.

Всё управление происходит через беспроводную сеть, так что планшет нужен с беспроводной сетевой картой.
"Протокол" общения с наномитами предельно прост. Используется функция modem.broadcast(). При этом наниты слушают эфир на всех частотах по умолчанию. Первым куском данных ВСЕГДА является строка "nanomachines". Команда уже такая: modem.broadcast(1337, "nanomachines"). Затем идёт сама функция и аргументами, так же отделёнными частями пакета. Итого: modem.broadcast(1337, "nanomachines", "команда", "первый аргумент, строковой", 2, "прошлый аргумент — числовой", "и т. д."). Не переживайте, я ещё вернусь к этому в перечне команд.

 


Итак, начнём наш перечень с не очень нужных игроку, но полезных команд.

  • setResponsePort(port:Number):String,Number. ОБЯЗАТЕЛЬНАЯ КОМАНДА ПЕРЕД НАЧАЛОМ РАБОТЫ! Именно. Так как вещать на всех частотах — идея обломная, лучше поставить заданный порт. Обломная настолько, что без указания порта-канала не будут возвращаться данные! Вот так всё жестоко. Поэтому пропишите modem.broadcast(PORT, "nanomachines", "setResponsePort", PORT). Например: broadcast(1337, "nanomachines", "setResponsePort", 1337). Прописали? Можно продолжать.
    К слову, возвращает "port", port, собственно, где port и есть указанное значение. Бесполезная фишка, кажется.
  • getHealth():String,Number,Number. Значит, возвращает количество здоровья (текущее и максимальное). Чтобы не отвлекаться в дальнейшем, скажу сразу, что взвращаются данные так же через модем, через тот самый указанный порт. Так что не забудьте открыть его (modem.open(PORT)) и указать получение данных через event.pull("modem_message"). Формат данных: "modem_message", "адрес сетевухи на текущем компе", "адрес наноботов", порт, расстояние, "nanomachines", возвращаемые данные.... В данной функции возвращаемые данные: "health", 15, 20, где 15 — текущее, а 20 — максимальное состояния здоровья.
  • getPowerState():String,Number,Number. Возвращает состояние энергии в наномитах: "power", 5000, 10000, где 5000 — текущее, а 10000 — максимальное количества энергии.
  • getHunger():String,Number,Number. Возвращает состояние шкалы голода: "hunger", 10, 20, где 10 — текущее, а 20 — максимальное показания шкалы.
  • getAge():String,Number. Возвращает "возраст" — общее время пребывания игрока на сервере в секундах с момента первого захода на сервер: "age", 1896, где 1896 — этот самый "возраст".
  • getName():String,String. Возвращает имя игрока, который переносит наноботов: "name", "Fingercomp", где "Fingercomp" — имя игрока.


Вооооооот, теперь самое интересное.

 


V. Ход эксперимента. Часть, в которой 18 кнопок.

Тык-с, теперь основное предназначение нанитов — давать всякие эффекты! Начиная от простых частиц вокруг игрока, заканчивая смертью.
Есть 18 переключателей (входов в терминологии ОС), каждый даёт свой эффект. Набор переключатель-эффект называется конфигурацией. При каждом поедании нанобота эта конфигурация обновляется рандомными значениями. Если в первый раз 9 вход убивал, то теперь он, например, хилит. И т. д.
^ Выдрано из комментариев и заменено предыдущей непонятной фигнёй.
Эффектами, кстати, могут быть не только всякие regeneration, но и просто спаун частиц, а также раритетные эффекты вроде магнита, притягивающего предметы.
  • getSafeActiveInputs():String,Number. Возвращает лимит безопасных активных входов: "safeActiveInputs", 2, где 2 — это установленное в конфиге значение.
  • getMaxActiveInputs():String,Number. Возвращает второй лимит на количество входов всего: "maxActiveInputs", 4, где 4 — тот самый лимит.
  • setInput(input:Number, active:Boolean). Активирует и деактивирует вход. Тут всё просто — первый аргумент является числом от 1 до 18, а второй — состояние активности (true — включить, false — выключить).
  • getInput(inpt:Number):String,Number/String,Boolean. Возвращает состояние выбранного входа. Если неверно указать — ошибка ("input", "error"). Иначе — состояние. "input", 13, true, где 13 — номер входа, а true — состояние =)
  • getActiveEffects():String,String. Возвращает активные эффекты. Формат: "effects", "{digSpeed}", к примеру.

 


VI. Финал. Трагедия и выводы.

Собственно, поигравшись так с нанитами, активировал 9 вход. Вот такой казус возник:


nD3ckGd.png


Угадайте, что произошло, когда я отключил креативку?)


iSr2U5l.pngгыыыыыы

 

 


Чего и вам желаю.

 

Выводы:

  • Наноботы — не плод фантазии больного ума, но полезная вещь.
  • Наноботы — штука хорошая, но только в разумных пределах.
  • В неразумных от них можно сдохнуть.


Напоследок продемонстрирую обещанное видео от автора мода про нанитов =) И включите аннотации, там инфа полезная.



В описании к видео на Ютубе есть ссылка на прогу =)

 

 

Удачи :P

  • Нравится 6


20 комментариев


Рекомендуемые комментарии

Пробежавшись глазами и быстрым чтением, ничо не понял. Какие то команды, входы... А зачем наниты то, кроме магнита?

Поделиться комментарием


Ссылка на комментарий

Пробежавшись глазами и быстрым чтением, ничо не понял. Какие то команды, входы... А зачем наниты то, кроме магнита?

Попробуй пробежаться медленным чтением, не по диагонали. =)

Написано же: дают эффекты вроде ускорения копки или сопротивления урону. А ещё могут давать забавные частицы и очень редкие эффекты, как вот этот магнит.

Поделиться комментарием


Ссылка на комментарий

Но на видео он как-то включал и отключал определенные эффекты

Есть 18 переключателей, каждый даёт свой эффект. Набор переключатель-эффект называется конфигурацией. При каждом поедании нанобота эта конфигурация обновляется рандомными значениями. Если в первый раз 9 вход убивал, то теперь он, например, хилит. И т. д.

Поделиться комментарием


Ссылка на комментарий

Есть 18 переключателей, каждый даёт свой эффект. Набор переключатель-эффект называется конфигурацией. При каждом поедании нанобота эта конфигурация обновляется рандомными значениями. Если в первый раз 9 вход убивал, то теперь он, например, хилит. И т. д.

Вот в этом сообщении суть всей статьи. Теперь всё понял.

Поделиться комментарием


Ссылка на комментарий

Когда на DS ставили, мне попадал эфект копки 3х3х3 слабенько и медленно, зато копал. Правда только землю. Спс за статью, буду знать, как обратно значения своего здоровья получать. 

Поделиться комментарием


Ссылка на комментарий

Пишу сюда, так как эти методы не изучал, а просто увидел на вики случайно. Две команды:

"reconfigure", сбрасывает конфигурацию. То есть, снова назначает каждому входа эффект.

"dispose", позволяет избавиться от наномашинок.

 

Оказывается, эти функции удалены были, потому и не увидел в мануале.

 

Бонус тем, кто читает комментарии: передача информации работает не только через планшет, но и через компьютер-µC-дрон-т.д. И, соответственно, работать будет это не зависимо от владельца.

Ещё одна причина не ходить друг к другу в гости ;)

Поделиться комментарием


Ссылка на комментарий

Оказывается, эти функции удалены были, потому и не увидел в мануале.

В мануале они были, но не долго :)

Поделиться комментарием


Ссылка на комментарий

....И, соответственно, работать будет это не зависимо от владельца.

Ещё одна причина не ходить друг к другу в гости ;)

То есть существует опасность взять под контроль вражеские нано-роботы в чужом теле?  

 

И какая там, кстати, сейчас дальность связи с нанитами по вай-файке, чего-то четкой инфы не встретил (мельком глянул только описание, правда)

Поделиться комментарием


Ссылка на комментарий

То есть существует опасность взять под контроль вражеские нано-роботы в чужом теле?  

 

И какая там, кстати, сейчас дальность связи с нанитами по вай-файке, чего-то четкой инфы не встретил (мельком глянул только описание, правда)

Ага, именно! А действуют сообщения в радиусе 2 блоков.

Поделиться комментарием


Ссылка на комментарий

Наниты вчера были досконально изучены специалистами.

Результаты экспертизы невероятно интересные. Например, была обнаружена зависимость количества входов от количества эффектов в модпаке.

А ещё, оказывается, сочетания нескольких включенных входов тоже могут давать СВОЙ ЭФФЕКТ! Итого выходит СТО ТРИДЦАТЬ ШЕСТЬ (136) потенциальных различных комбинаций!

Поделиться комментарием


Ссылка на комментарий
Наниты вчера были досконально изучены специалистами.

Результаты экспертизы невероятно интересные. Например, была обнаружена зависимость количества входов от количества эффектов в модпаке.

А ещё, оказывается, сочетания нескольких включенных входов тоже могут давать СВОЙ ЭФФЕКТ! Итого выходит СТО ТРИДЦАТЬ ШЕСТЬ (136) потенциальных различных комбинаций!

То есть можно включать и не ванильные эффекты, радиацию, например?

Поделиться комментарием


Ссылка на комментарий

То есть можно включать и не ванильные эффекты, радиацию, например?

Не уверен, доверяюсь словам Vexatos. Но, вроде, да.

Поделиться комментарием


Ссылка на комментарий
Когда на DS ставили, мне попадал эфект копки 3х3х3 слабенько и медленно, зато копал. Правда только землю. Спс за статью, буду знать, как обратно значения своего здоровья получать.

Он копает автоматически, но тем предметом, который у тебя в руках. А если у тебя выбран планшет, то он как раз только землю и будет копать

Поделиться комментарием


Ссылка на комментарий

Коммит от 02/10/2015: Allow saving nanomachine configuration to other nanomachines in player's inventory. Closes #1462.

 

Итак, не описанная нигде команда "saveConfiguration" копирует конфигурацию наномашинок в другой предмет в инвентаре. По-моему, это круто.

Поделиться комментарием


Ссылка на комментарий

А команда setResponsePort всегда задавала только частоту, на которой будут отвечать наниты, или и частоту приёма команд тоже?

 

В OpenComputers-MC1.7.10-1.7.2.1166-universal.jar setResponsePort влияет только на частоту ответа на команду, но сами команды продолжают приниматься с любых частот. Это баг или фича?

 

 

Поделиться комментарием


Ссылка на комментарий

@eu_tomat как уже описано выше, такое поведение имеет место быть с давних пор. И следуя логике наименования команды, это таки больше фича.

Поделиться комментарием


Ссылка на комментарий

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

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

Гость
Добавить комментарий...

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

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

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

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

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

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