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






Фотография
* * * * * 3 голосов

[OC] [Add-ons] Computronics! Полный обзор версии 1.5.5 [#2] (стандартные блоки)

Написано Fingercomp , в Add-ons, OpenComputers, Tutorials 11 Июль 2015 · 3 047 просмотров

OC Computronics Add-ons гайд tutorial обзор

ПОЛНЫЙ ОБЗОР

Computronics версии 1.5.5

Часть вторая: стандартные блоки.

И снова я приветствую Вас, уважаемый читатель этого блога! Вашему вниманию представляю вторую часть полного обзора CX версии 1.5.5, в которой я поведаю Вам о:
  • Cipher Block (шифратор)
  • Advanced Cipher Block (продвинутый шифратор)
  • Colorful Lamp (разноцветная лампочка)
  • Tape Drive + Cassette tapes (кассетный привод и, собственно, кассеты))
 

I. Cipher Block

a.k.a. "Шифратор"

Алгоритмов шифрования уже и так огороды, но суровые разрабы CX не сдаются) На самом деле, может быть очень полезным блоком для каких-нибудь там ивентов. Почему? Этот блок позволяет шифровать и дешифровать определённую строку, используя в качестве ключа... не что иное, как... предметы! Да, знаю, поворот весьма и весьма неожиданный, но так оно и есть на самом деле.

 

Функции.

  • cipher.decrypt(encrypted_string:String):String — пытается расшифровать строку, используя как "ключ" предметы в инвентаре шифратора. В случае неудачи (неправильный код) выдаёт ошибку.
  • cipher.encrypt(string_to_encrypt:String):String — шифрует данную строку, используя как "ключ" предметы в инвентаре шифратора. Возвращает зашифрованную строку.
  • cipher.setLocked(lock:Boolean) — блокирует/открывает доступ к инвентарю шифратора. При попытке открыть заблокированный шифратор, игроку выдаётся предупреждение в чат.
  • cipher.isLocked():Boolean — возвращает состояние блокировки шифратора на данный момент.

Скриншоты:

Спойлер

Спойлер

 

 

II. Advanced Cipher Block.

a.k.a. "Продвинутый шифратор"

Этот вариант шифратора отличается от предыдущего тем, что здесь нет необходимости задать предметы как ключ — для шифровки/расшифровки используется алгоритм RSA.

 

Функции.

  • adv_cipher.createKeySet(prime1:Number, prime2:Number):Keygen — создаёт и запускает процесс генерации пары ключей на основе двух простых чисел. Возвращается структура, содержашая данные методы:
    • key_set.finished():Boolean — так как процесс генерации ключей не мгновенный, использовать ключи сразу же после создания генератора нельзя. Данная функция возвращает готовность ключей: true при завершённом процессе генерации и false, если процесс генерации не завершён.
    • key_set.getKeys():Table, Table — данная функция возвращает пару сгенерированных ключей или nil при незавершённом процессе генерации.
  • adv_cipher.createRandomKeySet():Keygen — идентичен полностью прошлой функции за исключением того, что числа простые указывать не нужно — они выберутся случайно.
  • adv_cipher.decrypt(encrypted_string:String, private_key:Table):String — дешифрует данную строку, используя приватный ключ RSA.
  • adv_cipher.encrypt(string_to_encrypt:String, public_key:Table):String — шифрует данную строку, используя публичный ключ RSA.

 

 

III. Colorful Lamp.

a.k.a "Разноцветная лампочка"

Блок, испускающий свет, цвет которого можно менять программно (всего цветов 32768, включая чёрный).

Функции.

  • lamp.getLampColor():Number — возвращает текущий цвет лампочки.
  • lamp.setLampColor(color:Number):Boolean — устанавливает текущий цвет лампочки. Если цвет равен нулю, то лампочка выключается.

Скриншоты:

Спойлер

 

 

IV. Кассеты и всё, что с ними связано.

IV.1. Cassette Tapes.

a.k.a. "Кассеты"

Кассеты — мощное переносное хранилище информации, как текстовой, так и музыкальной. Всего видов кассет в CX — ни много, ни мало — 8 штук! И каждый тип различается требованиями по ресурсам и вместительностью музыки в минутах.
  • Деревянная — 2 минуты
  • Железная — 4 минуты
  • Стальная — 6 минут
  • Золотая дешёвая — 8 минут
  • Золотая дорогая — 16 минут
  • Алмазная — 32 минуты
  • "Дешёвая" незерстарровская — 64 минуты
  • И, наконец, самая ненажная и дорогущая одновременно вещь, которая когда-либо существовала в Майначе... Дорогущая незерстарровская — 128 минут. Это больше, чем на CD-диске!)) Но и качество хромает. Тем не менее, на такую кассету можно записать больше данных, чем на РЭЙД с 3 алмазными дисками)

 

IV.2. Tape Drive.

a.k.a. "Стример"

Но одной кассетой Вы удолевтвориться не сможете... Для считывания и записывания информации необходим аналог CD-ROM'а, но для кассет — кассетный проигрыватель, называемый стримером.

Функции.

  • tape.stop():Boolean — останавливает проигрывание кассеты.
  • tape.setSpeed(speed:Number):Boolean — устанавливает скорость воспроизведения (от 0.25 до 2).
  • tape.getLabel():String — возвращает метку касссеты. Если не задано, равно "".
  • tape.setLabel(label:String):String — устанавливает метку кассеты. Она видна в тултипе кассеты и в кассетном приводе, если там вставлена дискета. Возвращается новая установленная метка кассеты.
  • tape.getState():String — возвращает текущий статус кассетного привода: "RUNNING", если проигрывается кассета, или "STOPPED", если нет дискеты, или воспроизведение было остановлено.
  • tape.seek(amount:Number) — перематывает кассету на данное количество байтов вперёд/назад (при отрицательном значении).
  • tape.setVolume(volume:Number) — устанавливает громкость кассеты от 0 до 1 (принимаются дробные значения).
  • tape.getSize():Number — возвращает размер музыкального содержимого кассеты в байтах. Полезно вместе с функцией tape.seek() для перемотки в начало.
  • tape.play() — начинает проигрывание музыкального содержимого кассеты.
  • tape.isEnd():Boolean — возвращает true, если проигрывание содержимого завершилось. Полезно для зацикливания музыки на дискете в совокупности с tape.getSize() и tape.seek().
  • tape.isReady():Boolean — возвращает true, если в приводе присутствует дискета.
  • tape.read([length:Number]):Number|String — читает всё (или определённое кол-во байтов), что записано на кассету.
  • tape.write(data:Number|String) — записывает на кассету данные.

Программа.

При вставке кассеты в привод, появляется программа tape, которая позволяет совершать базовые операции над кассетой без необходимости использовать интерпретатор Lua. Доступно следующее:
  • tape play — начать проигрывание.
  • tape pause — приостановить проигрывание.
  • tape stop — остановить проигрывание и перемотать в начало.
  • tape rewind — перемотать кассету в начало.
  • tape label — получить метку кассеты.
  • tape label label — установить метку label кассете в приводе.
  • tape volume volume — установить громкость volume музыке на кассете.
  • tape speed speed — установить скорость speed проигрывания.
  • tape write path/to/audio/file — записать на кассету файл с жёсткого диска компьютера.
  • tape write URL — записать на кассету музыку с удалённого сервера, доступную по адресу URL.

Скриншоты:

Спойлер

IV.3. Формат звуковых файлов DFPWM.

Прочитав рассказ о воспроизведении звука, наверняка, Вы уже начали искать тот самый файл с вашей любимой музыкой. Но не всё так просто! Дело в том, что используется странный и непонятный формат файлов — DFPWM... Но где его искать?

Шаг первый. Конвертер.

Первым делом, придётся открыть http://www.google.com/ в отдельной вкладке, ведь мороки с музыкой будет много. Сначала найдите в интернете конвертеры из формата Вашего файла в формат WAV (можно пропустить, если изначально в WAV). Для Линукса это ffmpeg, например.

Шаг второй. Получение файла DFPWM.

У вас должен быть на руках WAV-файл с музыкой. На всякий случай попробуйте открыть его в аудиопроигрывателе, дабы убедиться в "правильности" файла. Если всё ОК — закрываем Гугл и идём дальше. Загрузите данный файл на свой компьютер: https://dl.dropboxus...794/LionRay.jar Это конвертер из WAV в DFMPW. Выставьте права на исполнение, если они не соблюдены, и запустите файл через Java. Укажите расположение исходного WAV-файла и запустите процесс конвертации.

Шаг третий. Сохранение файла.

Если у Вас есть доступ к папке сохранения, то всё просто — откройте папку ~/saves/<имя_мира>/opencomputers/<адрес_диска>/ и переместите туда Ваш получившийся аудиофайл. Затем вставьте кассету в стример, подключите последний к компьютеру и пропишите tape write <имя_аудиофайла>. Иначе Вам придётся искать хостинг, выдающий прямые ссылки на файл. Загрузите файл и скопируйте ссылку. Затем вставьте интернет-карту в компьютер и пропишите следующее: tape write <ссылка_на_аудиофайл>. Дождитесь окончания загрузки.

 

 
Фух, вот я, наконец, и закончил. В сумме на написание этого гайда ушло около шести часов ночного времени, так что думаю, что он Вам понравится) Оставляйте оценки, лайки, жду комментариев! А в следующей части я расскажу о четырёх новых картах, которые добавляет CX.

 

Ссылка на страницу мода: http://wiki.vex.tty....ki:computronics






Саня, Героя Труда надо тебе выдавать уже=)

Отличный гайд,всё понятно.Согласен с Алексом.

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

И еще. tape.stop():Boolean. Не пойму. Зачем Boolean влепил?

Andronio

Я, конечно, понимаю. Краткость — сестра таланта, всё такое.

Однако слишком сокращать не следует.

 

Прошу пояснений и явного указания, что за функция, и почему так сложно понять, что :Boolean — это тип возвращаемого значения?

Для тех, у кого ссылка на конвертер не работает:
http://gamax92.pc-lo...com/LionRay.jar


Обратные ссылки на эту запись [ URL обратной ссылки ]

Обратных ссылок на эту запись нет

Последние версии

Стабильная: 1.6.1+hotfix.1
Последняя: 1.6.1+hotfix.1

Мои программы

Автокрафт на OpenComputers и AE

http://computercraft...-opencomputers/

 

Минималистичные и красивые часы

http://computercraft...0-finger-clock/

 

Чат на GoogolGlasses

http://computercraft...-googolglasses/

 

Лампомат

http://computercraft...-oc-lamp-o-mat/

 

Автокрафт 2: без АЕ

http://computercraft...2-teper-bez-ae/

 

Клиент Гиста

http://computercraft...-opencomputers/

 

Управление нанитами

http://computercraft...nanitami-snova/

 

Чат на OpenPeripheral а-ля IRC

http://computercraft.ru/topic/1517-

Искать в моем блоге

Новые записи

Новые комментарии

Январь 2017

В П В С Ч П С
1234567
891011121314
1516 17 18192021
22232425262728
293031    

Полезные ссылки

Официальный сайт OpenComputers

http://oc.cil.li/

 

Официальный форум OpenComputers

http://oc.cil.li/index.php?/index

 

Репозиторий OpenComputers на ГитХабе

https://github.com/M...s/OpenComputers

 

Последние релизы OpenComputers

https://github.com/M...puters/releases

 

Jenkins-сервер

http://ci.cil.li/job...s-dev-MC1.7.10/
 

Репозиторий OpenPrograms

https://github.com/OpenPrograms

 

Репозиторий моих программ

https://github.com/O...rcomp-Programs/

0 посетителей

0 пользователей, 0 гостей, 0 анонимных

Последние посетители

  • Фотография
    Alex
    Вчера, 02:53
  • Фотография
    vx13
    15 янв 2017 - 20:09
  • Фотография
    Stanislavich
    14 янв 2017 - 23:24
  • Фотография
    Xytabich
    13 янв 2017 - 14:30
  • Фотография
    Litvinov
    13 янв 2017 - 03:24
  • Фотография
    ivan52945
    12 янв 2017 - 23:11
  • Фотография
    electronic_steve
    12 янв 2017 - 21:11
  • Фотография
    Stirn
    12 янв 2017 - 19:48
  • Фотография
    Programist135
    12 янв 2017 - 18:44
  • Фотография
    MeXaN1cK
    12 янв 2017 - 18:29
  • Фотография
    _Star_Craft_
    12 янв 2017 - 17:53
  • Фотография
    Saintmare
    11 янв 2017 - 08:26
  • Фотография
    Asior
    11 янв 2017 - 07:45
  • Фотография
    Fedel
    11 янв 2017 - 03:30
  • Фотография
    Cleveron
    10 янв 2017 - 20:28
  • Фотография
    slavik95_ua
    10 янв 2017 - 01:28
  • Фотография
    LeshaInc
    08 янв 2017 - 14:52
  • Фотография
    ALeXeR
    08 янв 2017 - 11:00
  • Фотография
    cyber01
    07 янв 2017 - 23:16
  • Фотография
    POMAH3
    07 янв 2017 - 19:44
  • Фотография
    incvIZ
    07 янв 2017 - 17:31
  • Фотография
    Totoro
    07 янв 2017 - 15:48
  • Фотография
    qwertyMAN
    07 янв 2017 - 12:52
  • Фотография
    Sharplook
    07 янв 2017 - 00:10
  • Фотография
    SDV
    05 янв 2017 - 21:39
  • Фотография
    cloud
    05 янв 2017 - 14:16
  • Фотография
    mrlobaker
    04 янв 2017 - 16:19
  • Фотография
    Kartograf
    04 янв 2017 - 13:43
  • Фотография
    DimaZCOM
    03 янв 2017 - 21:29
  • Фотография
    mrGreen
    02 янв 2017 - 18:43
  • Фотография
    Nikitat
    02 янв 2017 - 14:51
  • Фотография
    Zabqer
    02 янв 2017 - 12:17
  • Фотография
    prostoshu
    02 янв 2017 - 09:32
  • Фотография
    Vait
    01 янв 2017 - 13:17
  • Фотография
    YuRaNnNzZZ
    30 дек 2016 - 20:58
  • Фотография
    Kid
    29 дек 2016 - 15:38
  • 26 дек 2016 - 11:07
  • Фотография
    LuaGamer
    26 дек 2016 - 08:23
  • Фотография
    Misha123
    25 дек 2016 - 17:23
  • Фотография
    DarthWirthe
    25 дек 2016 - 16:09
  • Фотография
    Quant
    24 дек 2016 - 11:42
  • Фотография
    NEO
    23 дек 2016 - 20:29
  • Фотография
    VankaPapanka
    23 дек 2016 - 12:26
  • Фотография
    GeorgSorok16
    23 дек 2016 - 10:33
  • Фотография
    HalfLolek
    21 дек 2016 - 14:21
  • Фотография
    i_ivanov10
    21 дек 2016 - 08:26
  • Фотография
    lLuffy
    21 дек 2016 - 03:42
  • Фотография
    SGMack
    19 дек 2016 - 17:45
  • Фотография
    Arseniy10
    19 дек 2016 - 16:14
  • Фотография
    newbie
    19 дек 2016 - 15:11

Лицензия


Яндекс.Метрика