Изменения

MK/Считыватель карт

3784 байта добавлено, 14:16, 8 августа 2016
Новая страница: «{{Блок |название=Считыватель карт |инвизображение=Считыватель карт |тип=Механизм |гравит=…»
{{Блок
|название=Считыватель карт
|инвизображение=Считыватель карт
|тип=Механизм
|гравит=Нет
|прозр=Нет
|свет=0
|взрывоуст=?
|инструмент=Кирка
|склад=Да (64)
|перввер=1.7.10
|номер=558
}}

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

== Крафт ==

{{Крафт
|Мод=MK
|A1= |B1=OpenComputers: Микрочип (Уровень 3) |C1=
|A2= |B2=OpenComputers: Дисковод |C2=
|A3= |B3= |C3=
|Выход=Считыватель карт
}}

== Взаимодействие ==

Считыватель карт опознается компьютерами как периферийное устройство. Доступные функции:

{| class="wikitable"
! Функция
! Описание
|-
| <code>cancel()</code>
| Отменяет все запланированные операции
|-
| <code>read()</code>
| Запрашивает считывание карты (индикатор становится зеленым). Функция возвращается немедленно, по завершению операции будет вызвано событие.
|-
| <code>write(x: binary)</code>
| Запрашивает запись карты (индикатор становится оранжевым). Функция возвращается немедленно, максимальный размер данных - 128 байт.
|-
| <code>pay(target: string, amount: number)</code>
| Запрашивает платеж (индикатор становится розовым). '''Только для смарт-карт.''' Деньги списываются с основного баланса пользователя (<code>/money</code>) и начисляются на баланс того, чей ник указан первым аргументом. По результату операции вызывается событие.
|-
| <code>auth()</code>
| Запрашивает аутентификацию пользователя (индикатор становится голубым). '''Только для смарт-карт.''' По клику вызывается событие с ником кликнувшего
|}

=== Событие ===

По результату каждой операции со считывателем вызывается событие <code>card_event</code>, которое можно перехватить через <code>event.pull()</code>.

Возможные события:
{| class="wikitable"
! Событие
! Аргументы
! Описание
|-
| <code>read</code>
| ''<данные на карте>''
| Возвращает считанные данные компьютеру
|-
| <code>written</code>
| ''<старые данные на карте>''
| Возвращает данные, которые были до записи
|-
| <code>authticated</code>
| ''<uuid>'' ''<ник>''
| Возвращает ник пользователя.
|-
| <code>payment_result</code>
| ''<успешность>'' ''<код ошибки>'' ''<сумма>'' ''<uuid получателя>'' ''<ник получателя>''
| Успешность - boolean, true - платеж проведен, иначе по коду ошибки определяется причина отказа. Сумма представлена строкой.
|}
{{Mod MK}}