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


Фотография

[CC] GoogleGlass Chat


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 28

#1 Оффлайн   Syabro

Syabro
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 09 Июль 2014 - 12:36

Привет!


Как многие знают на новом сервере 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!!!


  • Alex и fenixrus это нравится

#2 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 09 Июль 2014 - 13:52

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

#3 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 09 Июль 2014 - 15:00

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

#4 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 09 Июль 2014 - 15:09

Что же это за файл "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 - ф-ция не доступна

#5 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 09 Июль 2014 - 15:17

Не до конца разобрался с механизмом обмена сообщениями. Вот, что удалось понять, поправь если не так 1. Чат построен на основе одного единственного компьютера, к которому прикручена фиговина "openperipheral_glassesbridge" 2. Каждый участник чата должен иметь на носу супер очки, связанные с этой фиговиной при помощи ПКМ 3. Для отсылки сообщения в GoogleGlass Chat необходимо в обычный чат послать сообщение, начинающееся с $$. После чего, каждый у кого очки, это сообщение увидит. Причем в обычный чат сообщение не попадет. 4. Расстояние от пользователя до компьютера значения не имеет

#6 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 09 Июль 2014 - 15:24

Не до конца разобрался с механизмом обмена сообщениями. Вот, что удалось понять, поправь если не так
1. Чат построен на основе одного единственного компьютера, к которому прикручена фиговина "openperipheral_glassesbridge"
2. Каждый участник чата должен иметь на носу супер очки, связанные с этой фиговиной при помощи ПКМ
3. Для отсылки сообщения в GoogleGlass Chat необходимо в обычный чат послать сообщение, начинающееся с $$. После чего, каждый у кого очки, это сообщение увидит. Причем в обычный чат сообщение не попадет.
4. Расстояние от пользователя до компьютера значения не имеет

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

#7 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 09 Июль 2014 - 16:18

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

#8 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 09 Июль 2014 - 16:22

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

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

#9 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 09 Июль 2014 - 17:11

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

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

#10 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 742
  • Уровень сигнала: 52,19%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 10 Июль 2014 - 02:06

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

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

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

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

#11 Оффлайн   fenixrus

fenixrus
  • Пользователи
  • Сообщений: 27
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 10 Июль 2014 - 10:03

Не до конца разобрался с механизмом обмена сообщениями. Вот, что удалось понять, поправь если не так
1. Чат построен на основе одного единственного компьютера, к которому прикручена фиговина "openperipheral_glassesbridge"
2. Каждый участник чата должен иметь на носу супер очки, связанные с этой фиговиной при помощи ПКМ
3. Для отсылки сообщения в GoogleGlass Chat необходимо в обычный чат послать сообщение, начинающееся с $$. После чего, каждый у кого очки, это сообщение увидит. Причем в обычный чат сообщение не попадет.
4. Расстояние от пользователя до компьютера значения не имеет

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

#12 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 10 Июль 2014 - 12:36

Александр, ты не указал главной фичи блока - это то, что он перехватывает чат с тегом $$ и в 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) она не работает...
Фичу я указал... С мутом и разделением на группы тоже можно разобраться... достаточно не сложно...
А за ссылочку Спасибо! :)

#13 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 742
  • Уровень сигнала: 52,19%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 10 Июль 2014 - 13:26

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

#14 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 10 Июль 2014 - 13:34

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

#15 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 742
  • Уровень сигнала: 52,19%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 10 Июль 2014 - 13:51

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

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

#16 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 10 Июль 2014 - 14:41

Т.е. компьютер может читать чат, но сам писать туда не может? VISIO 5 Drawing.gif Жаль. А то можно было бы глобальную сеть между мирами организовать.
  • Syabro это нравится

#17 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 742
  • Уровень сигнала: 52,19%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 10 Июль 2014 - 15:34

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

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

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

#18 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 10 Июль 2014 - 16:18

Обновление!

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

#19 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 11 Июль 2014 - 23:18

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

#20 Оффлайн   fenixrus

fenixrus
  • Пользователи
  • Сообщений: 27
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 16 Июль 2014 - 14:02

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

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

#21 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 742
  • Уровень сигнала: 52,19%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 16 Июль 2014 - 14:05

на том же на чем и до этого вчера все


я похож на экстрасенса?

ничего не менялось

поменялась версия мода OC и версия openOS с 1.1 на 1.2

#22 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 742
  • Уровень сигнала: 52,19%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 16 Июль 2014 - 14:19

Зашел только что, чат Сябро работает, ничего не перезагружает, странно.

#23 Оффлайн   fenixrus

fenixrus
  • Пользователи
  • Сообщений: 27
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 16 Июль 2014 - 18:48

Зашел только что, чат Сябро работает, ничего не перезагружает, странно.

легион отрубил перезагруз при краше

#24 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 16 Июль 2014 - 22:51

Alex, Ты админ на сервера! Ты обязан быть экстрасенсом сервера! Ты не знаешь что чат на CC?!

#25 Оффлайн   Legion_D

Legion_D

    BOFH

  • Пользователи
  • Сообщений: 10
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

        

Отправлено 17 Июль 2014 - 08:53

Alex, Ты админ на сервера! Ты обязан быть экстрасенсом сервера! Ты не знаешь что чат на CC?!

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

Для этого мы по сути и поддерживаем несколько серверов, один для чистой игры без неожидонастей, второй для программерских и т.п. эксперементов и поддержки развивающихся проэктов. То что не допустимо на первом сервере вполне может быть разрешено на втором.
Так же планирую поднять третий сервер в режиме unstable с самыми последними модификациями майна и модов, кто получит доступ к нему еще незнаю, но это будет оччень ограниченый круг людей.

#26 Оффлайн   Legion_D

Legion_D

    BOFH

  • Пользователи
  • Сообщений: 10
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

        

Отправлено 17 Июль 2014 - 08:58

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

#27 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 17 Июль 2014 - 09:08

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

Это какой?

#28 Оффлайн   Legion_D

Legion_D

    BOFH

  • Пользователи
  • Сообщений: 10
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

        

Отправлено 17 Июль 2014 - 13:39

Это какой?

Сейчас 1.5.2 это основной сервет (скоро будет апнут до 1.6.4), 1.6.4 серв для програминга и развития проэктов.

Тревога!!! Зайдя сегодня на севрер решил проверить чат написа "$$lol" сервер рестартнулся! Думал совподение! После нескольких тестов все стало ясно! Очки каким-то образом крашат сервер с ошибкой:

Console[: 2014-07-16 11:50:54 [WARNING] Can calculate font size
Console[: java.lang.IllegalArgumentException: input == null!
Error[: Minecraft server error. Server will be restarted.
Console[: [at javax.imageio.ImageIO.read(Unknown Source)
Console[: [at openmods.utils.render.FontSizeChecker.readFontTexture(FontSizeChecker.java:31)
Console[: [at openmods.utils.render.FontSizeChecker.<init>(FontSizeChecker.java:25)
Console[: [at openmods.utils.render.FontSizeChecker.getInstance(FontSizeChecker.java:19)
Console[: [at openperipheral.addons.glasses.GlassesRenderingUtils.getStringWidth(GlassesRenderingUtils.java:32)
Console[: [at openperipheral.addons.glasses.TileEntityGlassesBridge.getStringWidth(TileEntityGlassesBridge.java:189)
Console[: [at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Console[: [at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
Console[: [at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
Console[: [at java.lang.reflect.Method.invoke(Unknown Source)
Console[: [at openperipheral.adapter.method.MethodDeclaration$CallWrap.call(MethodDeclaration.java:259)
Console[: [at openperipheral.adapter.method.MethodDeclaration$CallWrap.call(MethodDeclaration.java:213)
Console[: [at openperipheral.adapter.peripheral.ExecutionStrategy$1.execute(ExecutionStrategy.java:132)
Console[: [at openperipheral.adapter.peripheral.PeripheralAdapterWrapper$PeripheralMethodExecutor.execute(PeripheralAdapterWrapper.java:71)
Console[: [at openperipheral.adapter.peripheral.HostedPeripheralBase.callMethod(HostedPeripheralBase.java:52)
Console[: [at dan200.computer.core.apis.PeripheralAPI$PeripheralWrapper.call(PeripheralAPI.java:122)
Console[: [at dan200.computer.core.apis.PeripheralAPI.callMethod(PeripheralAPI.java:484)
Console[: [at dan200.computer.core.LuaJLuaMachine$2.invoke(LuaJLuaMachine.java:304)
Console[: [at org.luaj.vm2.lib.VarArgFunction.onInvoke(Unknown Source)
Console[: [at org.luaj.vm2.TailcallVarargs.eval(Unknown Source)
Console[: [at org.luaj.vm2.TailcallVarargs.arg1(Unknown Source)
Console[: [at org.luaj.vm2.LuaClosure.call(Unknown Source)
Console[: [at org.luaj.vm2.LuaClosure.execute(Unknown Source)
Console[: [at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source)
Console[: [at org.luaj.vm2.LuaClosure.invoke(Unknown Source)
Console[: [at org.luaj.vm2.LuaClosure.execute(Unknown Source)
Console[: [at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source)
Console[: [at org.luaj.vm2.LuaClosure.invoke(Unknown Source)
Console[: [at org.luaj.vm2.LuaThread$State.run(Unknown Source)
Console[: [at java.lang.Thread.run(Unknown Source)
Console[: 2014-07-16 11:50:54 [INFO] [Server] Server is restart


По этой ошибке отписывайся сюда, скорее всего это бага мода
https://github.com/O...ripheral/issues

#29 Оффлайн   Syabro

Syabro
  • Автор темы
  • Пользователи
  • Сообщений: 286
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 17 Июль 2014 - 21:21

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




Количество пользователей, читающих эту тему: 0

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