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

[CC] GoogleGlass Chat

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

Привет!


Как многие знают на новом сервере 1.6.4 , относительно новом, добавили такие моды как ComputerCraft и аддон к этому моду - OpenPeripheral. В моде OpenPeripheral есть очень хорошая вещь! TerminelGlasses у нас на сервере их называют "GoogleGlass" и не зря ведь они могут создавать объекты такие как: text, gradientBox и просто box и вот используя эти 3 объекта, а точнее 2 (text и box) я написал "локальный" чат! Вот так он выглядит:
Изображение
Что бы написать сообщение вам нужно ввести "$$" и затем сообщение например: $$Hello World!
Также как вы уже заметили на скриншоте чат поддерживает русские символы.
Имеются команды настройки такие как: set text_coordX, set text_coordY, set text_color, set bg_show, set bg_color, set bg_opacity, set max_height. Например работа команд:
$$set text_coordX
$$10
$$set text_coordY
$$10
$$set text_color
$$0xFF0000
Изображение
Остальные команды означают:
set bg_show - скрывать или нет фон, стандарт: true. Пример: true, false
set bg_color - задает цвет фона, стандарт: 0x0101FF. Пример: 0xFF0000
set bg_opacity - задает прозрачность фона от 0 до 1, стандарт: 0.5. Пример: 0.3
set max_height - задает максимальное количество строк чата, стандарт: 10. Пример: 15

Pastebin коды для файла "glass.lua" и самого чата соответственно: DiYrqfti и xDfjKViH
Что бы вводить команды вам нужна админка, просто введи свой ник вместо Syabro на 8-ой строке!
Загрузка и сохранение настроек будет доступна попозже. Функция бана пока не работает.
Забыл написать! Вам понадобится Terminal Glasses Bridge, программа сама определит с какой стороны он стоит. Что бы подключить к нему очки нужно кликнуть ими по блоку ПКМ(правой кнопкой мыши)

Большое спасибо Fenixrus!!!

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


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

ОБНОВЛЯЙТЕ! Программу чата нужно загрузить по новой. Добавлено сохранение настроек!

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


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

Также добавил возможность рестарта чата! Нужно например для очистки или изменения количества строк чата. Что бы перезагрузить сервер нужно написать:

$$reboot

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


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

Что же это за файл "glass.lua"?

В этом файле содержится функця для принта таблици которая используется в моём чате. Она выглядит так:

printGlassText(prox, text, x, y, text_color, bg_show, bg_color, opacity, user)

prox - сюда передается объект peripheral.wrap()

text - соответственно таблица с индексом от 1-го до конца...

x, y - координаты верхнего левого угла текста

text_color - цвет текста

bg_show - показывать или нет фон (true, false)

bg_color - цвет фона

opacity - прозрачность фона

user - ф-ция не доступна

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


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

Не до конца разобрался с механизмом обмена сообщениями. Вот, что удалось понять, поправь если не так

1. Чат построен на основе одного единственного компьютера, к которому прикручена фиговина "openperipheral_glassesbridge"

2. Каждый участник чата должен иметь на носу супер очки, связанные с этой фиговиной при помощи ПКМ

3. Для отсылки сообщения в GoogleGlass Chat необходимо в обычный чат послать сообщение, начинающееся с $$. После чего, каждый у кого очки, это сообщение увидит. Причем в обычный чат сообщение не попадет.

4. Расстояние от пользователя до компьютера значения не имеет

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


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

Не до конца разобрался с механизмом обмена сообщениями. Вот, что удалось понять, поправь если не так

1. Чат построен на основе одного единственного компьютера, к которому прикручена фиговина "openperipheral_glassesbridge"

2. Каждый участник чата должен иметь на носу супер очки, связанные с этой фиговиной при помощи ПКМ

3. Для отсылки сообщения в GoogleGlass Chat необходимо в обычный чат послать сообщение, начинающееся с $$. После чего, каждый у кого очки, это сообщение увидит. Причем в обычный чат сообщение не попадет.

4. Расстояние от пользователя до компьютера значения не имеет

Все правильно понял!

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


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

Опять добавлены команды:

set adm_nick - изменяет ник админа

del msg - удаляет определенное сообщение

 

Также о системе команд. Есть команды такие как reboot они пишутся "$$reboot" и все а есть команды типа "set adm_nick" после которых нужно вводить значение. Например:

$$set adm_nick

$$Fenixrus

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


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

Что бы вводить команды вам нужна админка, просто введи свой ник вместо Syabro на 8-ой строке!

 

Теперь нужно заменить Syabro на свой ник на 3-ей строке в таблице

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


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

"Опять обновление?!"


Исправлены баги! Вот код программы-чата что бы вы не искали... xDfjKViH

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


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

Александр, ты не указал главной фичи блока - это то, что он перехватывает чат с тегом $$ и в pullEvent возвращает ник и сообщение. А функцию бан разбан легко и нужно обязательно реализовать через запись в файл banlist по команде $$ban nick и $$unban nick и обрабатывать файл, в котором построчно лежат ники. То есть дописывать или удалять из файла игрока, а при срабатывании пуливента смотреть из таблицы tmpban, есть ли игрок в ней или нет и соответственно принтить его смс или нет. Таблицу tempban обновлять после каждой операции добавления/удаления игрока из бана и при старте сервера. Сложнее с $$mute nick delay. Нужно генерировать на "заткнутого" игрока переменную таймера и отдельным пуливентом на срабатывание таймеров чистить игроков из таблицы table_temp_mute.

 

Сделай обработку строки целиком, если там есть команда и аргументы. Zero целую энциклопедию уже написал для этого :) тут!

 

А вот если еще систему уровней доступа сделаешь (суперадмин, админ, модер и юзер) которым будут доступны только определенные команды (а так же префиксы будешь выводить) - цены программке не будет!;)

 

П.С. За работу над программойLike выдаю стак иридия и иридиевую дрил 3 уровня.

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


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

Не до конца разобрался с механизмом обмена сообщениями. Вот, что удалось понять, поправь если не так

1. Чат построен на основе одного единственного компьютера, к которому прикручена фиговина "openperipheral_glassesbridge"

2. Каждый участник чата должен иметь на носу супер очки, связанные с этой фиговиной при помощи ПКМ

3. Для отсылки сообщения в GoogleGlass Chat необходимо в обычный чат послать сообщение, начинающееся с $$. После чего, каждый у кого очки, это сообщение увидит. Причем в обычный чат сообщение не попадет.

4. Расстояние от пользователя до компьютера значения не имеет

от расстояния полностью не зависит, даже от мира

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


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

Александр, ты не указал главной фичи блока - это то, что он перехватывает чат с тегом $$ и в pullEvent возвращает ник и сообщение. А функцию бан разбан легко и нужно обязательно реализовать через запись в файл banlist по команде $$ban nick и $$unban nick и обрабатывать файл, в котором построчно лежат ники. То есть дописывать или удалять из файла игрока, а при срабатывании пуливента смотреть из таблицы tmpban, есть ли игрок в ней или нет и соответственно принтить его смс или нет. Таблицу tempban обновлять после каждой операции добавления/удаления игрока из бана и при старте сервера. Сложнее с $$mute nick delay. Нужно генерировать на "заткнутого" игрока переменную таймера и отдельным пуливентом на срабатывание таймеров чистить игроков из таблицы table_temp_mute.

 

Сделай обработку строки целиком, если там есть команда и аргументы. Zero целую энциклопедию уже написал для этого :) тут!

 

А вот если еще систему уровней доступа сделаешь (суперадмин, админ, модер и юзер) которым будут доступны только определенные команды (а так же префиксы будешь выводить) - цены программке не будет!;)

 

П.С. За работу над программойLike выдаю стак иридия и иридиевую дрил 3 уровня.

ИРИДИЙ :eek: :D

 

На счет бана! Там суть не в самой системе бана, а в выводе сообщения "You are banned!" одному игроку... там что-то с glass.getUserSurface(nick) она не работает...

Фичу я указал... С мутом и разделением на группы тоже можно разобраться... достаточно не сложно...

А за ссылочку Спасибо! :)

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


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

Ты хочешь блокировать забаненного юзера, чтобы он вообще не видел чат? Или в аддоне есть возможность показа сообщения только одному игроку. Я бы согласился на то, что просто юзер увидел смс, мол, "Nick_name has been banned" , и больше не мог писать в чат.

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


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

А можно ли при помощи этой штуки организовать связь между двумя компьютерами?

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


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

А можно ли при помощи этой штуки организовать связь между двумя компьютерами?

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

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


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

Т.е. компьютер может читать чат, но сам писать туда не может?

post-6-14160784011853_thumb.gif

Жаль. А то можно было бы глобальную сеть между мирами организовать.

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


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

Т.е. компьютер может читать чат, но сам писать туда не может?...

Абсолютно верно. Схемка именно так работает!

П.С. Дмитрий, я поражаюсь Вашей штабной культуре у умению качественно и грамотно оформлять материал.

 

Примечание: штабная культура (воен. термин)

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


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

Обновление!


  • Добавлены команды "ban" и "unban"
  • Вывод команд админа в ощий чат убран.
  • конечно же сохранение забаненых игроков в файл

Команда "del msg" не работает

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


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

Сейчас программа не доступна... надо еще один файл для тестов...

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


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

Логов крашей нет, станно. Он просто рестартился что ли.

На чем работает программа, ОС?

на том же на чем и до этого вчера все норм было, ничего не менялось

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


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

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

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

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

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

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

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

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

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


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